From 3d8aedab6319b38840dd65e97a09d403c629a5d1 Mon Sep 17 00:00:00 2001 From: David Faure Date: Sun, 26 Jul 2015 00:04:06 +0200 Subject: [PATCH 6/7] Fix quoting problems with -D depending on required cmake version by using a generated header file instead. This is also nicer because changing the version will only recompile the one file that includes that header, instead of all. cmake_minimum_required must be before project(), and should be 2.8.9 to match kdelibs4's own files. --- CMakeLists.txt | 12 +++++------- backends/xrandr/xrandrconfig.cpp | 1 + libkscreen-version.h.in | 1 + 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 libkscreen-version.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index e703ad5..8cd18ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,9 @@ +cmake_minimum_required(VERSION 2.8.9) project(libkscreen) set(libkscreen_VERSION_MAJOR 1) set(libkscreen_VERSION_MINOR 0) set(libkscreen_VERSION_RELEASE 5) set(libkscreen_VERSION "${libkscreen_VERSION_MAJOR}.${libkscreen_VERSION_MINOR}.${libkscreen_VERSION_RELEASE}") -add_definitions("-DLIBKSCREEN_VERSION=\\\"${libkscreen_VERSION}\\\"") - -cmake_minimum_required(VERSION 2.8.0) if(POLICY CMP0017) cmake_policy(SET CMP0017 NEW) @@ -61,15 +59,15 @@ set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${BIN_INSTALL_DIR}" ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" COMPONENT Devel ) include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES} ${KDE4_INCLUDES}) +set(LIBKSCREEN_VERSION ${libkscreen_VERSION}) +configure_file(${libkscreen_SOURCE_DIR}/libkscreen-version.h.in libkscreen-version.h @ONLY) add_subdirectory(src) add_subdirectory(backends) add_subdirectory(tests) -configure_file(${libkscreen_SOURCE_DIR}/LibKScreenConfig.cmake.in - ${libkscreen_BINARY_DIR}/LibKScreenConfig.cmake - @ONLY -) +configure_file(${libkscreen_SOURCE_DIR}/LibKScreenConfig.cmake.in LibKScreenConfig.cmake @ONLY) + # this file is used by to check if the installed version can be used. macro_write_basic_cmake_version_file(${libkscreen_BINARY_DIR}/LibKScreenConfigVersion.cmake ${libkscreen_VERSION_MAJOR} ${libkscreen_VERSION_MINOR} ${libkscreen_VERSION_RELEASE}) diff --git a/backends/xrandr/xrandrconfig.cpp b/backends/xrandr/xrandrconfig.cpp index c75d5ea..683ac7a 100644 --- a/backends/xrandr/xrandrconfig.cpp +++ b/backends/xrandr/xrandrconfig.cpp @@ -25,6 +25,7 @@ #include "config.h" #include "output.h" #include "edid.h" +#include #include #include diff --git a/libkscreen-version.h.in b/libkscreen-version.h.in new file mode 100644 index 0000000..b2a9ca6 --- /dev/null +++ b/libkscreen-version.h.in @@ -0,0 +1 @@ +#cmakedefine LIBKSCREEN_VERSION "@LIBKSCREEN_VERSION@" -- 2.5.0