@@ -102,12 +102,6 @@ IF (${EXPORT_FILE_VAR_PREFIX}_CONFIG_INCLUDED)
102
102
RETURN()
103
103
ENDIF()
104
104
SET(${EXPORT_FILE_VAR_PREFIX} _CONFIG_INCLUDED TRUE)
105
-
106
- # Make sure CMAKE_CURRENT_LIST_DIR is usable
107
- IF (NOT DEFINED CMAKE_CURRENT_LIST_DIR)
108
- GET_FILENAME_COMPONENT(_THIS_SCRIPT_PATH \$ {CMAKE_CURRENT_LIST_FILE} PATH)
109
- SET(CMAKE_CURRENT_LIST_DIR \$ {_THIS_SCRIPT_PATH})
110
- ENDIF()
111
105
"
112
106
PARENT_SCOPE )
113
107
ENDFUNCTION ()
@@ -233,15 +227,14 @@ FUNCTION(TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES)
233
227
234
228
SET (FULL_PACKAGE_SET "" )
235
229
SET (FULL_LIBRARY_SET "" )
230
+ SET (FULL_INCLUDE_DIRS_SET "" )
231
+ SET (FULL_LIBRARY_DIRS_SET "" )
236
232
237
233
SET (SET_INCLUDE_LIBRARY_DIRS_FROM_UPSTREAM TRUE )
238
234
IF (${PACKAGE_NAME} _INCLUDE_DIRS )
239
235
SET (FULL_INCLUDE_DIRS_SET ${${PACKAGE_NAME}_INCLUDE_DIRS} )
240
236
SET (FULL_LIBRARY_DIRS_SET ${${PACKAGE_NAME}_LIBRARY_DIRS} )
241
237
SET (SET_INCLUDE_LIBRARY_DIRS_FROM_UPSTREAM FALSE )
242
- ELSE ()
243
- SET (FULL_INCLUDE_DIRS_SET "" )
244
- SET (FULL_LIBRARY_DIRS_SET "" )
245
238
ENDIF ()
246
239
247
240
IF (TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES_DEBUG_DUMP )
@@ -322,12 +315,28 @@ FUNCTION(TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES)
322
315
PRINT_VAR (FULL_LIBRARY_DIRS_SET )
323
316
ENDIF ()
324
317
318
+ SET (MY_DEP_SET "" )
319
+ LIST (APPEND MY_DEP_SET ${${PACKAGE_NAME}_LIB_REQUIRED_DEP_PACKAGES} )
320
+ FOREACH (DEP ${${PACKAGE_NAME}_LIB_OPTIONAL_DEP_PACKAGES} )
321
+ IF (${PACKAGE_NAME} _ENABLE_${DEP} )
322
+ LIST (APPEND MY_DEP_SET ${DEP} )
323
+ ENDIF ()
324
+ ENDFOREACH ()
325
+
325
326
#
326
327
# C) Get the set of TPLs for this package that are enabled
327
328
#
328
329
329
330
# C.1) Get the set of enabled TPLs
330
331
332
+ SET (MY_TPL_SET "" )
333
+ LIST (APPEND MY_TPL_SET ${${PACKAGE_NAME}_LIB_REQUIRED_DEP_TPLS} )
334
+ FOREACH (TPL ${${PACKAGE_NAME}_LIB_OPTIONAL_DEP_TPLS} )
335
+ IF (${PACKAGE_NAME} _ENABLE_${TPL} )
336
+ LIST (APPEND MY_TPL_SET ${TPL} )
337
+ ENDIF ()
338
+ ENDFOREACH ()
339
+
331
340
SET (FULL_TPL_SET "" )
332
341
FOREACH (TRIBITS_PACKAGE ${FULL_PACKAGE_SET} )
333
342
LIST (APPEND FULL_TPL_SET ${${TRIBITS_PACKAGE}_LIB_REQUIRED_DEP_TPLS} )
@@ -340,6 +349,17 @@ FUNCTION(TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES)
340
349
ENDIF ()
341
350
ENDFOREACH ()
342
351
ENDFOREACH ()
352
+ FOREACH (TRIBITS_PACKAGE ${FULL_PACKAGE_SET} )
353
+ LIST (APPEND FULL_TPL_SET ${${TRIBITS_PACKAGE}_LIB_REQUIRED_DEP_TPLS} )
354
+ SET (OPTIONAL_TPLS ${${TRIBITS_PACKAGE}_LIB_OPTIONAL_DEP_TPLS} )
355
+ FOREACH (TPL ${OPTIONAL_TPLS} )
356
+ # Only add if support for the optional TPL is enabled in this
357
+ # package. Don't just check if the TPL is enabled!
358
+ IF (${TRIBITS_PACKAGE} _ENABLE_${TPL} )
359
+ LIST (APPEND FULL_TPL_SET ${TPL} )
360
+ ENDIF ()
361
+ ENDFOREACH ()
362
+ ENDFOREACH ()
343
363
IF (TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES_DEBUG_DUMP )
344
364
PRINT_VAR (FULL_TPL_SET )
345
365
ENDIF ()
@@ -362,6 +382,14 @@ FUNCTION(TRIBITS_WRITE_FLEXIBLE_PACKAGE_CLIENT_EXPORT_FILES)
362
382
# D) Get the libraries, library dirs, and the include dirs for the
363
383
# upstream enabled TPLs
364
384
#
385
+ SET (MY_${PACKAGE_NAME}_TPL_LIBRARIES "" )
386
+ SET (MY_${PACKAGE_NAME}_TPL_INCLUDE_DIRS "" )
387
+ SET (MY_${PACKAGE_NAME}_TPL_LIBRARY_DIRS "" )
388
+ FOREACH (TPL ${MY_TPL_SET} )
389
+ LIST (APPEND MY_${PACKAGE_NAME}_TPL_LIBRARIES ${TPL_${TPL}_LIBRARIES} )
390
+ LIST (APPEND MY_${PACKAGE_NAME}_TPL_INCLUDE_DIRS ${TPL_${TPL}_INCLUDE_DIRS} )
391
+ LIST (APPEND MY_${PACKAGE_NAME}_TPL_LIBRARY_DIRS ${TPL_${TPL}_LIBRARY_DIRS} )
392
+ ENDFOREACH ()
365
393
366
394
SET (${PACKAGE_NAME} _TPL_LIBRARIES "" )
367
395
SET (${PACKAGE_NAME} _TPL_INCLUDE_DIRS "" )
@@ -514,15 +542,11 @@ INCLUDE(\"${${PROJECT_NAME}_BINARY_DIR}/${PROJECT_NAME}Targets.cmake\")"
514
542
515
543
IF (${PACKAGE_NAME} _FULL_ENABLED_DEP_PACKAGES )
516
544
SET (PACKAGE_CONFIG_CODE "${PACKAGE_CONFIG_CODE}
517
- # Include configuration of dependent packages" )
518
- ENDIF ()
519
- FOREACH (DEP_PACKAGE ${${PACKAGE_NAME}_FULL_ENABLED_DEP_PACKAGES} )
520
- SET (PACKAGE_CONFIG_CODE "${PACKAGE_CONFIG_CODE}
521
- INCLUDE(\"\$ {CMAKE_CURRENT_LIST_DIR}/../${DEP_PACKAGE} /${DEP_PACKAGE} Config.cmake\" )"
522
- )
523
- ENDFOREACH ()
524
- IF (${PACKAGE_NAME} _FULL_ENABLED_DEP_PACKAGES )
525
- SET (PACKAGE_CONFIG_CODE "${PACKAGE_CONFIG_CODE} \n " )
545
+ # Include configuration of dependent packages
546
+ FOREACH(DEP_PACKAGE \$ {${PACKAGE_NAME} _PACKAGE_LIST})
547
+ INCLUDE(\"\$ {CMAKE_CURRENT_LIST_DIR}/../\$ {DEP_PACKAGE}/\$ {DEP_PACKAGE}Config.cmake\" )
548
+ ENDFOREACH()
549
+ " )
526
550
ENDIF ()
527
551
528
552
# Import install tree targets into applications.
0 commit comments