Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
09af4fb
added shaderc dep
sjcobb2022 May 26, 2022
0201b77
added additional func
sjcobb2022 May 26, 2022
2abff74
added sed for mac
sjcobb2022 May 26, 2022
c261240
added shaderc to available components
sjcobb2022 May 26, 2022
be40a7e
updated shell for testing
sjcobb2022 Jul 8, 2022
fe2b780
update file
sjcobb2022 Jul 8, 2022
d396e12
get config file
sjcobb2022 Jul 8, 2022
837ea54
fixed debugging
sjcobb2022 Jul 8, 2022
db2a2bd
added build command
sjcobb2022 Jul 9, 2022
a5a0a67
try updating again
sjcobb2022 Jul 9, 2022
7d2a923
try x2
sjcobb2022 Jul 9, 2022
56757a6
change name of second
sjcobb2022 Jul 9, 2022
b3f26df
returned cmake to original
sjcobb2022 Jul 9, 2022
38179bf
updated action with additional input
sjcobb2022 Jul 9, 2022
6bee1fa
renamed new input
sjcobb2022 Jul 9, 2022
7189847
use config in external add
sjcobb2022 Jul 9, 2022
eff3175
cahching dependent on build config
sjcobb2022 Jul 9, 2022
4c07dbc
postfix
sjcobb2022 Jul 9, 2022
935281d
build all libs with postfix
sjcobb2022 Jul 9, 2022
f118191
try adding d for spirv-tools
sjcobb2022 Jul 9, 2022
106963f
dont use it on the loader
sjcobb2022 Jul 9, 2022
4c2e9cc
parallel build
sjcobb2022 Jul 10, 2022
27a97ad
glslang patch if shaderc
sjcobb2022 Jul 10, 2022
8d24097
install config debug
sjcobb2022 Jul 10, 2022
15b6b74
try postfix
sjcobb2022 Jul 11, 2022
72c8f8b
suffix
sjcobb2022 Jul 12, 2022
035af96
debugging
sjcobb2022 Jul 12, 2022
7d575bc
just strequal
sjcobb2022 Jul 13, 2022
68ba7d7
cmkae static lib
sjcobb2022 Jul 13, 2022
13532f2
remove postfix because already set static library postfix
sjcobb2022 Jul 13, 2022
53fed99
update cmake to try and get stuff to work
sjcobb2022 Jul 15, 2022
ee2e927
back to include
sjcobb2022 Jul 15, 2022
305dcea
spirv link fixing
sjcobb2022 Jul 15, 2022
151cd7a
fix spirv linking error
sjcobb2022 Jul 15, 2022
7a50e26
updated
sjcobb2022 Jul 15, 2022
f2abb1d
force cmake debug
sjcobb2022 Jul 15, 2022
be498bb
extra stuffs to try get compile working
sjcobb2022 Jul 15, 2022
cc970c5
spv remapper
sjcobb2022 Jul 15, 2022
05cb27d
i have no idea anymore
sjcobb2022 Jul 15, 2022
88b5e0a
ls_path
sjcobb2022 Jul 15, 2022
177de79
forgot interpolation
sjcobb2022 Jul 15, 2022
6715da7
debugging
sjcobb2022 Jul 15, 2022
36a1c7a
just include them because AA
sjcobb2022 Jul 15, 2022
4c8eb72
listing intall prefix
sjcobb2022 Jul 16, 2022
2a488f5
shaderc util patch as well?
sjcobb2022 Jul 17, 2022
cbc8387
glslang source dir
sjcobb2022 Jul 17, 2022
277d099
if block fix
sjcobb2022 Jul 17, 2022
2afc59d
update some more steps
sjcobb2022 Jul 17, 2022
f3b4603
&&
sjcobb2022 Jul 17, 2022
4414bcd
double check
sjcobb2022 Jul 17, 2022
30e89e7
why no work
sjcobb2022 Jul 17, 2022
e31d3ff
try removing lines
sjcobb2022 Jul 17, 2022
4658b88
no inplace for now
sjcobb2022 Jul 17, 2022
4a0cfeb
proper lines
sjcobb2022 Jul 17, 2022
7d0e543
better glslang_SOURC_DIR
sjcobb2022 Jul 17, 2022
c5d33b7
remove the fancy
sjcobb2022 Jul 17, 2022
181d50a
i guess?
sjcobb2022 Jul 17, 2022
c434fa5
just sed
sjcobb2022 Jul 17, 2022
748133e
dont get rid of build + some edits
sjcobb2022 Jul 17, 2022
04a53ee
simpler getting glslang test
sjcobb2022 Jul 17, 2022
274d863
targets
sjcobb2022 Jul 17, 2022
5a3569b
cleanup
sjcobb2022 Aug 11, 2022
d4d7882
begin intergration of vkpkg thing
sjcobb2022 Aug 11, 2022
068a91e
bunch of lists to confirm
sjcobb2022 Aug 11, 2022
2eb7748
update to add into third_party
sjcobb2022 Aug 11, 2022
4ed3015
add spriv to glslang
sjcobb2022 Aug 11, 2022
368fa7e
SPIRV global
sjcobb2022 Aug 11, 2022
14a0cbb
implement old fix
sjcobb2022 Aug 11, 2022
0057868
updates
sjcobb2022 Aug 11, 2022
1a58433
fixed spirv-tools
sjcobb2022 Aug 11, 2022
a427feb
link spirv-opt + spirv-tools
sjcobb2022 Aug 12, 2022
11f1aa6
INTERFACE
sjcobb2022 Aug 12, 2022
bbb8a7e
set glslang_SOURCE_DIR
sjcobb2022 Aug 12, 2022
990e0ff
find_package glslang
sjcobb2022 Aug 13, 2022
cce8f4c
glslang-config.cmake
sjcobb2022 Aug 13, 2022
039aaf0
ls the paths
sjcobb2022 Aug 13, 2022
c59a66c
forgot comment
sjcobb2022 Aug 13, 2022
8524311
add cmake_source_dir to cmake_module_path
sjcobb2022 Aug 15, 2022
d7dfc49
from the top
sjcobb2022 Aug 18, 2022
2efadac
cmake_extra
sjcobb2022 Aug 18, 2022
579045d
debugging
sjcobb2022 Aug 18, 2022
bb3367c
added debugging for source location
sjcobb2022 Aug 28, 2022
aa3f6e8
edits to make work?
sjcobb2022 Aug 28, 2022
13f9c50
testing source_dir build
sjcobb2022 Aug 28, 2022
75c03e6
SHADERC_
sjcobb2022 Aug 28, 2022
ea60789
../
sjcobb2022 Aug 28, 2022
f1bc67f
more ls and force strings
sjcobb2022 Aug 28, 2022
dba74b7
mistakes
sjcobb2022 Aug 28, 2022
5fb7a2a
filepath
sjcobb2022 Aug 29, 2022
98122df
try again with proper CMAKE_
sjcobb2022 Aug 29, 2022
2a6437d
progress
sjcobb2022 Aug 29, 2022
1dcb1b6
logging
sjcobb2022 Aug 29, 2022
7782c05
safeguard in glslang_SPIRV_patch
sjcobb2022 Aug 29, 2022
9faa9c4
try execute command
sjcobb2022 Aug 29, 2022
634c740
fixed python
sjcobb2022 Aug 29, 2022
6154bb4
proper proper python
sjcobb2022 Aug 29, 2022
4804a2f
force python3 for mac
sjcobb2022 Aug 29, 2022
b74c6ed
cleanup
sjcobb2022 Aug 29, 2022
5c02a5a
update action
sjcobb2022 Aug 29, 2022
219c9ef
spelling
sjcobb2022 Aug 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 67 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ include(cmake/json_utils.cmake)

