source code open - security-server
[framework/security/security-server.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(secrutiy-server-C)
3
4 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
5 SET(EXEC_PREFIX "\${prefix}")
6 SET(LIBDIR "\${prefix}/lib")
7 SET(INCLUDEDIR "\${prefix}/include")
8 SET(VERSION_MAJOR 1)
9 SET(VERSION ${VERSION_MAJOR}.0.1)
10
11 #Verbose
12 #SET(CMAKE_VERBOSE_MAKEFILE ON)
13
14 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
15
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED dlog openssl libsmack)
18
19 FOREACH(flag ${pkgs_CFLAGS})
20         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
21 ENDFOREACH(flag)
22
23 SET(sec_svr_dir "./")
24 SET(sec_svr_include_dir "./include")
25 SET(sec_svr_src_dir "./src")
26 SET(sec_svr_test_dir "./testcases")
27
28 ## Additional flag
29 #SET(debug_type "-DSECURITY_SERVER_DEBUG_TO_CONSOLE")
30 SET(debug_type "-DSECURITY_SERVER_DEBUG_DLOG")
31 #SET(debug_type "")
32
33 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
34 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
35
36 ###################################################################################################
37 ## for libsecurity-server-client.so (library)
38 SET(libsecurity-server-client_SOURCES ${sec_svr_src_dir}/client/security-server-client.c ${sec_svr_src_dir}/communication/security-server-comm.c)
39 SET(libsecurity-server-client_LDFLAGS " -module -avoid-version")
40 SET(libsecurity-server-client_CFLAGS  " ${CFLAGS} -fPIC -I${sec_svr_include_dir} ${debug_type} -D_GNU_SOURCE ")
41 #SET(libsecurity-server-client_LIBADD "")
42
43 ADD_LIBRARY(security-server-client SHARED ${libsecurity-server-client_SOURCES})
44 TARGET_LINK_LIBRARIES(security-server-client ${pkgs_LDFLAGS})
45 SET_TARGET_PROPERTIES(security-server-client PROPERTIES SOVERSION ${VERSION_MAJOR})
46 SET_TARGET_PROPERTIES(security-server-client PROPERTIES VERSION ${VERSION})
47 SET_TARGET_PROPERTIES(security-server-client PROPERTIES COMPILE_FLAGS "${libsecurity-server-client_CFLAGS}")
48 ###################################################################################################
49
50 ###################################################################################################
51 ## for security-server (binary)
52 SET(security-server_SOURCES ${sec_svr_src_dir}/server/security-server-main.c ${sec_svr_src_dir}/communication/security-server-comm.c ${sec_svr_src_dir}/server/security-server-cookie.c ${sec_svr_src_dir}/server/security-server-password.c ${sec_svr_src_dir}/util/security-server-util-common.c )
53 SET(security-server_CFLAGS " -I/usr/include -I. -I${sec_svr_include_dir} ${debug_type} -D_GNU_SOURCE ")
54 SET(security-server_LDFLAGS ${pkgs_LDFLAGS} -lpthread)
55
56 ADD_EXECUTABLE(security-server ${security-server_SOURCES})
57 TARGET_LINK_LIBRARIES(security-server ${pkgs_LDFLAGS})
58 SET_TARGET_PROPERTIES(security-server PROPERTIES COMPILE_FLAGS "${security-server_CFLAGS}")
59 ####################################################################################################
60
61 ##FOR TEST METHOD ONLY. MUST BE DELETED ON RELEASE ############################################################
62 ## for security-server util (binary)
63 SET(sec-svr-util_SOURCES ${sec_svr_src_dir}/util/security-server-util.c ${sec_svr_src_dir}/communication/security-server-comm.c ${sec_svr_src_dir}/util/security-server-util-common.c ${sec_svr_src_dir}/server/security-server-cookie.c)
64 SET(sec-svr-util_CFLAGS " -I/usr/include -I. -I${sec_svr_include_dir} ${debug_type} -D_GNU_SOURCE ")
65 SET(sec-svr-util_LDFLAGS ${pkgs_LDFLAGS})
66
67 ADD_EXECUTABLE(sec-svr-util ${sec-svr-util_SOURCES})
68 TARGET_LINK_LIBRARIES(sec-svr-util ${pkgs_LDFLAGS})
69 SET_TARGET_PROPERTIES(sec-svr-util PROPERTIES COMPILE_FLAGS "${sec-svr-util_CFLAGS}")
70 ####################################################################################################
71
72 CONFIGURE_FILE(security-server.pc.in security-server.pc @ONLY)
73
74 INSTALL(TARGETS security-server-client DESTINATION lib)
75 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/security-server DESTINATION bin)
76 INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/sec-svr-util DESTINATION bin)
77 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/security-server.pc DESTINATION lib/pkgconfig)
78 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/security-server.h DESTINATION include/security-server)
79 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mw-list DESTINATION share/security-server)
80 INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/security-serverd DESTINATION /etc/rc.d/init.d)