X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CMakeLists.txt;h=c052d54ec0806704a7d61004fb67d9e91efc365d;hb=6fdda786876d9640a6a26f05ef2c5aa7e2175421;hp=791e645e6979c9343e6d18810d105bd5c284b64e;hpb=11369e6592800fcf03138b109fee3d4c0736f21a;p=staging%2Fwindowmanager.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 791e645..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,9 +59,32 @@ macro(wlproto var_basename proto_xml_basename) include_directories(${CMAKE_CURRENT_BINARY_DIR}) endmacro() -add_definitions(-D_GNU_SOURCE) +# Should modernize the following somehow... +set(ENABLE_DEBUG_OUTPUT OFF CACHE BOOL "Enable debug logging") +if(ENABLE_DEBUG_OUTPUT) + add_definitions(-DDEBUG_OUTPUT) +else() + remove_definitions(-DDEBUG_OUTPUT) +endif() -set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c99 ${CMAKE_C_FLAGS}") -set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -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") + +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")