Install stuff from CMake, not from Tizen spec file
[platform/core/security/cynara.git] / CMakeLists.txt
index aa55db8..ab2cf62 100644 (file)
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
 PROJECT("cynara")
-set(CYNARA_VERSION 0.6.1)
+set(CYNARA_VERSION 0.8.0)
 
 ############################# cmake packages ##################################
 
 INCLUDE(FindPkgConfig)
 INCLUDE(CheckCXXCompilerFlag)
 
-#############################  install dirs  ##################################
+########################## search for packages ################################
 
-SET(LIB_INSTALL_DIR
+PKG_CHECK_MODULES(SYSTEMD_DEP
+    QUIET
+    libsystemd-daemon
+    libsystemd-journal
+    )
+
+IF (SYSTEMD_DEP_FOUND)
+    SET(BUILD_WITH_SYSTEMD ON)
+ENDIF (SYSTEMD_DEP_FOUND)
+
+########################  directory configuration  ############################
+
+SET(LIB_DIR
     "${CMAKE_INSTALL_PREFIX}/lib"
     CACHE PATH
-    "Library installation directory")
+    "Object code libraries directory")
 
-SET(BIN_INSTALL_DIR
+SET(BIN_DIR
     "${CMAKE_INSTALL_PREFIX}/bin"
     CACHE PATH
-    "Binary installation directory")
+    "User executables directory")
 
-SET(SBIN_INSTALL_DIR
+SET(SBIN_DIR
     "${CMAKE_INSTALL_PREFIX}/sbin"
     CACHE PATH
-    "Administrative binary installation directory")
+    "System admin executables directory")
+
+SET(SYS_CONFIG_DIR
+    "${CMAKE_INSTALL_PREFIX}/etc"
+    CACHE PATH
+    "Read-only single-machine data directory")
 
-SET(INCLUDE_INSTALL_DIR
+SET(INCLUDE_DIR
     "${CMAKE_INSTALL_PREFIX}/include"
     CACHE PATH
-    "Include installation directory")
+    "Header files directory")
+
+SET(LOCAL_STATE_DIR
+    "${CMAKE_INSTALL_PREFIX}/var"
+    CACHE PATH
+    "Modifiable single-machine data directory")
+
+SET(DATA_ROOT_DIR
+    "${CMAKE_INSTALL_PREFIX}/share"
+    CACHE PATH
+    "Read-only architecture-independent data root directory")
+
+SET(SYSTEMD_UNIT_DIR
+    "${CMAKE_INSTALL_PREFIX}/lib/systemd/system"
+    CACHE PATH
+    "Systemd system unit file directory")
+
+SET(SOCKET_DIR
+    "${CMAKE_INSTALL_PREFIX}/tmp"
+    CACHE PATH
+    "Running system information directory")
+
+ADD_DEFINITIONS("-DLIB_DIR=\"${LIB_DIR}\"")
+ADD_DEFINITIONS("-DBIN_DIR=\"${BIN_DIR}\"")
+ADD_DEFINITIONS("-DSBIN_DIR=\"${SBIN_DIR}\"")
+ADD_DEFINITIONS("-DSYS_CONFIG_DIR=\"${SYS_CONFIG_DIR}\"")
+ADD_DEFINITIONS("-DINCLUDE_DIR=\"${INCLUDE_DIR}\"")
+ADD_DEFINITIONS("-DLOCAL_STATE_DIR=\"${LOCAL_STATE_DIR}\"")
+ADD_DEFINITIONS("-DDATA_ROOT_DIR=\"${DATA_ROOT_DIR}\"")
+ADD_DEFINITIONS("-DSYSTEMD_UNIT_DIR=\"${SYSTEMD_UNIT_DIR}\"")
+ADD_DEFINITIONS("-DSOCKET_DIR=\"${SOCKET_DIR}\"")
 
 ############################# compiler flags ##################################
 
@@ -59,13 +106,15 @@ SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -g --coverage")
 
 # Check for C++11 support and enable proper compilation flags
 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
 IF(COMPILER_SUPPORTS_CXX11)
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-ELSEIF(COMPILER_SUPPORTS_CXX0X)
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
 ELSE()
-    MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
+    CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
+    IF(COMPILER_SUPPORTS_CXX0X)
+        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+    ELSE()
+        MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
+    ENDIF()
 ENDIF()
 
 # Set compiler warning flags
@@ -76,11 +125,17 @@ ADD_DEFINITIONS("-Wextra")                      # Generate even more extra warni
 # Don't export symbols by default
 ADD_DEFINITIONS("-fvisibility=hidden")
 
+# Export version of cynara
+ADD_DEFINITIONS("-DCYNARA_VERSION=\"${CYNARA_VERSION}\"")
 
 IF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
     ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG")
 ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG")
 
+IF (BUILD_WITH_SYSTEMD)
+    ADD_DEFINITIONS("-DBUILD_WITH_SYSTEMD")
+ENDIF (BUILD_WITH_SYSTEMD)
+
 SET(TARGET_CYNARA "cynara")
 SET(TARGET_LIB_CYNARA "cynara-client")
 SET(TARGET_LIB_CYNARA_ASYNC "cynara-client-async")
@@ -100,9 +155,14 @@ SET(TARGET_CHSGEN "cynara-db-chsgen")
 
 ADD_SUBDIRECTORY(src)
 ADD_SUBDIRECTORY(pkgconfig)
-ADD_SUBDIRECTORY(systemd)
+ADD_SUBDIRECTORY(conf)
+
+IF (BUILD_WITH_SYSTEMD)
+    ADD_SUBDIRECTORY(systemd)
+ENDIF (BUILD_WITH_SYSTEMD)
+
 ADD_SUBDIRECTORY(migration)
 
 IF (BUILD_TESTS)
-ADD_SUBDIRECTORY(test)
-ENDIF()
+    ADD_SUBDIRECTORY(test)
+ENDIF (BUILD_TESTS)