cmake_minimum_required(VERSION 3.5) project(rublon-ssh LANGUAGES CXX) include(CTest) include(GNUInstallDirs) set(PROJECT_VERSION_MAJOR 2) set(PROJECT_VERSION_MINOR 1) set(PROJECT_VERSION_PATCH 0) set(RUBLON_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED YES) set(CMAKE_CXX_EXTENSIONS NO) set(CMAKE_POSITION_INDEPENDENT_CODE YES) add_compile_options(-Wall -Wextra -Wno-format-security) add_compile_definitions(RUBLON_VERSION_STRING="${RUBLON_VERSION_STRING}") 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) 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)