|
@@ -5,7 +5,7 @@ include_guard(GLOBAL)
|
|
|
include(compilerconfig)
|
|
|
|
|
|
if(NOT DEFINED OBS_PARENT_ARCHITECTURE)
|
|
|
- if(CMAKE_VS_PLATFORM_NAME MATCHES "(Win32|x64)")
|
|
|
+ if(CMAKE_VS_PLATFORM_NAME MATCHES "(Win32|x64|ARM64)")
|
|
|
set(OBS_PARENT_ARCHITECTURE ${CMAKE_VS_PLATFORM_NAME})
|
|
|
else()
|
|
|
message(FATAL_ERROR "Unsupported generator platform for Windows builds: ${CMAKE_VS_PLATFORM_NAME}!")
|
|
@@ -13,14 +13,32 @@ if(NOT DEFINED OBS_PARENT_ARCHITECTURE)
|
|
|
endif()
|
|
|
|
|
|
if(OBS_PARENT_ARCHITECTURE STREQUAL CMAKE_VS_PLATFORM_NAME)
|
|
|
- if(OBS_PARENT_ARCHITECTURE STREQUAL x64)
|
|
|
+ if(OBS_PARENT_ARCHITECTURE STREQUAL ARM64)
|
|
|
+ execute_process(
|
|
|
+ COMMAND
|
|
|
+ "${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x64 -A
|
|
|
+ "x64,version=${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}" -G "${CMAKE_GENERATOR}"
|
|
|
+ -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID}
|
|
|
+ -DCMAKE_MESSAGE_LOG_LEVEL:STRING=${CMAKE_MESSAGE_LOG_LEVEL} -DOBS_PARENT_ARCHITECTURE:STRING=ARM64
|
|
|
+ RESULT_VARIABLE _process_result
|
|
|
+ COMMAND_ERROR_IS_FATAL ANY
|
|
|
+ )
|
|
|
+ execute_process(
|
|
|
+ COMMAND
|
|
|
+ "${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x86 -A
|
|
|
+ "Win32,version=${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}" -G "${CMAKE_GENERATOR}"
|
|
|
+ -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID}
|
|
|
+ -DCMAKE_MESSAGE_LOG_LEVEL:STRING=${CMAKE_MESSAGE_LOG_LEVEL} -DOBS_PARENT_ARCHITECTURE:STRING=ARM64
|
|
|
+ RESULT_VARIABLE _process_result
|
|
|
+ COMMAND_ERROR_IS_FATAL ANY
|
|
|
+ )
|
|
|
+ elseif(OBS_PARENT_ARCHITECTURE STREQUAL x64)
|
|
|
execute_process(
|
|
|
COMMAND
|
|
|
"${CMAKE_COMMAND}" -S ${CMAKE_CURRENT_SOURCE_DIR} -B ${CMAKE_SOURCE_DIR}/build_x86 -A
|
|
|
"Win32,version=${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}" -G "${CMAKE_GENERATOR}"
|
|
|
- -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DOBS_CMAKE_VERSION:STRING=3.0.0
|
|
|
- -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID} -DCMAKE_MESSAGE_LOG_LEVEL:STRING=${CMAKE_MESSAGE_LOG_LEVEL}
|
|
|
- -DENABLE_CCACHE:BOOL=${ENABLE_CCACHE} -DOBS_PARENT_ARCHITECTURE:STRING=x64
|
|
|
+ -DCMAKE_SYSTEM_VERSION:STRING='${CMAKE_SYSTEM_VERSION}' -DVIRTUALCAM_GUID:STRING=${VIRTUALCAM_GUID}
|
|
|
+ -DCMAKE_MESSAGE_LOG_LEVEL:STRING=${CMAKE_MESSAGE_LOG_LEVEL} -DOBS_PARENT_ARCHITECTURE:STRING=x64
|
|
|
RESULT_VARIABLE _process_result
|
|
|
COMMAND_ERROR_IS_FATAL ANY
|
|
|
)
|