|
|
@@ -46,11 +46,37 @@ function(_check_deps_version version)
|
|
|
return(PROPAGATE found CMAKE_PREFIX_PATH)
|
|
|
endfunction()
|
|
|
|
|
|
+function(_get_dependency_data variable_name)
|
|
|
+ file(READ "${CMAKE_CURRENT_SOURCE_DIR}/CMakePresets.json" preset_data)
|
|
|
+
|
|
|
+ string(JSON configure_presets GET ${preset_data} "configurePresets")
|
|
|
+
|
|
|
+ string(JSON preset_count LENGTH "${configure_presets}")
|
|
|
+ math(EXPR preset_count "${preset_count}-1")
|
|
|
+
|
|
|
+ foreach(index RANGE 0 ${preset_count})
|
|
|
+ string(JSON preset_member_data GET "${configure_presets}" ${index})
|
|
|
+ string(JSON preset_name GET ${preset_member_data} "name")
|
|
|
+
|
|
|
+ if(preset_name STREQUAL dependencies)
|
|
|
+ string(JSON vendor_data GET ${preset_member_data} "vendor")
|
|
|
+ string(JSON vendor_data GET ${vendor_data} "obsproject.com/obs-studio")
|
|
|
+ string(JSON dependency_data GET ${vendor_data} "dependencies")
|
|
|
+ break()
|
|
|
+ else()
|
|
|
+ continue()
|
|
|
+ endif()
|
|
|
+ endforeach()
|
|
|
+
|
|
|
+ set(${variable_name} "${dependency_data}")
|
|
|
+
|
|
|
+ return(PROPAGATE ${variable_name})
|
|
|
+endfunction()
|
|
|
+
|
|
|
# _check_dependencies: Fetch and extract pre-built OBS build dependencies
|
|
|
function(_check_dependencies)
|
|
|
- file(READ "${CMAKE_CURRENT_SOURCE_DIR}/buildspec.json" buildspec)
|
|
|
-
|
|
|
- string(JSON dependency_data GET ${buildspec} dependencies)
|
|
|
+ set(dependencies_list ${ARGV})
|
|
|
+ _get_dependency_data(dependency_data)
|
|
|
|
|
|
foreach(dependency IN LISTS dependencies_list)
|
|
|
if(dependency STREQUAL cef AND NOT ENABLE_BROWSER)
|