X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=3c93453e14d9edb94d82d89c7c5a03baeedc7ebf;hb=414dc90249f554ded7bb8e001d5a1c8492f51184;hp=a0d3db6517bfaca026bf76e9aaef84cbab9936c6;hpb=7678bfc942bd501f8e121ff153d1852d73578257;p=staging%2Fwindowmanager.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a0d3db6..3c93453 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,16 +1,32 @@ +# +# Copyright (C) 2017 Mentor Graphics Development (Deutschland) GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + wlproto(IVI_CON ivi-controller) include(FindPkgConfig) -pkg_check_modules(AFB REQUIRED afb-daemon==1.0) +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_api.hpp afb_binding.inl - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding.py - COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/../generate-binding.py) + 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 @@ -18,7 +34,31 @@ add_library(winman MODULE wayland.hpp util.cpp util.hpp - ${IVI_CON_PROTO} json_helper.cpp json_helper.hpp app.hpp app.cpp result.hpp afb_api.hpp afb_binding.inl) + 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 + policy.hpp) + +add_executable(redraw_fixer + redraw_fixer.cpp + ${IVI_CON_PROTO} + wayland.cpp + wayland.hpp + controller_hooks.hpp + util.cpp + util.hpp) target_include_directories(winman PRIVATE @@ -27,6 +67,10 @@ target_include_directories(winman ../include ../src) +target_link_libraries(redraw_fixer + PRIVATE + ${WLC_LIBRARIES}) + target_link_libraries(winman PRIVATE ${AFB_LIBRARIES} @@ -41,10 +85,18 @@ target_compile_definitions(winman WINMAN_VERSION_STRING="${PACKAGE_VERSION}" _GNU_SOURCE) # XXX should I define this here?! +target_compile_definitions(redraw_fixer + PRIVATE + DO_NOT_USE_AFB # override log* AFB macros + _GNU_SOURCE) + if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Release") target_compile_definitions(winman PRIVATE _GLIBCXX_DEBUG) + target_compile_definitions(redraw_fixer + PRIVATE + _GLIBCXX_DEBUG) endif() target_compile_options(winman @@ -53,7 +105,7 @@ target_compile_options(winman set_target_properties(winman PROPERTIES - INTERPROCEDURAL_OPTIMIZATION ON + # INTERPROCEDURAL_OPTIMIZATION ON CXX_EXTENSIONS OFF CXX_STANDARD 14 @@ -63,7 +115,16 @@ set_target_properties(winman C_STANDARD 99 C_STANDARD_REQUIRED ON - LINK_FLAGS "-Wl,--version-script=../../export.map") + 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++") + set_target_properties(redraw_fixer + PROPERTIES + LINK_FLAGS "-lc++") +endif() if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") target_compile_options(winman @@ -73,3 +134,13 @@ if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") PROPERTIES LINK_FLAGS "-fsanitize=${SANITIZER_MODE} -g") endif() + +install( + TARGETS winman + DESTINATION ${CMAKE_INSTALL_PREFIX}/AGL/WindowManagerTMC + COMPONENT "runtime") + +install( + TARGETS redraw_fixer + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT "runtime")