project(VulkanSDKComponents)

set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang")
set(AVAILABLE_COMPONENTS "Vulkan-Headers Vulkan-Loader SPIRV-Headers SPIRV-Cross SPIRV-Tools SPIRV-Reflect Glslang shaderc")
# TODO: Vulkan-ExtensionLayer Khronos-Tools LunarG-Tools DXC gfxreconstruct MoltenVK Vulkan-Docs Vulkan-ValidationLayers robin-hood-hashing shaderc

macro(_assert varname)
Expand Down Expand Up @@ -49,6 +49,13 @@ set_property(GLOBAL APPEND PROPERTY SPIRV-Tools_deps_extra "SPIRV-Headers\;SPIRV
# manually list robin-hood-hashing as Vulkan-ValidationLayers dependency
set_property(GLOBAL APPEND PROPERTY Vulkan-ValidationLayers_deps_extra "robin-hood-hashing\;ROBIN_HOOD_HASHING_INSTALL_DIR")

# setup shaderc depends
set_property(GLOBAL APPEND PROPERTY shaderc_deps_extra "SPIRV-Tools\;spirv-tools_SOURCE_DIR;Glslang\;glslang_SOURCE_DIR")
set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_SKIP_TESTS:BOOL=ON)
set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_ENABLE_SHARED_CRT:BOOL=ON)
set_property(GLOBAL APPEND PROPERTY shaderc_cmake_extra -DSHADERC_SKIP_COPYRIGHT_CHECK:BOOL=ON)
set_property(GLOBAL APPEND PROPERTY shaderc_commit "1bbf43f210941ba69a2cd05cf3529063f1ff5bb9")

