47 lines
1.2 KiB
CMake
47 lines
1.2 KiB
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>
|
|
"$<$<OR:$<CONFIG:Release>,$<CONFIG:MinSizeRel>>:/PDBALTPATH:$<TARGET_PDB_FILE_NAME:updater>>"
|
|
"$<$<OR:$<CONFIG:Release>,$<CONFIG:MinSizeRel>>:/PDBSTRIPPED:$<TARGET_PDB_FILE_NAME:updater>>"
|
|
)
|
|
|
|
set_target_properties(
|
|
updater
|
|
PROPERTIES FOLDER frontend OUTPUT_NAME updater MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
|
|
)
|