obs-studio/frontend/updater/CMakeLists.txt
Ryan Foster e471d3109b cmake: Specify NOMINMAX all the time on Windows
This prevents the Windows headers from defining min/max macros.

Use std::min and std::max.

Modifies deps, frontend, libobs-d3d11, libobs-winrt, decklink, obs-vst,
and win-dshow.
2025-02-07 14:52:24 -05:00

40 lines
971 B
CMake

cmake_minimum_required(VERSION 3.28...3.30)
find_package(zstd)
find_package(nlohmann_json 3.11 REQUIRED)
add_executable(updater WIN32)
target_sources(
updater
PRIVATE
hash.cpp
helpers.cpp
helpers.hpp
http.cpp
init-hook-files.c
manifest.hpp
patch.cpp
resource.h
updater.cpp
updater.hpp
updater.manifest
updater.rc
)
target_compile_definitions(updater PRIVATE "PSAPI_VERSION=2")
target_include_directories(updater PRIVATE "${CMAKE_SOURCE_DIR}/libobs" "${CMAKE_SOURCE_DIR}/frontend/utility")
target_link_libraries(
updater
PRIVATE OBS::blake2_static nlohmann_json::nlohmann_json zstd::libzstd_static comctl32 shell32 version winhttp wintrust
)
# zstd is hardcoded with /DEFAULTLIB:LIBCMT
target_link_options(updater PRIVATE $<$<CONFIG:DEBUG>:/NODEFAULTLIB:LIBCMT>)
set_target_properties(
updater
PROPERTIES FOLDER frontend OUTPUT_NAME updater MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)