CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(org.tizen.multi-assistant-service CXX C) # DEFAULT DATA SET ( PACKAGE "org.tizen.multi-assistant-service") SET ( PKGNAME ${PACKAGE}) SET ( PREFIX ${CMAKE_INSTALL_PREFIX}) SET ( BINDIR "${PREFIX}/bin") SET ( RESDIR "${PREFIX}/res") SET ( LIBDIR "${PREFIX}/lib") SET ( SHARED_RESDIR "${PREFIX}/shared/res") SET ( BINNAME org.tizen.multi-assistant-service) # SET FLAG --------------------------------------------------------------------------------------- # Find Packages INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED capi-appfw-application capi-appfw-app-manager capi-appfw-package-manager capi-appfw-preference capi-appfw-service-application capi-media-audio-io capi-network-connection dlog ecore capi-message-port dbus-1 glib-2.0 libxml-2.0 multi-assistant vconf pkgmgr-info ) # SET FLAG --------------------------------------------------------------------------------------- FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro -fPIE -pie -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wl,-z,relro -fPIE -pie -fvisibility=hidden") # SET WARNNING OPTION ---------------------------------------------------------------------------- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") IF(NOT "${TEST_TYPE}" STREQUAL "none") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_TYPE=${TEST_TYPE}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_TYPE=${TEST_TYPE}") ENDIF() SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_TRUSTED_MESSAGE_PORT=${USE_TRUSTED_MESSAGE_PORT}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_TRUSTED_MESSAGE_PORT=${USE_TRUSTED_MESSAGE_PORT}") # OPTION DEBUG ----------------------------------------------------------------------------------- IF("${_SDEBUG}" MATCHES "debug") MESSAGE("Building in debug mode.") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -O0") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG} -O0") ELSE() MESSAGE("Building in release mode.") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}") ENDIF() LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc) SET(SRCS src/service_config.cpp src/application_manager_aul.cpp src/preference_manager_vconf.cpp src/client_manager.cpp src/package_update_monitor.cpp src/service_main.cpp src/service_plugin.cpp src/service_ipc_dbus.cpp src/service_ipc_dbus_dispatcher.cpp src/main.cpp ) ADD_EXECUTABLE(${BINNAME} ${SRCS}) INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages) INSTALL(TARGETS ${BINNAME} DESTINATION ${BINDIR}) TARGET_LINK_LIBRARIES(${BINNAME} -ldl ${pkgs_LDFLAGS} ${EXTRA_LDFLAGS}) ADD_SUBDIRECTORY(plugins) IF(NOT "${TEST_TYPE}" STREQUAL "none") ENABLE_TESTING() ADD_SUBDIRECTORY(tests) ENDIF()