12
12
add_definitions (-DBUILD_TEST=0)
13
13
endif ()
14
14
15
- function (CombineRuntimeDependencies )
15
+ function (exp_combine_runtime_deps )
16
16
cmake_parse_arguments (PARAMS "" "NAME" "RUNTIME_DEP" ${ARGN} )
17
17
18
18
get_target_property (RESULT ${PARAMS_NAME} RUNTIME_DEP)
@@ -27,7 +27,7 @@ function(CombineRuntimeDependencies)
27
27
)
28
28
endfunction ()
29
29
30
- function (LinkLibraries )
30
+ function (exp_link_libs )
31
31
cmake_parse_arguments (PARAMS "" "NAME" "LIB" ${ARGN} )
32
32
33
33
foreach (L ${PARAMS_LIB} )
@@ -61,28 +61,28 @@ function(LinkLibraries)
61
61
62
62
get_target_property (RUNTIME_DEP ${L} 3RD_RUNTIME_DEP)
63
63
if (NOT ("${RUNTIME_DEP} " STREQUAL "RUNTIME_DEP-NOTFOUND" ))
64
- CombineRuntimeDependencies (
64
+ exp_combine_runtime_deps (
65
65
NAME ${PARAMS_NAME}
66
66
RUNTIME_DEP "${RUNTIME_DEP} "
67
67
)
68
68
endif ()
69
69
endforeach ()
70
70
endfunction ()
71
71
72
- function (LinkBasicLibs )
72
+ function (exp_link_basic_libs )
73
73
cmake_parse_arguments (PARAMS "" "NAME" "LIB" ${ARGN} )
74
74
75
75
foreach (L ${PARAMS_LIB} )
76
76
if (NOT (${PARAMS_NAME} STREQUAL ${L} ))
77
- LinkLibraries (
77
+ exp_link_libs (
78
78
NAME ${PARAMS_NAME}
79
79
LIB ${L}
80
80
)
81
81
endif ()
82
82
endforeach ()
83
83
endfunction ()
84
84
85
- function (GetTargetRuntimeDependenciesRecurse )
85
+ function (exp_get_target_runtime_deps_recurse )
86
86
cmake_parse_arguments (PARAMS "" "NAME;OUTPUT" "" ${ARGN} )
87
87
88
88
get_target_property (RUNTIME_DEP ${PARAMS_NAME} RUNTIME_DEP)
@@ -99,7 +99,7 @@ function(GetTargetRuntimeDependenciesRecurse)
99
99
continue ()
100
100
endif ()
101
101
102
- GetTargetRuntimeDependenciesRecurse (
102
+ exp_get_target_runtime_deps_recurse (
103
103
NAME ${L}
104
104
OUTPUT TEMP
105
105
)
@@ -113,10 +113,10 @@ function(GetTargetRuntimeDependenciesRecurse)
113
113
set (${PARAMS_OUTPUT} ${RESULT} PARENT_SCOPE)
114
114
endfunction ()
115
115
116
- function (AddRuntimeDependenciesCopyCommand )
116
+ function (exp_add_runtime_deps_copy_command )
117
117
cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME" "" ${ARGN} )
118
118
119
- GetTargetRuntimeDependenciesRecurse (
119
+ exp_get_target_runtime_deps_recurse (
120
120
NAME ${PARAMS_NAME}
121
121
OUTPUT RUNTIME_DEPS
122
122
)
@@ -158,7 +158,7 @@ function(AddRuntimeDependenciesCopyCommand)
158
158
endforeach ()
159
159
endfunction ()
160
160
161
- function (ExpandResourcePathExpression )
161
+ function (exp_expand_resource_path_expression )
162
162
cmake_parse_arguments (PARAMS "" "INPUT;OUTPUT_SRC;OUTPUT_DST" "" ${ARGN} )
163
163
164
164
string (REPLACE "->" ";" TEMP ${PARAMS_INPUT} )
@@ -169,11 +169,11 @@ function(ExpandResourcePathExpression)
169
169
set (${PARAMS_OUTPUT_DST} ${DST} PARENT_SCOPE)
170
170
endfunction ()
171
171
172
- function (AddResourcesCopyCommand )
172
+ function (exp_add_resources_copy_command )
173
173
cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME" "RES" ${ARGN} )
174
174
175
175
foreach (R ${PARAMS_RES} )
176
- ExpandResourcePathExpression (
176
+ exp_expand_resource_path_expression (
177
177
INPUT ${R}
178
178
OUTPUT_SRC SRC
179
179
OUTPUT_DST DST
@@ -196,7 +196,7 @@ function(AddResourcesCopyCommand)
196
196
add_dependencies (${PARAMS_NAME} ${COPY_RES_TARGET_NAME} )
197
197
endfunction ()
198
198
199
- function (GetTargetIncludeDirectoriesRecurse )
199
+ function (exp_get_target_include_dirs_recurse )
200
200
cmake_parse_arguments (PARAMS "" "NAME;OUTPUT" "" ${ARGN} )
201
201
202
202
if (NOT (TARGET ${PARAMS_NAME} ))
@@ -215,7 +215,7 @@ function(GetTargetIncludeDirectoriesRecurse)
215
215
get_target_property (TARGET_LIBS ${PARAMS_NAME} LINK_LIBRARIES )
216
216
if (NOT ("${TARGET_LIBS} " STREQUAL "TARGET_LIBS-NOTFOUND" ))
217
217
foreach (TARGET_LIB ${TARGET_LIBS} )
218
- GetTargetIncludeDirectoriesRecurse (
218
+ exp_get_target_include_dirs_recurse (
219
219
NAME ${TARGET_LIB}
220
220
OUTPUT LIB_INCS
221
221
)
@@ -237,8 +237,8 @@ function(GetTargetIncludeDirectoriesRecurse)
237
237
set (${PARAMS_OUTPUT} ${RESULT} PARENT_SCOPE)
238
238
endfunction ()
239
239
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} )
242
242
243
243
if (DEFINED PARAMS_PUBLIC_INC)
244
244
list (APPEND INC ${PARAMS_PUBLIC_INC} )
@@ -248,7 +248,7 @@ function(AddMirrorInfoSourceGenerationTarget)
248
248
endif ()
249
249
if (DEFINED PARAMS_LIB)
250
250
foreach (L ${PARAMS_LIB} )
251
- GetTargetIncludeDirectoriesRecurse (
251
+ exp_get_target_include_dirs_recurse (
252
252
NAME ${L}
253
253
OUTPUT TARGET_INCS
254
254
)
@@ -262,10 +262,20 @@ function(AddMirrorInfoSourceGenerationTarget)
262
262
list (APPEND INC_ARGS "-I" )
263
263
foreach (I ${INC} )
264
264
get_filename_component (ABSOLUTE_I ${I} ABSOLUTE )
265
- list (APPEND ABSOLUTE_INC ${ABSOLUTE_I} )
266
265
list (APPEND INC_ARGS ${ABSOLUTE_I} )
267
266
endforeach ()
268
267
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
+
269
279
if (${PARAMS_DYNAMIC} )
270
280
list (APPEND DYNAMIC_ARG "-d" )
271
281
endif ()
@@ -282,7 +292,7 @@ function(AddMirrorInfoSourceGenerationTarget)
282
292
283
293
add_custom_command (
284
294
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}
286
296
DEPENDS MirrorTool ${INPUT_HEADER_FILE}
287
297
)
288
298
endforeach ()
@@ -301,7 +311,7 @@ function(AddMirrorInfoSourceGenerationTarget)
301
311
endif ()
302
312
endfunction ()
303
313
304
- function (AddExecutable )
314
+ function (exp_add_executable )
305
315
cmake_parse_arguments (PARAMS "SAMPLE;NOT_INSTALL" "NAME" "SRC;INC;LINK;LIB;DEP_TARGET;RES;REFLECT" ${ARGN} )
306
316
307
317
if (${PARAMS_SAMPLE} AND (NOT ${BUILD_SAMPLE} ))
@@ -315,7 +325,7 @@ function(AddExecutable)
315
325
endif ()
316
326
317
327
if (DEFINED PARAMS_REFLECT)
318
- AddMirrorInfoSourceGenerationTarget (
328
+ exp_add_mirror_info_source_generation_target (
319
329
NAME ${PARAMS_NAME}
320
330
OUTPUT_SRC GENERATED_SRC
321
331
OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -338,19 +348,19 @@ function(AddExecutable)
338
348
${PARAMS_NAME}
339
349
PRIVATE ${PARAMS_LINK}
340
350
)
341
- LinkBasicLibs (
351
+ exp_link_basic_libs (
342
352
NAME ${PARAMS_NAME}
343
353
LIB ${BASIC_LIBS}
344
354
)
345
- LinkLibraries (
355
+ exp_link_libs (
346
356
NAME ${PARAMS_NAME}
347
357
LIB ${PARAMS_LIB}
348
358
)
349
- AddRuntimeDependenciesCopyCommand (
359
+ exp_add_runtime_deps_copy_command (
350
360
NAME ${PARAMS_NAME}
351
361
${NOT_INSTALL_FLAG}
352
362
)
353
- AddResourcesCopyCommand (
363
+ exp_add_resources_copy_command (
354
364
NAME ${PARAMS_NAME}
355
365
RES ${PARAMS_RES}
356
366
${NOT_INSTALL_FLAG}
@@ -378,7 +388,7 @@ function(AddExecutable)
378
388
endif ()
379
389
endfunction ()
380
390
381
- function (AddLibrary )
391
+ function (exp_add_library )
382
392
cmake_parse_arguments (PARAMS "NOT_INSTALL" "NAME;TYPE" "SRC;PRIVATE_INC;PUBLIC_INC;PRIVATE_LINK;LIB;REFLECT" ${ARGN} )
383
393
384
394
if ("${PARAMS_TYPE} " STREQUAL "SHARED" )
@@ -390,7 +400,7 @@ function(AddLibrary)
390
400
list (APPEND EXTRA_PARAMS DYNAMIC)
391
401
endif ()
392
402
393
- AddMirrorInfoSourceGenerationTarget (
403
+ exp_add_mirror_info_source_generation_target (
394
404
NAME ${PARAMS_NAME}
395
405
OUTPUT_SRC GENERATED_SRC
396
406
OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -420,11 +430,11 @@ function(AddLibrary)
420
430
PRIVATE ${PARAMS_PRIVATE_LINK}
421
431
PUBLIC ${PARAMS_PUBLIC_LINK}
422
432
)
423
- LinkBasicLibs (
433
+ exp_link_basic_libs (
424
434
NAME ${PARAMS_NAME}
425
435
LIB ${BASIC_LIBS}
426
436
)
427
- LinkLibraries (
437
+ exp_link_libs (
428
438
NAME ${PARAMS_NAME}
429
439
LIB ${PARAMS_LIB}
430
440
)
@@ -481,15 +491,15 @@ function(AddLibrary)
481
491
endif ()
482
492
endfunction ()
483
493
484
- function (AddTest )
494
+ function (exp_add_test )
485
495
if (NOT ${BUILD_TEST} )
486
496
return ()
487
497
endif ()
488
498
489
499
cmake_parse_arguments (PARAMS "META" "NAME" "SRC;INC;LINK;LIB;DEP_TARGET;RES;REFLECT" ${ARGN} )
490
500
491
501
if (DEFINED PARAMS_REFLECT)
492
- AddMirrorInfoSourceGenerationTarget (
502
+ exp_add_mirror_info_source_generation_target (
493
503
NAME ${PARAMS_NAME}
494
504
OUTPUT_SRC GENERATED_SRC
495
505
OUTPUT_TARGET_NAME GENERATED_TARGET
@@ -512,19 +522,19 @@ function(AddTest)
512
522
${PARAMS_NAME}
513
523
PRIVATE ${PARAMS_LINK}
514
524
)
515
- LinkBasicLibs (
525
+ exp_link_basic_libs (
516
526
NAME ${PARAMS_NAME}
517
527
LIB ${BASIC_LIBS} ${BASIC_TEST_LIBS}
518
528
)
519
- LinkLibraries (
529
+ exp_link_libs (
520
530
NAME ${PARAMS_NAME}
521
531
LIB ${PARAMS_LIB}
522
532
)
523
- AddRuntimeDependenciesCopyCommand (
533
+ exp_add_runtime_deps_copy_command (
524
534
NAME ${PARAMS_NAME}
525
535
NOT_INSTALL
526
536
)
527
- AddResourcesCopyCommand (
537
+ exp_add_resources_copy_command (
528
538
NAME ${PARAMS_NAME}
529
539
RES ${PARAMS_RES}
530
540
NOT_INSTALL
0 commit comments