From f7b4fb3a214c15df0579979bd1bd4e7f613f0209 Mon Sep 17 00:00:00 2001 From: Nikolaus Waxweiler Date: Mon, 7 May 2018 23:10:36 +0100 Subject: [PATCH] CMake: Allow using project as subfolder in other project * CMakeLists.txt: Test for CMake build directory being diffent from source directory. Provide other parts of the build system access the full include directory. --- CMakeLists.txt | 18 +++++++++--------- ChangeLog | 8 ++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f3fef7d5..cfba113d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,7 +153,7 @@ option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF) # Disallow in-source builds -if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}") +if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") message(FATAL_ERROR "In-source builds are not permitted! Make a separate folder for" " building, e.g.,\n" @@ -356,17 +356,17 @@ if (BUILD_SHARED_LIBS) SOVERSION ${LIBRARY_SOVERSION}) endif () -target_include_directories( - freetype BEFORE # Pick up ftconfig.h and ftoption.h generated above. - PRIVATE "${PROJECT_BINARY_DIR}/include") - +# Pick up ftconfig.h and ftoption.h generated above, first. target_include_directories( freetype - PRIVATE "${PROJECT_SOURCE_DIR}/include") + PUBLIC + $ + $ + $ + PRIVATE + ${CMAKE_CURRENT_BINARY_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include) -target_include_directories( - freetype - PUBLIC $) if (BUILD_FRAMEWORK) set_property(SOURCE ${PUBLIC_CONFIG_HEADERS} diff --git a/ChangeLog b/ChangeLog index 2397f6700..89472279e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2018-05-07 Nikolaus Waxweiler + + CMake: Allow using project as subfolder in other project + + * CMakeLists.txt: Test for CMake build directory being diffent from source + directory. Provide other parts of the build system access the full include + directory. + 2018-05-07 Werner Lemberg [build] Suppress configure's `nothing to be done' message.