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