CMAKE_MINIMUM_REQUIRED(VERSION 2.6) #PROJECT(privacy-guard-setting) FIND_PACKAGE(Threads REQUIRED) SET(CMAKE_INSTALL_PREFIX /usr) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR ${INCLUDE_INSTALL_DIR}) INCLUDE(FindPkgConfig) pkg_check_modules(privacy-guard-setting REQUIRED dlog sqlite3 dbus-1 libtzplatform-config libpcre) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS_PROFILING " -g -pg") SET(CMAKE_CXX_FLAGS_PROFILING " -std=c++0x -g -pg") SET(CMAKE_C_FLAGS_DEBUG " -g") SET(CMAKE_CXX_FLAGS_DEBUG " -std=c++0x -g") SET(CMAKE_C_FLAGS_RELEASE " -g") SET(CMAKE_CXX_FLAGS_RELEASE " -std=c++0x -g") SET(CMAKE_C_FLAGS_CCOV " -g --coverage") SET(CMAKE_CXX_FLAGS_CCOV " -std=c++0x -g --coverage") SET(setting_src_dir "${CMAKE_SOURCE_DIR}/setting/src") SET(setting_include_dir "${CMAKE_SOURCE_DIR}/setting/inc/") SET(common_src_dir "${CMAKE_SOURCE_DIR}/common/src/") SET(common_include_dir "${CMAKE_SOURCE_DIR}/common/inc/") SET(extern_include_dir "${CMAKE_SOURCE_DIR}/include/") SET(ahocorasick_dir "${CMAKE_SOURCE_DIR}/ahocorasick/") ## Additional flag ADD_DEFINITIONS("-fvisibility=hidden") ADD_DEFINITIONS("-Wall -Werror") ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED") ADD_DEFINITIONS("-D_PRIVACY_GUARD_DEBUG") ################################################################################################### ## for libprivacy-guard-setting INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS} ${setting_include_dir} ${common_include_dir} ${extern_include_dir}) SET(PRIVACY_GUARD_SETTING_SOURCES ${common_src_dir}/SocketClient.cpp ${common_src_dir}/SocketConnection.cpp ${common_src_dir}/SocketStream.cpp ${common_src_dir}/PrivacyIdInfo.cpp ${common_src_dir}/DlpUtils.cpp ${common_src_dir}/Utils.cpp ${common_src_dir}/privacy_guard_utils.c ${setting_src_dir}/PrivacyGuardClient.cpp ${setting_src_dir}/privacy_guard_client.cpp ${ahocorasick_dir}/ahocorasick.c ${ahocorasick_dir}/node.c ) SET(PRIVACY_GUARD_SETTING_HEADERS ${setting_include_dir}/PrivacyGuardClient.h ${setting_include_dir}/privacy_guard_client_internal.h ) SET(PRIVACY_GUARD_EXTERN_HEADERS ${extern_include_dir}/privacy_guard_client.h ${extern_include_dir}/privacy_guard_client_types.h ) SET(PRIVACY_GUARD_SETTING_LDFLAGS " -module -avoid-version ") SET(PRIVACY_GUARD_SETTING_CFLAGS " ${CFLAGS} -fPIC ") ADD_DEFINITIONS("-DLOG_TAG=\"PRIVACY-GUARD-SETTING\"") ADD_LIBRARY(privacy-guard-setting SHARED ${PRIVACY_GUARD_SETTING_SOURCES}) TARGET_LINK_LIBRARIES(privacy-guard-setting -pthread ${pkgs_LDFLAGS} ${pkgs_LIBRARIES}) SET_TARGET_PROPERTIES(privacy-guard-setting PROPERTIES COMPILE_FLAGS "${PRIVACY_GUARD_SETTING_CFLAGS}") SET_TARGET_PROPERTIES(privacy-guard-setting PROPERTIES SOVERSION ${API_VERSION}) SET_TARGET_PROPERTIES(privacy-guard-setting PROPERTIES VERSION ${VERSION}) ################################################################################################### SET(PC_NAME privacy-guard-setting) SET(PC_DESCRIPTION "Privacy Guard Setting API") SET(PC_LDFLAGS -lprivacy-guard-setting -lpcre) SET(PC_CFLAGS -I\${includedir}/privacy_guard) CONFIGURE_FILE(../privacy-guard-setting.pc.in privacy-guard-setting.pc @ONLY) INSTALL(TARGETS privacy-guard-setting DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/privacy-guard-setting.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) INSTALL(FILES ${PRIVACY_GUARD_SETTING_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/privacy_guard/setting) INSTALL(FILES ${PRIVACY_GUARD_EXTERN_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/privacy_guard)