# robin-hood-hashing is odd in Vulkan SDK config.json's -- but only the header is actually needed
set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_install_command
test -d ${VULKAN_SDK}/include/ || mkdir -v ${VULKAN_SDK}/include/ &&
Expand All @@ -58,28 +65,65 @@ set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_install_command
set_property(GLOBAL APPEND PROPERTY robin-hood-hashing_cmake_extra -DRH_STANDALONE_PROJECT:BOOL=OFF)

# if SPIRV-Tools-opt is available as part of installed components enable Glslang to locate it
if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang")
if(VULKAN_SDK_COMPONENTS MATCHES "Glslang.*SPIRV-Tools|SPIRV-Tools.*Glslang|shaderc")
message("Glslang + SPIRV-Tools -- patching Glslang dependency on SPIRV-Tools-opt")
set_property(GLOBAL APPEND PROPERTY Glslang_deps_extra "SPIRV-Tools\;spirv-tools_SOURCE_DIR")
file(WRITE ${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake [====[
add_library(SPIRV-Tools-opt INTERFACE)
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/lib )
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include )
install(TARGETS SPIRV-Tools-opt EXPORT SPIRV-Tools-opt)
install(EXPORT SPIRV-Tools-opt DESTINATION lib/cmake)
set(spirv_tools NOTFOUND)
set(spirv_tools_opt NOTFOUND)
find_library(spirv_tools SPIRV-Tools PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
find_library(spirv_tools_opt SPIRV-Tools-opt PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools})
if(NOT TARGET SPIRV-Tools-opt)
add_library(SPIRV-Tools-opt INTERFACE)
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/lib )
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_INSTALL_PREFIX}/include )
install(TARGETS SPIRV-Tools-opt EXPORT SPIRV-Tools-opt)
install(EXPORT SPIRV-Tools-opt DESTINATION lib/cmake)
set(spirv_tools NOTFOUND)
set(spirv_tools_opt NOTFOUND)
find_library(spirv_tools NAMES SPIRV-Tools SPIRV-Toolsd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
find_library(spirv_tools_opt NAMES SPIRV-Tools-opt SPIRV-Tools-optd PATHS ${CMAKE_INSTALL_PREFIX}/lib REQUIRED NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
set_property(TARGET SPIRV-Tools-opt APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${spirv_tools_opt} ${spirv_tools})
endif()
]====])
set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash -c "echo 'include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)' | tee External/CMakeLists.txt")
set_property(GLOBAL APPEND PROPERTY Glslang_patch_command bash "-c" "sed -i \'44 a include(${CMAKE_BINARY_DIR}/Glslang_SPIRV_patch.cmake)\' CMakeLists.txt")
set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DENABLE_OPT:BOOL=ON)
else()
# otherwise disable External completely
set_property(GLOBAL APPEND PROPERTY Glslang_cmake_extra -DBUILD_EXTERNAL:BOOL=OFF)
endif()

function(ls_path path)
if(WIN32)
execute_process(COMMAND powershell "-c" "ls ${path}")
else()
execute_process(COMMAND bash "-c" "ls ${path}")
endif()
endfunction(ls_path path)

