X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CMakeLists.txt;fp=CMakeLists.txt;h=853f5fee141a5228a219c9d8c50c0b016e89c0b8;hb=0e2b5f5b7fa3a09abf61c8253efce7c7f2b4c444;hp=f5c6d2aeb477280afc27559f248518dd1939a520;hpb=f2f086fa99e47ca8b3001831ea3548f8758e1222;p=src%2Fapp-framework-binder.git diff --git a/CMakeLists.txt b/CMakeLists.txt index f5c6d2ae..853f5fee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,16 +39,54 @@ INCLUDE(CTest) ########################################################################### # possible settings -option(AGL_DEVEL "Activates developping features" OFF) -option(WITH_SYSTEMD "Require use of libsystemd" ON) - -option(INCLUDE_MONITORING "Activates installation of monitoring" OFF) +option(ONLY_DEVTOOLS "Produces only development tools" OFF) +option(AGL_DEVEL "Activates developping features" OFF) +option(WITH_SYSTEMD "Require use of libsystemd" ON) + +############################################################################ + +option(WITH_SIG_MONITOR_DUMPSTACK "Activate dump stack on error" ON) +option(WITH_SIG_MONITOR_SIGNALS "Activate handling of signals" ON) +option(WITH_SIG_MONITOR_FOR_CALL "Activate monitoring of calls" ON) +option(WITH_SIG_MONITOR_TIMERS "Activate monitoring of call expiration" ON) +option(WITH_AFB_HOOK "Include hooking" ON) +option(WITH_AFB_TRACE "Include monitoring trace" ON) +option(WITH_SUPERVISOR "Activates installation of supervisor" OFF) +option(WITH_MONITORING "Activates installation of monitoring" OFF) +option(WITH_DBUS_TRANSPARENCY "Allows API transparency over DBUS" OFF) +option(WITH_LEGACY_BINDING_V1 "Includes the legacy Binding API version 1" OFF) +option(WITH_LEGACY_BINDING_V2 "Includes the legacy Binding API version 2" ON) +option(WITH_LEGACY_BINDING_VDYN "Includes the legacy Binding API version dynamic" OFF) +option(WITH_DYNAMIC_BINDING "Allow to load dynamic bindings (shared libraries)" ON) +option(WITH_LIBMICROHTTPD "Activates HTTP server through LIBMICROHTTPD" ON) + +############################################################################ +# legacy options option(INCLUDE_SUPERVISOR "Activates installation of supervisor" OFF) +option(INCLUDE_MONITORING "Activates installation of monitoring" OFF) option(INCLUDE_DBUS_TRANSPARENCY "Allows API transparency over DBUS" OFF) option(INCLUDE_LEGACY_BINDING_V1 "Includes the legacy Binding API version 1" OFF) option(INCLUDE_LEGACY_BINDING_VDYN "Includes the legacy Binding API version dynamic" OFF) +if(INCLUDE_SUPERVISOR) + set(WITH_SUPERVISOR ON) +endif() +if(INCLUDE_MONITORING) + set(WITH_MONITORING ON) +endif() +if(INCLUDE_DBUS_TRANSPARENCY) + set(WITH_DBUS_TRANSPARENCY ON) +endif() +if(INCLUDE_LEGACY_BINDING_V1) + set(WITH_LEGACY_BINDING_V1 ON) +endif() +if(INCLUDE_LEGACY_BINDING_VDYN) + set(WITH_LEGACY_BINDING_VDYN ON) +endif() + +########################################################################### + set(AFS_SUPERVISION_SOCKET "@urn:AGL:afs:supervision:socket" CACHE STRING "Internal socket for supervision") set(AFS_SUPERVISOR_PORT 1619 CACHE STRING "Port of service for the supervisor") set(AFS_SUPERVISOR_TOKEN HELLO CACHE STRING "Secret token for the supervisor") @@ -75,61 +113,54 @@ set(CMAKE_C_FLAGS_CCOV "-g -O2 --coverage") ########################################################################### +if(ONLY_DEVTOOLS) + set(WITH_LIBMICROHTTPD OFF) + set(WITH_SYSTEMD OFF) +endif(ONLY_DEVTOOLS) + +if(NOT WITH_LIBMICROHTTPD) + set(WITH_MONITORING OFF) +endif() +########################################################################### + INCLUDE(FindThreads) FIND_PACKAGE(Threads) PKG_CHECK_MODULES(json-c REQUIRED json-c) - -CHECK_INCLUDE_FILES(magic.h HAVE_MAGIC_H) -CHECK_LIBRARY_EXISTS(magic magic_load "" HAVE_LIBMAGIC_SO) -IF(HAVE_MAGIC_H) - IF(HAVE_LIBMAGIC_SO) - SET(HAVE_LIBMAGIC "1") - SET(LIBMAGIC_LDFLAGS -lmagic) - ENDIF(HAVE_LIBMAGIC_SO) -ENDIF(HAVE_MAGIC_H) - -PKG_CHECK_MODULES(libsystemd libsystemd>=222) -PKG_CHECK_MODULES(libmicrohttpd libmicrohttpd>=0.9.60) -PKG_CHECK_MODULES(openssl openssl) PKG_CHECK_MODULES(uuid uuid) PKG_CHECK_MODULES(cynara cynara-client) -ADD_DEFINITIONS("-DAFS_SUPERVISION_SOCKET=\"${AFS_SUPERVISION_SOCKET}\"") -ADD_DEFINITIONS("-DAFS_SUPERVISOR_TOKEN=\"${AFS_SUPERVISOR_TOKEN}\"") -ADD_DEFINITIONS("-DAFS_SUPERVISOR_PORT=${AFS_SUPERVISOR_PORT}") +if(WITH_LIBMICROHTTPD) -IF(cynara_FOUND) + CHECK_INCLUDE_FILES(magic.h HAVE_MAGIC_H) + CHECK_LIBRARY_EXISTS(magic magic_load "" HAVE_LIBMAGIC_SO) + if(HAVE_MAGIC_H AND HAVE_LIBMAGIC_SO) + SET(HAVE_LIBMAGIC "1") + SET(LIBMAGIC_LDFLAGS -lmagic) + else() + MESSAGE(FATAL_ERROR "\"magic.h\" or \"libmagic.so\" missing. + Please install the \"file-devel\" or \"libmagic-dev\" package !") + endif() + PKG_CHECK_MODULES(libmicrohttpd REQUIRED libmicrohttpd>=0.9.60) + PKG_CHECK_MODULES(openssl REQUIRED openssl) +endif(WITH_LIBMICROHTTPD) + +if(cynara_FOUND) ADD_DEFINITIONS(-DBACKEND_PERMISSION_IS_CYNARA) -ENDIF(cynara_FOUND) +endif(cynara_FOUND) -IF(NOT libsystemd_FOUND AND NOT WITH_SYSTEMD) - set(libsystemd_FOUND 1) -ENDIF() -IF(HAVE_LIBMAGIC AND libsystemd_FOUND AND libmicrohttpd_FOUND AND openssl_FOUND AND uuid_FOUND) -ELSE() - IF(NOT HAVE_LIBMAGIC) - MESSAGE(WARNING "\"magic.h\" or \"libmagic.so\" missing. - Please install the \"file-devel\" or \"libmagic-dev\" package !") - ENDIF(NOT HAVE_LIBMAGIC) - IF(NOT libsystemd_FOUND) - MESSAGE(WARNING "Dependency to 'libsystemd' is missing") - ENDIF() - IF(NOT libmicrohttpd_FOUND) - MESSAGE(WARNING "Dependency to 'libmicrohttpd' is missing") - ENDIF() - IF(NOT openssl_FOUND) - MESSAGE(WARNING "Dependency to 'openssl' is missing") - ENDIF() +if(WITH_SYSTEMD) + PKG_CHECK_MODULES(libsystemd REQUIRED libsystemd>=222) +else() + PKG_CHECK_MODULES(libsystemd libsystemd>=222) +endif(WITH_SYSTEMD) + +IF(NOT ONLY_DEVTOOLS) IF(NOT uuid_FOUND) - MESSAGE(WARNING "Dependency to 'uuid' is missing") - ENDIF() - IF(NOT ONLY_DEVTOOLS) - MESSAGE(FATAL_ERROR "Can't compile the binder, either define ONLY_DEVTOOLS or install dependencies") + MESSAGE(FATAL_ERROR "Dependency to 'uuid' is missing") ENDIF() ENDIF() -ADD_DEFINITIONS(-DUSE_MAGIC_MIME_TYPE) ADD_DEFINITIONS(-DAFB_VERSION="${PROJECT_VERSION}") INCLUDE_DIRECTORIES( @@ -154,7 +185,7 @@ SET(link_libraries ${LIBMAGIC_LDFLAGS} -ldl -lrt - ) +) ADD_SUBDIRECTORY(src/devtools) @@ -165,8 +196,7 @@ ELSE() ########################################################################### # activates the monitoring by default - if(INCLUDE_MONITORING AND NOT ONLY_DEVTOOLS) - add_definitions(-DWITH_MONITORING_OPTION) + if(WITH_MONITORING) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test/monitoring DESTINATION