* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'. Additionally, do this for UNIX only.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3121bee..55b5bfe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -115,17 +115,26 @@ add_definitions(-DFT2_BUILD_LIBRARY)
include_directories("${PROJECT_SOURCE_DIR}/include")
# Create the configuration file
-message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include/freetype/config.")
-file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/freetype/config)
-
-# For the auto-generated ftconfig.h file
-include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype/config")
-message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h.")
-execute_process(
- COMMAND sed -e "s/FT_CONFIG_OPTIONS_H/<ftoption.h>/" -e "s/FT_CONFIG_STANDARD_LIBRARY_H/<ftstdlib.h>/" -e "s?/undef ?#undef ?"
- INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in
- OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
-)
+if (UNIX)
+ message(STATUS
+ "Creating directory ${PROJECT_BINARY_DIR}/include/freetype/config")
+ file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/include/freetype/config")
+
+ include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype/config")
+ message(STATUS
+ "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h")
+
+ file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in"
+ FTCONFIG_H)
+ string(REPLACE "FT_CONFIG_OPTIONS_H" "ftoption.h"
+ FTCONFIG_H "${FTCONFIG_H}")
+ string(REPLACE "FT_CONFIG_STANDARD_LIBRARY_H" "ftstdlib.h"
+ FTCONFIG_H "${FTCONFIG_H}")
+ string(REPLACE "/undef " "#undef "
+ FTCONFIG_H "${FTCONFIG_H}")
+ file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
+ "${FTCONFIG_H}")
+endif ()
file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h")
diff --git a/ChangeLog b/ChangeLog
index ebe3ddd..fe5ce33 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,11 @@
2015-06-25 Werner Lemberg <wl@gnu.org>
+ * CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
+ Additionally, do this for UNIX only.
+
+2015-06-25 Werner Lemberg <wl@gnu.org>
+
* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
2015-06-25 Werner Lemberg <wl@gnu.org>