if(VULKAN_SDK_COMPONENTS MATCHES "shaderc")

file(WRITE ${CMAKE_BINARY_DIR}/shaderc_patch.cmake [====[
message(STATUS "======================== SHADERC PATCH ========================")
set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Headers-prefix/src/SPIRV-Headers" CACHE FILEPATH "" FORCE)
set(SHADERC_GLSLANG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../Glslang-prefix/src/Glslang" CACHE FILEPATH "" FORCE)
set(SHADERC_SPIRV_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../SPIRV-Tools-prefix/src/SPIRV-Tools" CACHE FILEPATH "" FORCE)

execute_process(COMMAND python3 "${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py" "${CMAKE_CURRENT_SOURCE_DIR}" "${SHADERC_SPIRV_TOOLS_DIR}" "${SHADERC_GLSLANG_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/build-version.inc")

if(MSVC)
set(SHADERC_ENABLE_SHARED_CRT ON CACHE BOOL "" FORCE)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND MSVC)
message(STATUS "config debug strqual")
set(CMAKE_DEBUG_POSTFIX "")
set(CMAKE_STATIC_LIBRARY_SUFFIX "d${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(CMAKE_SHARED_LIBRARY_SUFFIX "d${CMAKE_SHARED_LIBRARY_SUFFIX}")
endif()

]====])

set_property(GLOBAL APPEND PROPERTY shaderc_patch_command bash "-c" "sed -i -e \'17a include(${CMAKE_BINARY_DIR}/shaderc_patch.cmake)\' CMakeLists.txt && sed -i \'137,141d\' CMakeLists.txt && sed -i \'56d\' glslc/CMakeLists.txt")

endif()

function(setup_component_dependency key value parentName)
setup_component(${key} ${parentName})
set_property(GLOBAL APPEND PROPERTY ${parentName}_cmake_extra -D${value}:FILEPATH=${VULKAN_SDK})
Expand Down Expand Up @@ -108,15 +152,19 @@ function(setup_component name parentName)
# convert spaces to list (otherwise CMAKE_ARGS seems to force quotes if there are spaces in singular values)
string(REPLACE " " ";" cmake_extra "${cmake_extra}")
set(cmake_args
-Wno-dev
-DCMAKE_INSTALL_MESSAGE=NEVER
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_BUILD_TYPE=$<CONFIG>
-DCMAKE_INSTALL_PREFIX=${VULKAN_SDK}
# -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
# -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
# -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
)

list(APPEND cmake_args ${cmake_extra})
if(NOT ("${name}" STREQUAL "Vulkan-Loader") AND MSVC)
list(APPEND cmake_args -DCMAKE_DEBUG_POSTFIX=d) # Only want debug postfix on windows since debug libs are seperate. used in shaderc
endif()

message(STATUS "ExternalProject_Add ${name} ${ref} deps=[${deps}] cmake_extra=[${cmake_extra}]")
ExternalProject_Add("${name}"
GIT_REPOSITORY "${url}"
Expand All @@ -128,6 +176,7 @@ function(setup_component name parentName)
PATCH_COMMAND ${patch_command}
INSTALL_COMMAND ${install_command}
)

set_property(GLOBAL APPEND PROPERTY VULKAN_COMPONENTS_PROCESSED ${name})
endfunction()

Expand All @@ -154,6 +203,8 @@ foreach(name ${VULKAN_SDK_COMPONENTS})
setup_component(${name} "${name}")
endforeach()



message("===================================================================")
message("VULKAN_SDK_COMPONENTS: ${VULKAN_SDK_COMPONENTS}")
get_property(VULKAN_COMPONENTS_PROCESSED GLOBAL PROPERTY VULKAN_COMPONENTS_PROCESSED)
Expand All @@ -171,4 +222,4 @@ VULKAN_SDK_CONFIG=${VULKAN_SDK_CONFIG}
VULKAN_SDK_COMPONENTS=\"${VULKAN_SDK_COMPONENTS}\"
")

install(FILES ${CMAKE_BINARY_DIR}/sdk.env DESTINATION .)
install(FILES ${CMAKE_BINARY_DIR}/sdk.env DESTINATION .)
22 changes: 12 additions & 10 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,15 @@ inputs:
description: 'specify whether to cache VULKAN_SDK/ results between runs (using github actions/cache)'
default: false
required: false
build-config:
description: 'CMake build type to be used in the build process'
default: 'Release'
required: false
runs:
using: "composite"
steps:
- uses: humbletim/vsdevenv-shell@e87fcf2359929606ba32db358baef5ede4737aed

# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3.9
# with:
# limit-access-to-actor: true

- name: Resolve Vulkan SDK Configuration
shell: bash
run: |
Expand All @@ -45,7 +44,10 @@ runs:
run: |
# dev prerequisites
case `uname -s` in
Darwin) ;;
Darwin)
brew install gnu-sed
echo "/usr/local/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH
;;
Linux)
sudo apt-get -qq update
sudo apt-get -qq install -y libwayland-dev libxrandr-dev
Expand All @@ -72,7 +74,7 @@ runs:
uses: actions/cache@v2
with:
path: VULKAN_SDK
key: ${{ runner.os }}-vulkan-cached-sdk-${{ hashFiles('_vulkan_build/cache-key.txt') }}
key: ${{ runner.os }}-vulkan-cached-sdk-${{inputs.build-config}}-${{ hashFiles('_vulkan_build/cache-key.txt') }}

