1project(ckteec C) 2 3set(MAJOR_VERSION 0) 4set(MINOR_VERSION 1) 5set(PATCH_VERSION 0) 6 7set(PROJECT_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}") 8 9################################################################################ 10# Packages 11################################################################################ 12find_package(Threads REQUIRED) 13if(NOT THREADS_FOUND) 14 message(FATAL_ERROR "Threads not found") 15endif() 16 17include(GNUInstallDirs) 18 19################################################################################ 20# Source files 21################################################################################ 22set (SRC 23 src/pkcs11_api.c 24 src/ck_debug.c 25 src/ck_helpers.c 26 src/invoke_ta.c 27 src/pkcs11_processing.c 28 src/pkcs11_token.c 29 src/serializer.c 30 src/serialize_ck.c 31) 32 33################################################################################ 34# Built library 35################################################################################ 36add_library (ckteec ${SRC}) 37 38set_target_properties (ckteec PROPERTIES 39 VERSION ${PROJECT_VERSION} 40 SOVERSION ${MAJOR_VERSION} 41) 42 43################################################################################ 44# Flags always set 45################################################################################ 46target_compile_definitions (ckteec 47 PRIVATE -D_GNU_SOURCE 48 PRIVATE -DBINARY_PREFIX="LT" 49) 50 51################################################################################ 52# Optional flags 53################################################################################ 54 55################################################################################ 56# Public and private header and library dependencies 57################################################################################ 58target_include_directories(ckteec 59 PUBLIC include 60 PRIVATE src 61) 62 63target_include_directories(teec 64 PUBLIC include 65) 66 67target_link_libraries (ckteec 68 PRIVATE pthread 69 PRIVATE teec 70 PRIVATE m 71) 72 73################################################################################ 74# Install targets 75################################################################################ 76install (TARGETS ckteec 77 DESTINATION ${CMAKE_INSTALL_LIBDIR} 78) 79 80add_subdirectory(include) 81