diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9a76bdd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,88 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(cryptsvc C) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(EXEC_PREFIX "\${prefix}") +SET(LIBDIR "\${prefix}/lib") +SET(INCLUDEDIR "\${prefix}/include") + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED openssl dlog) + +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(source_dir "./srcs") +SET(include_dir "./include") +SET(test_dir "./test") + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${EXTRA_CFLAGS}") + +#ADD_DEFINITIONS("-DCTR_SUPPORT") # for using CTR mode +#ADD_DEFINITIONS("-DCRYPT_SVC_LOG") # for debug +#ADD_DEFINITIONS("-DCRYPTOSVC_TARGET") # to get DUK from Target + +################################################################################################################## +# for libcryptsvc.so +SET(SRCS + #${source_dir}/CryptoSvc-debug.c + ${source_dir}/SecCryptoSvc.c + #${source_dir}/SecKmBase64.c +) + +SET(libcryptsvc_LDFLAGS " -module -avoid-version ${pkgs_LDFLAGS} ") +SET(libcryptsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/include ") +SET(libcryptsvc_CPPFLAGS " -DPIC ") + +ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) + +IF("${ARCH}" MATCHES "arm") +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lssl -lcrypto -L./libs -lShpSec) +ELSEIF("${ARCH}" MATCHES "x86") +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lssl -lcrypto) +ENDIF("${ARCH}" MATCHES "arm") + + +SET_TARGET_PROPERTIES( + ${PROJECT_NAME} + PROPERTIES + SOVERSION 0 + VERSION 0.0.0 +) +################################################################################################################## + +################################################################################################################## +# for module_test +#SET(module_test_SOURCES + #${test_dir}/module_test.c + #${source_dir}/CryptoSvc-debug.c +#) + +#SET(module_test_CFLAGS " -fvisibility=hidden -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include ") +#SET(module_test_LDFALGS " -module -avoid-version ${pkgs_LDFLAGS} ") + +#ADD_EXECUTABLE(${test_dir}/module_test ${module_test_SOURCES}) +#TARGET_LINK_LIBRARIES(${test_dir}/module_test ${pkgs_LDFLAGS} cryptsvc) +#SET_TARGET_PROPERTIES(${test_dir}/module_test PROPERTIES COMPILE_FLAGS "${module_test_CFLAGS} ") +################################################################################################################## + +#FIND_PROGRAM(UNAME NAMES uname) +#EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") +IF("${ARCH}" MATCHES "arm") + #ADD_DEFINITIONS("-DTARGET") + ADD_DEFINITIONS("-DCRYPTOSVC_TARGET") + #MESSAGE("add -DTARGET") +ENDIF("${ARCH}" MATCHES "arm") + + +CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc) +INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION lib/pkgconfig) +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib) +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION /usr/include) + +ADD_DEFINITIONS(-D_bool_cryptsvc) |