- name: Configure Vulkan SDK Build Prerequisites
if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -100,7 +102,7 @@ runs:
CXX=cl.exe
fi
cmake -S $GITHUB_ACTION_PATH -B ${VULKAN_SDK_BUILD_DIR} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=${{ inputs.build-config }} \
-DVULKAN_SDK=${VULKAN_SDK} \
-DVULKAN_SDK_CONFIG="${VULKAN_SDK_CONFIG_FILE}" \
-DVULKAN_SDK_COMPONENTS="${VULKAN_SDK_COMPONENTS}" \
Expand All @@ -113,7 +115,7 @@ runs:
# cmake build
set -a
. $PWD/_vulkan_build/env
cmake --build ${VULKAN_SDK_BUILD_DIR} --config Release
cmake --build ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }} --parallel 8

- name: Install Vulkan SDK Components
if: steps.vulkan-cached-sdk.outputs.cache-hit != 'true'
Expand All @@ -122,7 +124,7 @@ runs:
# cmake install
set -a
. $PWD/_vulkan_build/env
cmake --install ${VULKAN_SDK_BUILD_DIR}
cmake --install ${VULKAN_SDK_BUILD_DIR} --config ${{ inputs.build-config }}

- name: Verify Vulkan SDK Installation
shell: bash
Expand Down
19 changes: 17 additions & 2 deletions cmake/json_utils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,23 @@ endfunction()
function(json_coalesce_subprops _json _OUTVAR)
cmake_parse_arguments(_sub "" "" "PROPERTIES" ${ARGN})
foreach(_arg IN LISTS _sub_PROPERTIES)

set(route "${_sub_UNPARSED_ARGUMENTS}")
separate_arguments(route)
list(LENGTH route len)
math(EXPR last_index "${len} - 1")
list(GET route ${last_index} _comp)

get_property(_value GLOBAL PROPERTY "${_comp}_${_arg}")

if(NOT ${_value} MATCHES "-NOTFOUND|^$|^null$|^undefined$")
message(STATUS " >>> Found ${_comp}_${_arg} :: ${_value}")
set(${_OUTVAR} ${_value} PARENT_SCOPE)
return()
endif()

string(JSON _value ERROR_VARIABLE jsonerror GET "${_json}" ${_sub_UNPARSED_ARGUMENTS} "${_arg}")

if (NOT ${_value} MATCHES "-NOTFOUND|^$|^null$|^undefined$")
set(${_OUTVAR} ${_value} PARENT_SCOPE)
return()
Expand Down Expand Up @@ -73,5 +89,4 @@ function(get_component_props _comp)
get_property(_value GLOBAL PROPERTY "${_comp}_${_arg}")
set(${_arg} "${_value}" PARENT_SCOPE)
endforeach()
endfunction()

endfunction()