mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-22 01:44:49 -05:00
66 lines
2.0 KiB
CMake
66 lines
2.0 KiB
CMake
# CMake macOS build dependencies module
|
|
|
|
include_guard(GLOBAL)
|
|
|
|
include(buildspec_common)
|
|
|
|
# Hacky workaround to ensure all libobs headers are available at build time
|
|
function(_check_for_libobs_headers)
|
|
set(dependencies_dir "${CMAKE_CURRENT_SOURCE_DIR}/.deps")
|
|
|
|
set(headers_to_copy "util/config-file.h" "util/platform.h"
|
|
"graphics/matrix4.h" "graphics/axisang.h")
|
|
|
|
foreach(header IN LISTS headers_to_copy)
|
|
set(libobs_header_location
|
|
"${dependencies_dir}/Frameworks/libobs.framework/Versions/A/Headers/${header}"
|
|
)
|
|
|
|
if(EXISTS ${libobs_header_location})
|
|
continue()
|
|
endif()
|
|
|
|
string(
|
|
JSON
|
|
version
|
|
GET
|
|
${buildspec}
|
|
dependencies
|
|
obs-studio
|
|
version)
|
|
set(input_file "${dependencies_dir}/obs-studio-${version}/libobs/${header}")
|
|
message(STATUS "Will copy ${input_file} to ${libobs_header_location} ...")
|
|
configure_file(${input_file} ${libobs_header_location} COPYONLY)
|
|
endforeach()
|
|
endfunction()
|
|
|
|
# _check_dependencies_macos: Set up macOS slice for _check_dependencies
|
|
function(_check_dependencies_macos)
|
|
set(arch universal)
|
|
set(platform macos)
|
|
|
|
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/buildspec.json" buildspec)
|
|
|
|
set(dependencies_dir "${CMAKE_CURRENT_SOURCE_DIR}/.deps")
|
|
set(prebuilt_filename "macos-deps-VERSION-ARCH_REVISION.tar.xz")
|
|
set(prebuilt_destination "obs-deps-VERSION-ARCH")
|
|
set(qt6_filename "macos-deps-qt6-VERSION-ARCH-REVISION.tar.xz")
|
|
set(qt6_destination "obs-deps-qt6-VERSION-ARCH")
|
|
set(obs-studio_filename "VERSION.tar.gz")
|
|
set(obs-studio_destination "obs-studio-VERSION")
|
|
set(dependencies_list prebuilt qt6 obs-studio)
|
|
|
|
_check_dependencies()
|
|
|
|
execute_process(COMMAND "xattr" -r -d com.apple.quarantine
|
|
"${dependencies_dir}" RESULT_VARIABLE result)
|
|
|
|
list(APPEND CMAKE_FRAMEWORK_PATH "${dependencies_dir}/Frameworks")
|
|
set(CMAKE_FRAMEWORK_PATH
|
|
${CMAKE_FRAMEWORK_PATH}
|
|
PARENT_SCOPE)
|
|
endfunction()
|
|
|
|
_check_dependencies_macos()
|
|
_check_for_libobs_headers()
|