1212 add_definitions (-DBUILD_TEST=0)
1313endif ()
1414
15- function (CombineRuntimeDependencies )
15+ function (exp_combine_runtime_deps )
1616 cmake_parse_arguments (PARAMS "" "NAME" "RUNTIME_DEP" ${ARGN} )
1717
1818 get_target_property (RESULT ${PARAMS_NAME} RUNTIME_DEP)
@@ -27,7 +27,7 @@ function(CombineRuntimeDependencies)
2727 )
2828endfunction ()
2929
30- function (LinkLibraries )
30+ function (exp_link_libs )
3131 cmake_parse_arguments (PARAMS "" "NAME" "LIB" ${ARGN} )
3232
3333 foreach (L ${PARAMS_LIB} )
@@ -61,28 +61,28 @@ function(LinkLibraries)
6161
6262 get_target_property (RUNTIME_DEP ${L} 3RD_RUNTIME_DEP)
6363 if (NOT ("${RUNTIME_DEP} " STREQUAL "RUNTIME_DEP-NOTFOUND" ))
64- CombineRuntimeDependencies (
64+ exp_combine_runtime_deps (
6565 NAME ${PARAMS_NAME}
6666 RUNTIME_DEP "${RUNTIME_DEP} "
6767 )
6868 endif ()
6969 endforeach ()
7070endfunction ()
7171
72- function (LinkBasicLibs )
72+ function (exp_link_basic_libs )
7373 cmake_parse_arguments (PARAMS "" "NAME" "LIB" ${ARGN} )
7474
7575 foreach (L ${PARAMS_LIB} )
7676 if (NOT (${PARAMS_NAME} STREQUAL ${L} ))
77- LinkLibraries (
77+ exp_link_libs (
7878 NAME ${PARAMS_NAME}
7979 LIB ${L}
8080 )
8181 endif ()
8282 endforeach ()
8383endfunction ()
8484
85- function (GetTargetRuntimeDependenciesRecurse )
85+ function (exp_get_target_runtime_deps_recurse )
8686 cmake_parse_arguments (PARAMS "" "NAME;OUTPUT" "" ${ARGN} )
8787
8888 get_target_property (RUNTIME_DEP ${PARAMS_NAME} RUNTIME_DEP)
@@ -99,7 +99,7 @@ function(GetTargetRuntimeDependenciesRecurse)
9999 continue ()
100100 endif ()
101101
102- GetTargetRuntimeDependenciesRecurse (
102+ exp_get_target_runtime_deps_recurse (
103103 NAME ${L}
104104 OUTPUT TEMP
105105 )
@@ -113,10 +113,10 @@ function(GetTargetRuntimeDependenciesRecurse)
113113 set (${PARAMS_OUTPUT} ${RESULT} PARENT_SCOPE)
114114endfunction ()
115115
116- function (AddRuntimeDependenciesCopyCommand )
116+ function (exp_add_runtime_deps_copy_command )
117117 cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME" "" ${ARGN} )
118118
119- GetTargetRuntimeDependenciesRecurse (
119+ exp_get_target_runtime_deps_recurse (
120120 NAME ${PARAMS_NAME}
121121 OUTPUT RUNTIME_DEPS
122122 )
@@ -158,7 +158,7 @@ function(AddRuntimeDependenciesCopyCommand)
158158 endforeach ()
159159endfunction ()
160160
161- function (ExpandResourcePathExpression )
161+ function (exp_expand_resource_path_expression )
162162 cmake_parse_arguments (PARAMS "" "INPUT;OUTPUT_SRC;OUTPUT_DST" "" ${ARGN} )
163163
164164 string (REPLACE "->" ";" TEMP ${PARAMS_INPUT} )
@@ -169,11 +169,11 @@ function(ExpandResourcePathExpression)
169169 set (${PARAMS_OUTPUT_DST} ${DST} PARENT_SCOPE)
170170endfunction ()
171171
172- function (AddResourcesCopyCommand )
172+ function (exp_add_resources_copy_command )
173173 cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME" "RES" ${ARGN} )
174174
175175 foreach (R ${PARAMS_RES} )
176- ExpandResourcePathExpression (
176+ exp_expand_resource_path_expression (
177177 INPUT ${R}
178178 OUTPUT_SRC SRC
179179 OUTPUT_DST DST
@@ -196,7 +196,7 @@ function(AddResourcesCopyCommand)
196196 add_dependencies (${PARAMS_NAME} ${COPY_RES_TARGET_NAME} )
197197endfunction ()
198198
199- function (GetTargetIncludeDirectoriesRecurse )
199+ function (exp_get_target_include_dirs_recurse )
200200 cmake_parse_arguments (PARAMS "" "NAME;OUTPUT" "" ${ARGN} )
201201
202202 if (NOT (TARGET ${PARAMS_NAME} ))
@@ -215,7 +215,7 @@ function(GetTargetIncludeDirectoriesRecurse)
215215 get_target_property (TARGET_LIBS ${PARAMS_NAME} LINK_LIBRARIES )
216216 if (NOT ("${TARGET_LIBS} " STREQUAL "TARGET_LIBS-NOTFOUND" ))
217217 foreach (TARGET_LIB ${TARGET_LIBS} )
218- GetTargetIncludeDirectoriesRecurse (
218+ exp_get_target_include_dirs_recurse (
219219 NAME ${TARGET_LIB}
220220 OUTPUT LIB_INCS
221221 )
@@ -237,8 +237,8 @@ function(GetTargetIncludeDirectoriesRecurse)
237237 set (${PARAMS_OUTPUT} ${RESULT} PARENT_SCOPE)
238238endfunction ()
239239
240- function (AddMirrorInfoSourceGenerationTarget )
241- cmake_parse_arguments (PARAMS "DYNAMIC" "NAME;OUTPUT_SRC;OUTPUT_TARGET_NAME" "SEARCH_DIR;PUBLIC_INC;PRIVATE_INC;LIB" ${ARGN} )
240+ function (exp_add_mirror_info_source_generation_target )
241+ cmake_parse_arguments (PARAMS "DYNAMIC" "NAME;OUTPUT_SRC;OUTPUT_TARGET_NAME" "SEARCH_DIR;PUBLIC_INC;PRIVATE_INC;LIB;FRAMEWORK_DIR " ${ARGN} )
242242
243243 if (DEFINED PARAMS_PUBLIC_INC)
244244 list (APPEND INC ${PARAMS_PUBLIC_INC} )
@@ -248,7 +248,7 @@ function(AddMirrorInfoSourceGenerationTarget)
248248 endif ()
249249 if (DEFINED PARAMS_LIB)
250250 foreach (L ${PARAMS_LIB} )
251- GetTargetIncludeDirectoriesRecurse (
251+ exp_get_target_include_dirs_recurse (
252252 NAME ${L}
253253 OUTPUT TARGET_INCS
254254 )
@@ -262,10 +262,20 @@ function(AddMirrorInfoSourceGenerationTarget)
262262 list (APPEND INC_ARGS "-I" )
263263 foreach (I ${INC} )
264264 get_filename_component (ABSOLUTE_I ${I} ABSOLUTE )
265- list (APPEND ABSOLUTE_INC ${ABSOLUTE_I} )
266265 list (APPEND INC_ARGS ${ABSOLUTE_I} )
267266 endforeach ()
268267
268+ if (DEFINED PARAMS_FRAMEWORK_DIR)
269+ list (APPEND FWK_DIR ${PARAMS_FRAMEWORK_DIR} )
270+ list (APPEND FWK_DIR_ARGS "-F" )
271+ endif ()
272+ list (REMOVE_DUPLICATES FWK_DIR)
273+
274+ foreach (F ${FWK_DIR} )
275+ get_filename_component (ABSOLUTE_F ${F} ABSOLUTE )
276+ list (APPEND FWK_DIR_ARGS ${ABSOLUTE_F} )
277+ endforeach ()
278+
269279 if (${PARAMS_DYNAMIC} )
270280 list (APPEND DYNAMIC_ARG "-d" )
271281 endif ()
@@ -282,7 +292,7 @@ function(AddMirrorInfoSourceGenerationTarget)
282292
283293 add_custom_command (
284294 OUTPUT ${OUTPUT_SOURCE}
285- COMMAND "$<TARGET_FILE:MirrorTool>" ${DYNAMIC_ARG} "-i" ${INPUT_HEADER_FILE} "-o" ${OUTPUT_SOURCE} ${INC_ARGS}
295+ COMMAND "$<TARGET_FILE:MirrorTool>" ${DYNAMIC_ARG} "-i" ${INPUT_HEADER_FILE} "-o" ${OUTPUT_SOURCE} ${INC_ARGS} ${FWK_DIR_ARGS}
286296 DEPENDS MirrorTool ${INPUT_HEADER_FILE}
287297 )
288298 endforeach ()
@@ -301,7 +311,7 @@ function(AddMirrorInfoSourceGenerationTarget)
301311 endif ()
302312endfunction ()
303313
304- function (AddExecutable )
314+ function (exp_add_executable )
305315 cmake_parse_arguments (PARAMS "SAMPLE;NOT_INSTALL" "NAME" "SRC;INC;LINK;LIB;DEP_TARGET;RES;REFLECT" ${ARGN} )
306316
307317 if (${PARAMS_SAMPLE} AND (NOT ${BUILD_SAMPLE} ))
@@ -315,7 +325,7 @@ function(AddExecutable)
315325 endif ()
316326
317327 if (DEFINED PARAMS_REFLECT)
318- AddMirrorInfoSourceGenerationTarget (
328+ exp_add_mirror_info_source_generation_target (
319329 NAME ${PARAMS_NAME}
320330 OUTPUT_SRC GENERATED_SRC
321331 OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -338,19 +348,19 @@ function(AddExecutable)
338348 ${PARAMS_NAME}
339349 PRIVATE ${PARAMS_LINK}
340350 )
341- LinkBasicLibs (
351+ exp_link_basic_libs (
342352 NAME ${PARAMS_NAME}
343353 LIB ${BASIC_LIBS}
344354 )
345- LinkLibraries (
355+ exp_link_libs (
346356 NAME ${PARAMS_NAME}
347357 LIB ${PARAMS_LIB}
348358 )
349- AddRuntimeDependenciesCopyCommand (
359+ exp_add_runtime_deps_copy_command (
350360 NAME ${PARAMS_NAME}
351361 ${NOT_INSTALL_FLAG}
352362 )
353- AddResourcesCopyCommand (
363+ exp_add_resources_copy_command (
354364 NAME ${PARAMS_NAME}
355365 RES ${PARAMS_RES}
356366 ${NOT_INSTALL_FLAG}
@@ -378,7 +388,7 @@ function(AddExecutable)
378388 endif ()
379389endfunction ()
380390
381- function (AddLibrary )
391+ function (exp_add_library )
382392 cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME;TYPE" "SRC;PRIVATE_INC;PUBLIC_INC;PRIVATE_LINK;LIB;REFLECT" ${ARGN} )
383393
384394 if ("${PARAMS_TYPE} " STREQUAL "SHARED" )
@@ -390,7 +400,7 @@ function(AddLibrary)
390400 list (APPEND EXTRA_PARAMS DYNAMIC)
391401 endif ()
392402
393- AddMirrorInfoSourceGenerationTarget (
403+ exp_add_mirror_info_source_generation_target (
394404 NAME ${PARAMS_NAME}
395405 OUTPUT_SRC GENERATED_SRC
396406 OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -420,11 +430,11 @@ function(AddLibrary)
420430 PRIVATE ${PARAMS_PRIVATE_LINK}
421431 PUBLIC ${PARAMS_PUBLIC_LINK}
422432 )
423- LinkBasicLibs (
433+ exp_link_basic_libs (
424434 NAME ${PARAMS_NAME}
425435 LIB ${BASIC_LIBS}
426436 )
427- LinkLibraries (
437+ exp_link_libs (
428438 NAME ${PARAMS_NAME}
429439 LIB ${PARAMS_LIB}
430440 )
@@ -481,15 +491,15 @@ function(AddLibrary)
481491 endif ()
482492endfunction ()
483493
484- function (AddTest )
494+ function (exp_add_test )
485495 if (NOT ${BUILD_TEST} )
486496 return ()
487497 endif ()
488498
489499 cmake_parse_arguments (PARAMS "META" "NAME" "SRC;INC;LINK;LIB;DEP_TARGET;RES;REFLECT" ${ARGN} )
490500
491501 if (DEFINED PARAMS_REFLECT)
492- AddMirrorInfoSourceGenerationTarget (
502+ exp_add_mirror_info_source_generation_target (
493503 NAME ${PARAMS_NAME}
494504 OUTPUT_SRC GENERATED_SRC
495505 OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -512,19 +522,19 @@ function(AddTest)
512522 ${PARAMS_NAME}
513523 PRIVATE ${PARAMS_LINK}
514524 )
515- LinkBasicLibs (
525+ exp_link_basic_libs (
516526 NAME ${PARAMS_NAME}
517527 LIB ${BASIC_LIBS} ${BASIC_TEST_LIBS}
518528 )
519- LinkLibraries (
529+ exp_link_libs (
520530 NAME ${PARAMS_NAME}
521531 LIB ${PARAMS_LIB}
522532 )
523- AddRuntimeDependenciesCopyCommand (
533+ exp_add_runtime_deps_copy_command (
524534 NAME ${PARAMS_NAME}
525535 NOT_INSTALL
526536 )
527- AddResourcesCopyCommand (
537+ exp_add_resources_copy_command (
528538 NAME ${PARAMS_NAME}
529539 RES ${PARAMS_RES}
530540 NOT_INSTALL
0 commit comments