shithub: freetype+ttf2subf

Download patch

ref: f7b4fb3a214c15df0579979bd1bd4e7f613f0209
parent: 7702edf793ed47effbb26050d66cb2acfcde2b96
author: Nikolaus Waxweiler <[email protected]>
date: Mon May 7 19:10:36 EDT 2018

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.

git/fs: mount .git/fs: mount/attach disallowed
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -153,7 +153,7 @@
 
 
 # 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 @@
     SOVERSION ${LIBRARY_SOVERSION})
 endif ()
 
+# Pick up ftconfig.h and ftoption.h generated above, first.
 target_include_directories(
-  freetype BEFORE  # Pick up ftconfig.h and ftoption.h generated above.
-    PRIVATE "${PROJECT_BINARY_DIR}/include")
-
-target_include_directories(
   freetype
-    PRIVATE "${PROJECT_SOURCE_DIR}/include")
+    PUBLIC
+      $<INSTALL_INTERFACE:include/freetype2>
+      $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
+      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    PRIVATE 
+      ${CMAKE_CURRENT_BINARY_DIR}/include
+      ${CMAKE_CURRENT_SOURCE_DIR}/include)
 
-target_include_directories(
-  freetype
-    PUBLIC $<INSTALL_INTERFACE:include/freetype2>)
 
 if (BUILD_FRAMEWORK)
   set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-05-07  Nikolaus Waxweiler  <[email protected]>
+
+	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  <[email protected]>
 
 	[build] Suppress configure's `nothing to be done' message.