X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CMakeLists.txt;h=c052d54ec0806704a7d61004fb67d9e91efc365d;hb=6fdda786876d9640a6a26f05ef2c5aa7e2175421;hp=1654333665e2f4106060f926ed2bca1fb68ef5fb;hpb=c78a62c85c55e5bd8683792dbf86b6188349d921;p=staging%2Fwindowmanager.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1654333..c052d54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,22 @@ +# +# 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. +# + cmake_minimum_required(VERSION 2.8) -project(TMCAGLWM) +project(WindowManagerTMC) set(PACKAGE_VERSION_MAJOR 0) set(PACKAGE_VERSION_MINOR 0) @@ -8,12 +24,15 @@ set(PACKAGE_VERSION_REVISION 1) set(PACKAGE_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_REVISION}") find_package(PkgConfig REQUIRED) +include(GNUInstallDirs) pkg_check_modules(WLC wayland-client>=1.11.0 REQUIRED) -find_program(WLSCAN NAMES wayland-scanner) - macro(wlproto var_basename proto_xml_basename) + if("${WLSCAN}" STREQUAL "") + find_program(WLSCAN NAMES wayland-scanner) + endif() + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/protocol) set(proto_dir "${CMAKE_CURRENT_SOURCE_DIR}/protocol") elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../protocol) @@ -40,6 +59,7 @@ macro(wlproto var_basename proto_xml_basename) include_directories(${CMAKE_CURRENT_BINARY_DIR}) endmacro() +# Should modernize the following somehow... set(ENABLE_DEBUG_OUTPUT OFF CACHE BOOL "Enable debug logging") if(ENABLE_DEBUG_OUTPUT) add_definitions(-DDEBUG_OUTPUT) @@ -47,16 +67,24 @@ else() remove_definitions(-DDEBUG_OUTPUT) endif() -add_definitions(-D_GNU_SOURCE) - -set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-comment -Wno-unused-parameter -fvisibility=hidden -std=c99 ${CMAKE_C_FLAGS}") -set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-comment -Wno-unused-parameter -fvisibility=hidden -std=c++14 ${CMAKE_CXX_FLAGS}") +# Should modernize the following somehow... +set(ENABLE_SCOPE_TRACING OFF CACHE BOOL "Enable scope enter/leave messages for certain parts of the code.") +if(ENABLE_SCOPE_TRACING) + add_definitions(-DSCOPE_TRACING) +else() + remove_definitions(-DSCOPE_TRACING) +endif() set(SANITIZER_MODE "none" CACHE STRING "Build using a specific sanitizer (e.g. 'address', 'thread', 'leak', 'undefined'), depends on compiler; default none") -if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=${SANITIZER_MODE} -g -fno-omit-frame-pointer") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${SANITIZER_MODE} -g") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fsanitize=${SANITIZER_MODE} -g") -endif() +set(LINK_LIBCXX OFF CACHE BOOL "Link against LLVMs libc++") + +add_subdirectory(client-lib) +add_subdirectory(doc) +add_subdirectory(scripts) add_subdirectory(src) + +install( + FILES layers.json + DESTINATION /etc + COMPONENT "runtime")