Add options to LUKS1 format
[platform/core/appfw/app2sd.git] / CMakeLists.txt
index e6c7a4c..2b987cb 100644 (file)
@@ -1,23 +1,15 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(app2ext C)
-
-SET(VERSION_MAJOR 0)
-SET(VERSION "${VERSION_MAJOR}.4.2")
+PROJECT(app2ext C CXX)
 
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
-
-INCLUDE(FindPkgConfig)
 
-IF(TIZEN_FEATURE_APP2SD_PLUGIN)
-       ADD_DEFINITIONS("-DTIZEN_FEATURE_APP2SD_PLUGIN")
-       ADD_DEFINITIONS("-DTIZEN_FEATURE_APP2SD_DMCRYPT_ENCRYPTION")
-       ADD_SUBDIRECTORY(plugin/app2sd)
-ENDIF(TIZEN_FEATURE_APP2SD_PLUGIN)
+SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
 
-# app2ext library
-pkg_check_modules(app2ext_libpkgs REQUIRED dlog glib-2.0)
+INCLUDE(FindPkgConfig)
+INCLUDE(ApplyPkgConfig)
+PKG_CHECK_MODULES(app2ext_libpkgs REQUIRED dlog glib-2.0)
+PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
 
 FOREACH(flag ${app2ext_libpkgs_CFLAGS})
        SET(APP2EXT_CFLAGS "${APP2EXT_CFLAGS} ${flag}")
@@ -27,29 +19,25 @@ SET(CMAKE_C_FLAGS "${EXTRA_CFLAGS} ${APP2EXT_CFLAGS}")
 ADD_DEFINITIONS("-DLIBPREFIX=\"${LIB_INSTALL_DIR}\"")
 
 # Local include directories
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc
-       ${CMAKE_SOURCE_DIR}/common/inc)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
 
 # build app2ext library
 SET(APP2EXT "app2ext")
-SET(app2ext_src_dir "${CMAKE_SOURCE_DIR}/src")
-SET(libapp2ext_SOURCES
-       ${app2ext_src_dir}/app2ext_interface.c
-       ${CMAKE_SOURCE_DIR}/common/src/app2ext_utils.c)
-
-ADD_LIBRARY(${APP2EXT} SHARED ${libapp2ext_SOURCES})
-SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC")
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src APP2EXT_SRCS)
+
+ADD_LIBRARY(${APP2EXT} SHARED ${APP2EXT_SRCS})
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES VERSION ${FULLVER})
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC -fstack-protector-strong")
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES LINK_FLAGS "-Wl,--as-needed,-z,relro")
 TARGET_LINK_LIBRARIES(${APP2EXT} ${app2ext_libpkgs_LDFLAGS})
 
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/app2sd.manifest.in ${CMAKE_BINARY_DIR}/app2sd.manifest @ONLY)
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/app2sd.pc.in ${CMAKE_BINARY_DIR}/app2sd.pc @ONLY)
 
 INSTALL(TARGETS ${APP2EXT} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app2sd.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/app2ext_interface.h DESTINATION include)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include)
 
-IF(TIZEN_FEATURE_APP2SD_PLUGIN)
+ADD_SUBDIRECTORY(plugin/app2sd)
 ADD_SUBDIRECTORY(test)
-ENDIF(TIZEN_FEATURE_APP2SD_PLUGIN)
+ADD_SUBDIRECTORY(unit-tests)