cmake_minimum_required(VERSION 3.29) set(VCPKG_TARGET_TRIPLET x64-windows-static) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") set(CMAKE_CXX_STANDARD 20) project(zen CXX) add_compile_options("$<$:/utf-8>") add_compile_options("$<$:/utf-8>") add_compile_definitions( _CRT_SECURE_NO_WARNINGS UNICODE _UNICODE NOMINMAX NOGDI _CONSOLE _WIN32_WINNT=0x0A00 ZEN_WITH_TESTS=0 ) find_package(asio CONFIG REQUIRED) find_package(blake3 CONFIG REQUIRED) find_package(cpr CONFIG REQUIRED) find_package(curl CONFIG REQUIRED) find_package(cxxopts CONFIG REQUIRED) find_package(doctest CONFIG REQUIRED) find_package(fmt CONFIG REQUIRED) find_package(gsl-lite CONFIG REQUIRED) find_package(unofficial-http-parser CONFIG REQUIRED) find_package(json11 CONFIG REQUIRED) find_package(lua CONFIG REQUIRED) find_package(lz4 CONFIG REQUIRED) find_package(ryml CONFIG REQUIRED) find_package(c4core CONFIG REQUIRED) find_package(tsl-robin-map CONFIG REQUIRED) find_package(sol2 CONFIG REQUIRED) find_package(spdlog CONFIG REQUIRED) find_package(xxhash CONFIG REQUIRED) find_package(mimalloc CONFIG REQUIRED) find_package(sentry CONFIG REQUIRED) set(RB ${CMAKE_SOURCE_DIR}) set(R ${CMAKE_SOURCE_DIR}/src) set(VERSION "0.0.0") set(VERSION_MAJOR 0) set(VERSION_MINOR 0) set(VERSION_ALTER 0) set(VERSION_BUILD 0) set(GIT_BRANCH "di") set(GIT_COMMIT "hello") set(ZEN_SCHEMA_VERSION 5) configure_file(${R}/zencore/include/zencore/config.h.in ${R}/zencore/include/zencore/config.h) file(GLOB_RECURSE SRC ${R}/zencore/**.cpp ${R}/zenhttp/**.cpp ${R}/zennet/**.cpp ${R}/zenserver/**.cpp ${R}/zenstore/**.cpp ${R}/zenutil/**.cpp ${R}/zenvfs/**.cpp ) add_executable(zenserver ${SRC}) target_include_directories(zenserver PRIVATE ${R}/transports/transport-sdk/include ${R}/zenbase ${R}/zenbase/include ${R}/zencore ${R}/zencore/include ${R}/zenhttp ${R}/zenhttp/include ${R}/zennet ${R}/zennet/include ${R}/zenstore ${R}/zenstore/include ${R}/zenutil ${R}/zenutil/include ${R}/zenvfs ${R}/zenvfs/include ${R}/zenserver ${R}/zenserver/include ${R}/zen ${R}/zen/include ${RB}/thirdparty/utfcpp/source ${RB}/thirdparty/Oodle/include ${RB}/thirdparty/trace ) target_link_directories(zenserver PRIVATE ${RB}/thirdparty/Oodle/lib/Win64) target_link_libraries(zenserver PRIVATE asio::asio BLAKE3::blake3 cpr::cpr CURL::libcurl_static cxxopts::cxxopts doctest::doctest fmt::fmt unofficial::http_parser::http_parser ${JSON11_LIBRARIES} lua lz4::lz4 ryml::ryml c4core::c4core xxHash::xxhash mimalloc-static sentry::sentry Advapi32 Dbghelp Shell32 User32 crypt32 bcrypt ws2_32 projectedfslib oo2core_win64 )