ref: 9224f05393485b44ca533015d37072d1ef2b3540
parent: 99eff6782484fb7e08ef070e0e61ffec2a9c9dc8
author: David Capello <[email protected]>
date: Sat Apr 16 06:24:24 EDT 2016
[cmake] Honor SKIP_INSTALL_* settings (as used in zlib). As FreeType depends on zlib, if we don't install zlib (e.g., because we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too (cmake triggers an error saying that FreeType cannot be installed because zlib target isn't in the export set). * CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,6 +68,11 @@
# only if it is available. Example:
#
# cmake ... -DWITH_ZLIB=ON -DWITH_HarfBuzz=OFF ...
+#
+# . Installation of FreeType can be controlled with the CMake variables
+# `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL'
+# (this is compatible with the same CMake variables in zlib's CMake
+# support).
cmake_minimum_required(VERSION 2.6)
@@ -173,7 +178,7 @@
if (${d}_FOUND OR ${D}_FOUND)
message(STATUS "Building with ${d}")
- endif()
+ endif ()
endforeach ()
@@ -383,28 +388,33 @@
# Installations
# Note the trailing slash in the argument to the `DIRECTORY' directive
-install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
- DESTINATION include/freetype2
- PATTERN "internal" EXCLUDE
- PATTERN "ftconfig.h" EXCLUDE
- PATTERN "ftoption.h" EXCLUDE
-)
-install(FILES
- ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
- ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
- DESTINATION include/freetype2/freetype/config
-)
-install(TARGETS freetype
- EXPORT freetype-targets
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- FRAMEWORK DESTINATION Library/Frameworks
-)
-install(EXPORT freetype-targets
- DESTINATION lib/cmake/freetype
- FILE freetype-config.cmake
-)
+if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+ DESTINATION include/freetype2
+ PATTERN "internal" EXCLUDE
+ PATTERN "ftconfig.h" EXCLUDE
+ PATTERN "ftoption.h" EXCLUDE
+ )
+ install(FILES
+ ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
+ ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
+ DESTINATION include/freetype2/freetype/config
+ )
+endif ()
+
+if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
+ install(TARGETS freetype
+ EXPORT freetype-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ FRAMEWORK DESTINATION Library/Frameworks
+ )
+ install(EXPORT freetype-targets
+ DESTINATION lib/cmake/freetype
+ FILE freetype-config.cmake
+ )
+endif ()
# Packaging
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-04-16 David Capello <[email protected]>
+
+ [cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
+
+ As FreeType depends on zlib, if we don't install zlib (e.g., because
+ we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
+ (cmake triggers an error saying that FreeType cannot be installed
+ because zlib target isn't in the export set).
+
+ * CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
+ `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
+
2016-04-16 Behdad Esfahbod <[email protected]>
[truetype] Another fix for non-intermediate GX tuples.