cmake_minimum_required(VERSION 3.15) project(pam_usercontainer LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_library(pam_usercontainer SHARED src/pam_module.cpp src/auth_client.cpp) set_target_properties(pam_usercontainer PROPERTIES OUTPUT_NAME "pam_usercontainer" PREFIX "" ) target_compile_options(pam_usercontainer PRIVATE $<$:-Wall -Wextra> $<$:-Wall -Wextra> ) target_include_directories(pam_usercontainer PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) # Link to Rust staticlib add_dependencies(pam_usercontainer rust_backend_build) set(RUST_STATICLIB "${CMAKE_BINARY_DIR}/rust-backend/target/release/librust_backend.a") target_link_libraries(pam_usercontainer PRIVATE ${RUST_STATICLIB}) # Install target install(TARGETS pam_usercontainer DESTINATION lib/security)