@@ -23,6 +23,7 @@ OPTION(ENABLE_RAQM "Enable RAQM support" 0)
23
23
OPTION (ENABLE_ASAN "Enable (gcc) ASAN support" 0)
24
24
OPTION (ENABLE_CPP "Enable CPP GD API" 1)
25
25
OPTION (VERBOSE_MAKEFILE "Enable CMAKE_VERBOSE_MAKEFILE" 0)
26
+ option (OVERRIDE_CMAKE_PATHS "Override CMake runtime, archive and library paths" OFF )
26
27
27
28
if (VERBOSE_MAKEFILE)
28
29
set (CMAKE_VERBOSE_MAKEFILE ON )
@@ -44,36 +45,39 @@ IF(CMAKE_COMPILER_IS_GNUCC)
44
45
endif (ENABLE_ASAN)
45
46
ENDIF (CMAKE_COMPILER_IS_GNUCC)
46
47
47
- # ---------- Backup output directory --------------------------
48
- SET (ORIGINAL_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )
49
- SET (ORIGINAL_LIBRARY_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} )
50
- SET (ORIGINAL_ARCHIVE_DIR ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} )
51
-
52
- IF (NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY )
53
- SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
54
- ${PROJECT_BINARY_DIR} /Bin
55
- CACHE PATH
56
- "Single Directory for all Libraries"
57
- )
58
- ENDIF ()
59
-
60
- # --------- Setup the Executable output Directory -------------
61
- IF (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY )
62
- SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
63
- ${PROJECT_BINARY_DIR} /Bin
64
- CACHE PATH
65
- "Single Directory for all Executables."
66
- )
67
- ENDIF ()
68
-
69
- # --------- Setup the Executable output Directory -------------
70
- IF (NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY )
71
- SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
72
- ${PROJECT_BINARY_DIR} /Bin
73
- CACHE PATH
74
- "Single Directory for all static libraries."
75
- )
76
- ENDIF ()
48
+ if (OVERRIDE_CMAKE_PATHS)
49
+
50
+ # ---------- Backup output directory --------------------------
51
+ SET (ORIGINAL_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )
52
+ SET (ORIGINAL_LIBRARY_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} )
53
+ SET (ORIGINAL_ARCHIVE_DIR ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} )
54
+
55
+ IF (NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY )
56
+ SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
57
+ ${CMAKE_CURRENT_BINARY_DIR} /Bin
58
+ PATH
59
+ "Single Directory for all Libraries"
60
+ )
61
+ ENDIF ()
62
+
63
+ # --------- Setup the Executable output Directory -------------
64
+ IF (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY )
65
+ SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
66
+ ${CMAKE_CURRENT_BINARY_DIR} /Bin
67
+ PATH
68
+ "Single Directory for all Executables."
69
+ )
70
+ ENDIF ()
71
+
72
+ # --------- Setup the Executable output Directory -------------
73
+ IF (NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY )
74
+ SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
75
+ ${CMAKE_CURRENT_BINARY_DIR} /Bin
76
+ PATH
77
+ "Single Directory for all static libraries."
78
+ )
79
+ ENDIF ()
80
+ endif ()
77
81
78
82
SET (PKG_REQUIRES_PRIVATES "" )
79
83
@@ -306,10 +310,6 @@ else (USE_EXT_GD)
306
310
INCLUDE_DIRECTORIES (before ${FONTCONFIG_INCLUDE_DIR} )
307
311
308
312
add_subdirectory (src)
309
-
310
- MARK_AS_ADVANCED (
311
- GD_INCLUDE_DIR
312
- )
313
313
endif (USE_EXT_GD)
314
314
315
315
add_subdirectory (tests)
@@ -319,7 +319,9 @@ add_subdirectory(docs)
319
319
add_custom_target (distclean ${GD_SOURCE_DIR} /cmake/distclean.sh)
320
320
321
321
322
- # ---------- Restore output directory -------------------------
323
- SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${ORIGINAL_LIBRARY_DIR} )
324
- SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ORIGINAL_RUNTIME_DIR} )
325
- SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${ORIGINAL_ARCHIVE_DIR} )
322
+ if (OVERRIDE_CMAKE_PATHS)
323
+ # ---------- Restore output directory -------------------------
324
+ SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${ORIGINAL_LIBRARY_DIR} )
325
+ SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ORIGINAL_RUNTIME_DIR} )
326
+ SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${ORIGINAL_ARCHIVE_DIR} )
327
+ endif ()
0 commit comments