2023-03-26 03:55:25 +02:00
|
|
|
if(NOT TARGET OBS::blake2)
|
|
|
|
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/blake2" "${CMAKE_BINARY_DIR}/deps/blake2")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT TARGET OBS::w32-pthreads)
|
|
|
|
add_subdirectory("${CMAKE_SOURCE_DIR}/deps/w32-pthreads" "${CMAKE_BINARY_DIR}/deps/w32-pthreads")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
find_package(MbedTLS)
|
|
|
|
find_package(Detours REQUIRED)
|
2023-07-23 07:45:17 +02:00
|
|
|
find_package(nlohmann_json REQUIRED)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
|
|
|
configure_file(cmake/windows/obs.rc.in obs.rc)
|
|
|
|
|
|
|
|
target_sources(
|
|
|
|
obs-studio
|
2023-10-06 00:40:36 +02:00
|
|
|
PRIVATE
|
2023-03-26 03:55:25 +02:00
|
|
|
cmake/windows/obs.manifest
|
2023-10-06 00:40:36 +02:00
|
|
|
obs.rc
|
|
|
|
platform-windows.cpp
|
2023-03-26 03:55:25 +02:00
|
|
|
update/crypto-helpers-mbedtls.cpp
|
|
|
|
update/crypto-helpers.hpp
|
2023-10-06 00:40:36 +02:00
|
|
|
update/models/branches.hpp
|
|
|
|
update/models/whatsnew.hpp
|
2023-03-26 03:55:25 +02:00
|
|
|
update/shared-update.cpp
|
|
|
|
update/shared-update.hpp
|
|
|
|
update/update-helpers.cpp
|
|
|
|
update/update-helpers.hpp
|
|
|
|
update/update-window.cpp
|
|
|
|
update/update-window.hpp
|
|
|
|
update/win-update.cpp
|
2023-07-23 07:45:17 +02:00
|
|
|
update/win-update.hpp
|
2023-10-06 00:40:36 +02:00
|
|
|
win-dll-blocklist.c
|
2023-07-23 07:45:17 +02:00
|
|
|
win-update/updater/manifest.hpp
|
|
|
|
)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
2024-04-18 15:41:36 +02:00
|
|
|
target_sources(obs-studio PRIVATE system-info-windows.cpp)
|
|
|
|
|
2023-07-23 07:45:17 +02:00
|
|
|
target_link_libraries(
|
|
|
|
obs-studio
|
|
|
|
PRIVATE crypt32 OBS::blake2 OBS::w32-pthreads MbedTLS::MbedTLS nlohmann_json::nlohmann_json Detours::Detours
|
|
|
|
)
|
2023-10-06 00:40:36 +02:00
|
|
|
|
2023-03-28 19:50:59 +02:00
|
|
|
target_compile_definitions(obs-studio PRIVATE PSAPI_VERSION=2)
|
2023-10-06 00:40:36 +02:00
|
|
|
|
|
|
|
target_link_options(obs-studio PRIVATE /IGNORE:4099)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
2023-04-04 15:28:46 +02:00
|
|
|
add_library(obs-update-helpers INTERFACE)
|
2023-03-26 03:55:25 +02:00
|
|
|
add_library(OBS::update-helpers ALIAS obs-update-helpers)
|
|
|
|
|
|
|
|
target_sources(obs-update-helpers INTERFACE win-update/win-update-helpers.cpp win-update/win-update-helpers.hpp)
|
2023-10-06 00:40:36 +02:00
|
|
|
|
2023-03-26 03:55:25 +02:00
|
|
|
target_include_directories(obs-update-helpers INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/win-update")
|
2023-10-03 03:54:42 +02:00
|
|
|
|
|
|
|
# Set commit for untagged version comparisons in the Windows updater
|
|
|
|
if(OBS_VERSION MATCHES ".+g[a-f0-9]+.*")
|
|
|
|
string(REGEX REPLACE ".+g([a-f0-9]+).*$" "\\1" OBS_COMMIT ${OBS_VERSION})
|
|
|
|
else()
|
|
|
|
set(OBS_COMMIT "")
|
|
|
|
endif()
|
2023-10-06 00:40:36 +02:00
|
|
|
|
2023-05-19 15:05:07 +02:00
|
|
|
set_source_files_properties(update/win-update.cpp PROPERTIES COMPILE_DEFINITIONS OBS_COMMIT="${OBS_COMMIT}")
|
2023-03-26 03:55:25 +02:00
|
|
|
|
|
|
|
add_subdirectory(win-update/updater)
|
|
|
|
|
|
|
|
set_property(TARGET obs-studio APPEND PROPERTY AUTORCC_OPTIONS --format-version 1)
|
|
|
|
|
|
|
|
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT obs-studio)
|
|
|
|
set_target_properties(
|
|
|
|
obs-studio
|
2023-03-28 19:50:59 +02:00
|
|
|
PROPERTIES
|
|
|
|
WIN32_EXECUTABLE TRUE
|
|
|
|
VS_DEBUGGER_COMMAND "${CMAKE_BINARY_DIR}/rundir/$<CONFIG>/bin/64bit/$<TARGET_FILE_NAME:obs-studio>"
|
|
|
|
VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/rundir/$<CONFIG>/bin/64bit"
|
|
|
|
)
|