X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=0ef0eb5577a89ed5376a924408f9520a220ddabb;hb=2f864ac5289e8426f1d0c91c264a6a274047245b;hp=2b813674315de218c742e4c893d787f092ec6244;hpb=cb5568e11bbe2d499d4d43dc30a779a5869b12ea;p=staging%2Fwindowmanager.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2b81367..0ef0eb5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,19 +1,56 @@ wlproto(IVI_CON ivi-controller) -add_executable(winman +include(FindPkgConfig) +pkg_check_modules(AFB REQUIRED afb-daemon) +pkg_check_modules(SD REQUIRED libsystemd>=222) + +# We do not want a prefix for our module +set(CMAKE_SHARED_MODULE_PREFIX "") + +add_custom_command( + OUTPUT afb_binding_api.hpp afb_binding_glue.inl + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py + COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding-glue.py) + +add_library(winman MODULE main.cpp wayland.cpp wayland.hpp util.cpp util.hpp - ${IVI_CON_PROTO}) + layout.cpp + layout.hpp + ${IVI_CON_PROTO} + json_helper.cpp + json_helper.hpp + app.hpp app.cpp + afb_binding_api.cpp + result.hpp + afb_binding_api.hpp + afb_binding_glue.inl layers.cpp layers.hpp controller_hooks.hpp config.cpp config.hpp) + +target_include_directories(winman + PRIVATE + ${AFB_INCLUDE_DIRS} + ${SD_INCLUDE_DIRS} + ../include + ../src) + +target_link_libraries(winman + PRIVATE + ${AFB_LIBRARIES} + ${WLC_LIBRARIES} + ${SD_LIBRARIES}) target_compile_definitions(winman PRIVATE + AFB_BINDING_VERSION=2 + # We do not want source location of messages + AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS WINMAN_VERSION_STRING="${PACKAGE_VERSION}" _GNU_SOURCE) # XXX should I define this here?! -if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") +if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Release") target_compile_definitions(winman PRIVATE _GLIBCXX_DEBUG) @@ -25,7 +62,7 @@ target_compile_options(winman set_target_properties(winman PROPERTIES - INTERPROCEDURAL_OPTIMIZATION ON + # INTERPROCEDURAL_OPTIMIZATION ON CXX_EXTENSIONS OFF CXX_STANDARD 14 @@ -33,7 +70,15 @@ set_target_properties(winman C_EXTENSIONS OFF C_STANDARD 99 - C_STANDARD_REQUIRED ON) + C_STANDARD_REQUIRED ON + + LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map") + +if (LINK_LIBCXX) + set_target_properties(winman + PROPERTIES + LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/../export.map -lc++") +endif() if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") target_compile_options(winman @@ -43,6 +88,3 @@ if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") PROPERTIES LINK_FLAGS "-fsanitize=${SANITIZER_MODE} -g") endif() - -target_link_libraries(winman - ${WLC_LIBRARIES})