rublon-ssh/CMakeLists.txt
rublon-bwi 2c134435e8
Bwi/v2.0.4 (#12)
* Allow 9 digits long passcode for passcode bypass

* Change name of 'Mobile Passcode' to 'Passcode'

* Do not display any prompt when user is waiting

* Add autopushPrompt option

* Change name OTP method

* Change enrolement message handling

* Addded postrm script

* [bugfix] Restart sshd service after rublon package instalation

* Rename 01_rublon_ssh.conf to 01-rublon-ssh.conf

* Prepared scripts for generating rpm for alma nad rocky

* Adding public key authentication option

* Add postinst script and ssh configuration for using pubkey

* Add GCC 7 compatybility

* Cleanup includes, cleanup std::array usage

* Add Static String implementation

* Remove memory_resources

* Add monotonic_buffer_resource in experimental c++ imlpementation

* Use case insensitive map

* Remove not needed code

* Stop using deprecated SHA256 functions

* Changed app verstion to v2.0.4

* Fixed postinst script for ubuntu

* CHanged vangrantfile not to show gui

* Refactor cpack + add component builds for rpm based distros
2024-10-23 11:02:49 +02:00

68 lines
1.8 KiB
CMake
Executable File

cmake_minimum_required(VERSION 3.5)
project(rublon-ssh LANGUAGES CXX)
include(CTest)
include(GNUInstallDirs)
set(PROJECT_VERSION_MAJOR 2)
set(PROJECT_VERSION_MINOR 0)
set(PROJECT_VERSION_PATCH 4)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS NO)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
add_compile_options(-Wall -Wextra -Wpedantic -Wno-format-security)
option(ENABLE_TESTS "Enable tests" OFF)
add_custom_target(CONFIG_IDE SOURCES ${CMAKE_CURRENT_LIST_DIR}/rsc/rublon.config.defaults)
add_custom_target(INSTSCRIPTS_IDE SUORCES ${CMAKE_CURRENT_LIST_DIR}/service/helpers/postinst)
# TODO configure to fill sysconfdir in postinst
# TODO add postrm that will disable PAM
execute_process (
COMMAND bash -c "awk -F= '/^ID=/{print $2}' /etc/os-release |tr -d '\n' | tr -d '\"'"
OUTPUT_VARIABLE outOS
)
install(
FILES
${CMAKE_CURRENT_LIST_DIR}/rsc/rublon.config.defaults
${CMAKE_CURRENT_LIST_DIR}/service/01-rublon-ssh_pubkey.conf.default
${CMAKE_CURRENT_LIST_DIR}/service/01-rublon-ssh.conf.default
DESTINATION
share/rublon
COMPONENT
PAM
PERMISSIONS
OWNER_READ
OWNER_WRITE
GROUP_READ
)
if (NOT ${outOS} MATCHES "ubuntu" OR NOT ${outOS} MATCHES "debian" OR NOT ${outOS} MATCHES "FREEBSD")
install(
FILES
${CMAKE_CURRENT_LIST_DIR}/service/login_rublon.mod
${CMAKE_CURRENT_LIST_DIR}/service/login_rublon.pp
${CMAKE_CURRENT_LIST_DIR}/service/login_rublon.te
${CMAKE_CURRENT_LIST_DIR}/service/pam_service.txt
${CMAKE_CURRENT_LIST_DIR}/service/rublon_veritas
DESTINATION
share/rublon
COMPONENT
PAM
PERMISSIONS
OWNER_READ
OWNER_WRITE
GROUP_READ
)
endif()
if (${ENABLE_TESTS})
enable_testing()
endif()
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/PAM/ssh)
include(${CMAKE_CURRENT_LIST_DIR}/pack.cmake)