@@ -1325,13 +1325,17 @@ struct DeviceConfigCaps
1325
1325
endif ()
1326
1326
1327
1327
set (REQUIRED_SINGLE_ARGS TARGET BINARY_DIR OUTPUT_VAR INPUTS INCLUDE NAMESPACE MOUNT_POINT_DEFINE )
1328
- cmake_parse_arguments (IMPL "" "${REQUIRED_SINGLE_ARGS} " "COMMON_OPTIONS" ${ARGV} )
1328
+ cmake_parse_arguments (IMPL "" "${REQUIRED_SINGLE_ARGS} ;LINK_TO " "COMMON_OPTIONS;DEPENDS " ${ARGV} )
1329
1329
NBL_PARSE_REQUIRED (IMPL ${REQUIRED_SINGLE_ARGS} )
1330
1330
1331
1331
if (NOT TARGET ${IMPL_TARGET} )
1332
1332
add_library (${IMPL_TARGET} INTERFACE )
1333
1333
endif ()
1334
1334
1335
+ if (IMPL_LINK_TO )
1336
+ target_link_libraries (${IMPL_LINK_TO} PUBLIC ${IMPL_TARGET} )
1337
+ endif ()
1338
+
1335
1339
if (IS_ABSOLUTE "${IMPL_INCLUDE} " )
1336
1340
message (FATAL_ERROR "INCLUDE argument must be relative path" )
1337
1341
endif ()
@@ -1429,6 +1433,10 @@ namespace @IMPL_NAMESPACE@ {
1429
1433
endif ()
1430
1434
endif ()
1431
1435
1436
+ if (IMPL_DEPENDS )
1437
+ list (APPEND DEPENDS_ON ${IMPL_DEPENDS} )
1438
+ endif ()
1439
+
1432
1440
set (HAS_CAPS FALSE )
1433
1441
set (CAPS_LENGTH 0 )
1434
1442
string (JSON CAPS_TYPE TYPE "${IMPL_INPUTS} " ${INDEX} CAPS )
@@ -1625,9 +1633,14 @@ endfunction()
1625
1633
1626
1634
function (NBL_CREATE_RESOURCE_ARCHIVE )
1627
1635
set (REQUIRED_SINGLE_ARGS TARGET BIND NAMESPACE )
1628
- cmake_parse_arguments (IMPL "" "${REQUIRED_SINGLE_ARGS} " "BUILTINS" ${ARGV} )
1636
+ cmake_parse_arguments (IMPL "" "${REQUIRED_SINGLE_ARGS} " "BUILTINS;LINK_TO " ${ARGV} )
1629
1637
NBL_PARSE_REQUIRED (IMPL ${REQUIRED_SINGLE_ARGS} )
1630
1638
1639
+ if (NOT NBL_EMBED_BUILTIN_RESOURCES )
1640
+ add_library (${IMPL_TARGET} INTERFACE ) # dummy, could use LINK_TO but makes no difference in this case
1641
+ return ()
1642
+ endif ()
1643
+
1631
1644
set (IMPL_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} /${IMPL_TARGET} " )
1632
1645
1633
1646
set (_BUNDLE_ARCHIVE_ABSOLUTE_PATH_ "" )
@@ -1641,17 +1654,18 @@ function(NBL_CREATE_RESOURCE_ARCHIVE)
1641
1654
get_filename_component (BUILTIN_ARCHIVE_INPUT_ABS_ENTRY "${IMPL_INPUT_DIRECTORY} " ABSOLUTE )
1642
1655
set (BUILTIN_KEY_ENTRY_ABS "${BUILTIN_ARCHIVE_INPUT_ABS_ENTRY} /${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_} " )
1643
1656
1644
- if ( NBL_EMBED_BUILTIN_RESOURCES )
1645
- foreach (IT ${IMPL_BUILTINS} )
1646
- if (NBL_LOG_VERBOSE )
1647
- message (STATUS "[${IMPL_TARGET} 's Builtins]: Registered \" ${IT} \" key" )
1648
- endif ()
1657
+ unset ( NBL_RESOURCES_TO_EMBED )
1658
+ foreach (IT ${IMPL_BUILTINS} )
1659
+ if (NBL_LOG_VERBOSE )
1660
+ message (STATUS "[${IMPL_TARGET} 's Builtins]: Registered \" ${IT} \" key" )
1661
+ endif ()
1649
1662
1650
- LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED ${IT} )
1651
- endforeach ()
1663
+ LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED ${IT} )
1664
+ endforeach ()
1652
1665
1653
- ADD_CUSTOM_BUILTIN_RESOURCES (${IMPL_TARGET} NBL_RESOURCES_TO_EMBED "${_BUNDLE_SEARCH_DIRECTORY_} " "${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_} " "${_BUILTIN_RESOURCES_NAMESPACE_} " "${_OUTPUT_DIRECTORY_HEADER_} " "${_OUTPUT_DIRECTORY_SOURCE_} " "${_LINK_MODE_} " )
1654
- else ()
1655
- add_library (${IMPL_TARGET} INTERFACE ) # dummy
1666
+ ADD_CUSTOM_BUILTIN_RESOURCES (${IMPL_TARGET} NBL_RESOURCES_TO_EMBED "${_BUNDLE_SEARCH_DIRECTORY_} " "${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_} " "${_BUILTIN_RESOURCES_NAMESPACE_} " "${_OUTPUT_DIRECTORY_HEADER_} " "${_OUTPUT_DIRECTORY_SOURCE_} " "${_LINK_MODE_} " )
1667
+
1668
+ if (IMPL_LINK_TO )
1669
+ LINK_BUILTIN_RESOURCES_TO_TARGET (${IMPL_LINK_TO} ${IMPL_TARGET} )
1656
1670
endif ()
1657
1671
endfunction ()
0 commit comments