rublon-ssh/PAM/ssh/lib/CMakeLists.txt
2025-09-11 12:33:20 +02:00

70 lines
1.5 KiB
CMake
Executable File

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
)