1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(dukgenerator C)
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
9 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc)
11 #INCLUDE(FindPkgConfig)
12 #pkg_check_modules(pkgs REQUIRED openssl libcryptsvc-devel)
14 FOREACH(flag ${pkgs_CFLAGS})
15 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 SET(source_dir "./src")
19 SET(include_dir "./inc")
21 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
22 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
23 SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${EXTRA_CFLAGS}")
25 ##################################################################################################################
27 ${source_dir}/dukgen.c
30 SET(libcryptsvc_LDFLAGS " -module -avoid-version ${pkgs_LDFLAGS} ")
31 SET(libcryptsvc_CFLAGS " ${CFLAGS} -fvisibility=hidden -g -fPIC -I${CMAKE_CURRENT_SOURCE_DIR}/inc ")
32 SET(libcryptsvc_CPPFLAGS " -DPIC ")
34 #ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
35 ADD_LIBRARY(${PROJECT_NAME} ${SRCS})
36 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lssl -lcrypto -lcryptsvc)
37 SET_TARGET_PROPERTIES(
43 ##################################################################################################################
45 FIND_PROGRAM(UNAME NAMES uname)
46 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
47 IF("${ARCH}" STREQUAL "arm")
48 ADD_DEFINITIONS("-DTARGET")
49 MESSAGE("add -DTARGET")
50 ENDIF("${ARCH}" STREQUAL "arm")
52 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc)
53 INSTALL(FILES ${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
54 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
55 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION /usr/include)
57 ADD_DEFINITIONS(-D_bool_cryptsvc)