@@ -11,9 +11,9 @@ set(ae2f_BinRoot ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "Current Binary Root")
11
11
set (ae2f_submod submod CACHE STRING submod )
12
12
13
13
if (ae2f_IS_SHARED )
14
- set (ae2f_LIBPREFIX SHARED CACHE STRING "SHARED" )
14
+ set (ae2f_LIBPREFIX SHARED CACHE STRING "SHARED" )
15
15
else ()
16
- set (ae2f_LIBPREFIX STATIC CACHE STRING "STATIC" )
16
+ set (ae2f_LIBPREFIX STATIC CACHE STRING "STATIC" )
17
17
endif ()
18
18
19
19
# @namespace ___DOC_CMAKE
@@ -36,24 +36,24 @@ endif()
36
36
#
37
37
# @see ___DOC_CMAKE::ae2f_TEST
38
38
function (ae2f_CoreTestTent prm_LibName prm_TestSourcesDir )
39
- if (ae2f_TEST )
40
- if (ae2f_CXX )
41
- file (GLOB_RECURSE files "${prm_TestSourcesDir} /*" )
42
- else ()
43
- file (GLOB_RECURSE files "${prm_TestSourcesDir} /*.c" )
44
- endif ()
45
- list (LENGTH files list_length )
46
-
47
- math (EXPR adjusted_length "${list_length} - 1" )
39
+ if (ae2f_TEST )
40
+ if (ae2f_CXX )
41
+ file (GLOB_RECURSE files "${prm_TestSourcesDir} /*" )
42
+ else ()
43
+ file (GLOB_RECURSE files "${prm_TestSourcesDir} /*.c" )
44
+ endif ()
45
+ list (LENGTH files list_length )
48
46
49
- foreach (i RANGE 0 ${adjusted_length} )
50
- list (GET files ${i} item )
51
- get_filename_component (__NAME ${item} NAME )
52
- add_executable ("${prm_LibName} -Test-${__NAME} " ${item} )
53
- target_link_libraries ("${prm_LibName} -Test-${__NAME} " ${ARGN} ${prm_LibName} )
54
- add_test (NAME "${prm_LibName} -Test-${__NAME} " COMMAND "${prm_LibName} -Test-${__NAME} " )
55
- endforeach ()
56
- endif ()
47
+ math (EXPR adjusted_length "${list_length} - 1" )
48
+
49
+ foreach (i RANGE 0 ${adjusted_length} )
50
+ list (GET files ${i} item )
51
+ get_filename_component (__NAME ${item} NAME )
52
+ add_executable ("${prm_LibName} -Test-${__NAME} " ${item} )
53
+ target_link_libraries ("${prm_LibName} -Test-${__NAME} " ${ARGN} ${prm_LibName} )
54
+ add_test (NAME "${prm_LibName} -Test-${__NAME} " COMMAND "${prm_LibName} -Test-${__NAME} " )
55
+ endforeach ()
56
+ endif ()
57
57
endfunction ()
58
58
59
59
# @brief
@@ -78,54 +78,54 @@ endfunction()
78
78
# @param ...
79
79
# The sources for the project.
80
80
function (ae2f_CoreLibTentConfigCustom prm_TarName prm_TarPreFix prm_includeDir prm_namespace prm_configpath )
81
- # Namespace Package
82
- include (GNUInstallDirs )
81
+ # Namespace Package
82
+ include (GNUInstallDirs )
83
+
84
+ include_directories (${prm_includeDir} )
85
+ add_library (${prm_namespace} -${prm_TarName} ${prm_TarPreFix} ${ARGN} )
86
+ add_library (${prm_namespace} ::${prm_TarName} ALIAS ${prm_namespace} -${prm_TarName} )
87
+
88
+ if (${ae2f_nakedalais} )
89
+ add_library (${prm_TarName} ALIAS ${prm_namespace} -${prm_TarName} )
90
+ endif ()
83
91
84
- include_directories (${prm_includeDir} )
85
- add_library (${prm_namespace} -${prm_TarName} ${prm_TarPreFix} ${ARGN} )
86
- add_library (${prm_namespace} ::${prm_TarName} ALIAS ${prm_namespace} -${prm_TarName} )
92
+ target_include_directories (
93
+ ${prm_namespace} -${prm_TarName} INTERFACE
94
+ $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /${prm_includeDir} />
95
+ $< INSTALL_INTERFACE:${prm_includeDir} /${prm_namespace} />
96
+ )
87
97
88
- if (${ae2f_nakedalais} )
89
- add_library (${prm_TarName} ALIAS ${prm_namespace} -${prm_TarName} )
90
- endif ()
98
+ # Install Settings
99
+ install (TARGETS ${prm_namespace} -${prm_TarName}
100
+ EXPORT ${prm_namespace} -${prm_TarName}Targets
101
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
102
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
91
103
92
- target_include_directories (
93
- ${prm_namespace} -${prm_TarName} INTERFACE
94
- $< BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /${prm_includeDir} />
95
- $< INSTALL_INTERFACE:${prm_includeDir} /${prm_namespace} />
96
- )
104
+ install (DIRECTORY ${prm_includeDir} /${prm_namespace}
105
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${prm_namespace}
106
+ )
97
107
98
- # Install Settings
99
- install (TARGETS ${prm_namespace} -${prm_TarName}
100
- EXPORT ${prm_namespace} -${prm_TarName}Targets
101
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
102
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
103
-
104
- install (DIRECTORY ${prm_includeDir} /${prm_namespace}
105
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /${prm_namespace}
106
- )
108
+ # Package
109
+ install (EXPORT ${prm_namespace} -${prm_TarName}Targets
110
+ FILE ${prm_namespace} -${prm_TarName}Targets.cmake
111
+ NAMESPACE ae2f::
112
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/
113
+ )
114
+
115
+ # Pack Conf
116
+ include (CMakePackageConfigHelpers )
117
+ configure_package_config_file (
118
+ ${prm_configpath}
119
+ ${CMAKE_CURRENT_BINARY_DIR} /${prm_namespace}-${prm_TarName}Config.cmake
120
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/
121
+ )
107
122
108
- # Package
109
- install (EXPORT ${prm_namespace} -${prm_TarName}Targets
110
- FILE ${prm_namespace} -${prm_TarName}Targets.cmake
111
- NAMESPACE ae2f::
112
- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/
113
- )
114
-
115
- # Pack Conf
116
- include (CMakePackageConfigHelpers )
117
- configure_package_config_file (
118
- ${prm_configpath}
119
- ${CMAKE_CURRENT_BINARY_DIR} /${prm_namespace}-${prm_TarName}Config.cmake
120
- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/
121
- )
122
-
123
- install (FILES
124
- ${CMAKE_CURRENT_BINARY_DIR} /${prm_namespace}-${prm_TarName}Config.cmake
125
- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake
126
- )
123
+ install (FILES
124
+ ${CMAKE_CURRENT_BINARY_DIR} /${prm_namespace}-${prm_TarName}Config.cmake
125
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake
126
+ )
127
127
128
- set (${prm_namespace} __${prm_TarName}__TENT ${prm_namespace} -${prm_TarName} CACHE STRING ${prm_namespace} -${prm_TarName} )
128
+ set (${prm_namespace} __${prm_TarName}__TENT ${prm_namespace} -${prm_TarName} CACHE STRING ${prm_namespace} -${prm_TarName} )
129
129
endfunction ()
130
130
131
131
# @brief
@@ -146,14 +146,14 @@ endfunction()
146
146
# @param ...
147
147
# The sources for the project.
148
148
function (ae2f_CoreLibTent prm_TarName prm_TarPreFix prm_includeDir prm_namespace )
149
- ae2f_CoreLibTentConfigCustom (
150
- ${prm_TarName}
151
- ${prm_TarPreFix}
152
- ${prm_includeDir}
153
- ${prm_namespace}
154
- ${CMAKE_CURRENT_SOURCE_DIR} /Config.cmake.in
155
- ${ARGN}
156
- )
149
+ ae2f_CoreLibTentConfigCustom (
150
+ ${prm_TarName}
151
+ ${prm_TarPreFix}
152
+ ${prm_includeDir}
153
+ ${prm_namespace}
154
+ ${CMAKE_CURRENT_SOURCE_DIR} /Config.cmake.in
155
+ ${ARGN}
156
+ )
157
157
endfunction ()
158
158
159
159
# @brief
@@ -175,43 +175,43 @@ endfunction()
175
175
# @see ___DOC_CMAKE::ae2f_CoreLibTent
176
176
# @see ___DOC_CMAKE::ae2f_DOC
177
177
function (ae2f_CoreUtilityDocTent prm_TarName prm_includeDir prm_namespace )
178
- if (ae2f_DOC )
179
- file (GLOB_RECURSE src ${prm_includeDir} "*.cmake.hpp" )
180
- ae2f_CoreLibTent (${prm_TarName} -CMakeDoc INTERFACE ${prm_includeDir} ${prm_namespace} doc ${src} )
181
- foreach (lib ${ARGN} )
182
- target_link_libraries (${prm_TarName} -CMakeDoc INTERFACE ${lib} -CMakeDoc )
183
- endforeach ()
184
- endif ()
178
+ if (ae2f_DOC )
179
+ file (GLOB_RECURSE src ${prm_includeDir} "*.cmake.hpp" )
180
+ ae2f_CoreLibTent (${prm_TarName} -CMakeDoc INTERFACE ${prm_includeDir} ${prm_namespace} doc ${src} )
181
+ foreach (lib ${ARGN} )
182
+ target_link_libraries (${prm_TarName} -CMakeDoc INTERFACE ${lib} -CMakeDoc )
183
+ endforeach ()
184
+ endif ()
185
185
endfunction ()
186
186
187
187
# Domain name customization.
188
188
function (ae2f_CoreLibFetch_DNS prm_AuthorName prm_namespace prm_TarName prm_TagName prm_Domain )
189
- if (NOT TARGET ${prm_TarName} )
190
- if (NOT EXISTS ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}/CMakeLists.txt )
191
- execute_process (
192
- COMMAND
193
- git clone
194
- https://${prm_Domain}/${prm_AuthorName}/${prm_TarName}
195
- ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
196
- --branch ${prm_TagName} ${ARGN}
197
- RESULT_VARIABLE result
198
- )
189
+ if (NOT TARGET ${prm_TarName} )
190
+ if (NOT EXISTS ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}/CMakeLists.txt )
191
+ execute_process (
192
+ COMMAND
193
+ git clone
194
+ https://${prm_Domain}/${prm_AuthorName}/${prm_TarName}
195
+ ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
196
+ --branch ${prm_TagName} ${ARGN}
197
+ RESULT_VARIABLE result
198
+ )
199
199
200
- if (result )
201
- message (FATAL_ERROR "Fetching ${prm_AuthorName} /${prm_TarName} from Github Failed." )
202
- endif ()
203
- endif ()
200
+ if (result )
201
+ message (FATAL_ERROR "Fetching ${prm_AuthorName} /${prm_TarName} from Github Failed." )
202
+ endif ()
203
+ endif ()
204
204
205
- add_subdirectory (
206
- ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
207
- ${ae2f_BinRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
208
- )
209
- endif ()
205
+ add_subdirectory (
206
+ ${ae2f_ProjRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
207
+ ${ae2f_BinRoot} /${ae2f_submod}/${prm_AuthorName}/${prm_TarName}
208
+ )
209
+ endif ()
210
210
211
- set (
212
- ${prm_AuthorName} __${prm_namespace}__${prm_TarName}__FETCHED
213
- ${prm_namespace} ::${prm_TarName} CACHE STRING ${prm_namespace} ::${prm_TarName}
214
- )
211
+ set (
212
+ ${prm_AuthorName} __${prm_namespace}__${prm_TarName}__FETCHED
213
+ ${prm_namespace} ::${prm_TarName} CACHE STRING ${prm_namespace} ::${prm_TarName}
214
+ )
215
215
216
216
endfunction ()
217
217
0 commit comments