You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
smartcardauth/CMakeLists.txt

125 lines
2.7 KiB

############################################
# #
# Improvements and feedbacks are welcome #
# #
# This file is released under GPL >= 3 #
# #
############################################
cmake_minimum_required( VERSION 3.1 )
#### general package setup
project( smartcardauth )
#### include essential cmake modules
include( FindPkgConfig )
include( CheckFunctionExists )
include( CheckSymbolExists )
include( CheckIncludeFile )
include( CheckLibraryExists )
include( CheckCSourceCompiles )
#### include our cmake modules
include( TDEMacros )
##### set version number ########################
tde_set_project_version( )
##### setup install paths
include( TDESetupPaths )
tde_setup_paths( )
##### optional stuff
option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
##### configure checks
include( ConfigureChecks.cmake )
###### global compiler settings
add_definitions( -DHAVE_CONFIG_H )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
##### directories
add_subdirectory( src )
##### write configure files
configure_file( config.h.cmake config.h @ONLY )
##### scriptor_standalone (executable)
file( READ scriptor_standalone.pl SCRIPTOR )
string( REPLACE "scriptor" "scriptor_standalone" SCRIPTOR_STANDALONE "${SCRIPTOR}" )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone.pl "${SCRIPTOR_STANDALONE}" )
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone
COMMAND ${PERL_PAR_PACKER}
-a ${PERL_LIB_CHIPCARD}
-o ${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone
${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone.pl
COMMENT "Build scriptor_standalone"
)
add_custom_target( scriptor_standalone-binary ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone
)
install(
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/scriptor_standalone
DESTINATION ${BIN_INSTALL_DIR}
)
##### other data
install(
DIRECTORY etc/
DESTINATION ${SYSCONF_INSTALL_DIR}
)
file( GLOB SCRIPTS usr/bin/* )
install(
PROGRAMS ${SCRIPTS}
DESTINATION ${BIN_INSTALL_DIR}
)
file( GLOB INITRAMFS_HOOKS usr/share/initramfs-tools/hooks/* )
install(
PROGRAMS ${INITRAMFS_HOOKS}
DESTINATION ${SHARE_INSTALL_PREFIX}/initramfs-tools/hooks
)
install(
DIRECTORY
usr/share/applications
usr/share/icons
DESTINATION ${SHARE_INSTALL_PREFIX}
)