add_library(rublon-ssh SHARED pam.cpp ) set_target_properties(rublon-ssh PROPERTIES PREFIX "") set_target_properties(rublon-ssh PROPERTIES OUTPUT_NAME "pam_rublon") target_compile_options(rublon-ssh PUBLIC -flto ) target_link_options(rublon-ssh PUBLIC -fpic -flto ) target_include_directories(rublon-ssh PUBLIC SYSTEM ${rapidjson_SOURCE_DIR}/include ) target_link_libraries(rublon-ssh PUBLIC rublon-ssh-ifc websockets -lcurl -lssl -lcrypto ) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 8.5) target_link_libraries(rublon-ssh PUBLIC -lstdc++fs ) endif() execute_process ( COMMAND bash -c "awk -F= '/^ID=/{print $2}' /etc/os-release |tr -d '\n' | tr -d '\"'" OUTPUT_VARIABLE outOS ) if(${outOS} MATCHES "centos|rhel|alma|rocky" ) message(INFO " detected rhel base system") set(_destination /usr/lib64/security/) elseif(${outOS} MATCHES "opensuse-leap" ) message(INFO " detected suse base system") set(_destination /lib64/security/) elseif(${outOS} MATCHES "debian|ubuntu") if(TARGET_ARCH STREQUAL "ARM64") message(INFO " detected debian arm64 based system") set(_destination /usr/lib/security/) else() message(INFO " detected debian based system") set(_destination /usr/lib/x86_64-linux-gnu/security/) endif() endif() install( TARGETS rublon-ssh DESTINATION ${_destination} COMPONENT PAM )