--- CMakeLists.txt 2026-07-08 07:07:34.000000000 +0800 +++ CMakeLists.txt 2026-07-11 15:51:56.000000000 +0800 @@ -43,12 +43,6 @@ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") endif() -if(APPLE) - if(NOT CMAKE_OSX_SYSROOT) - set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk") - endif() -endif() - if(DISABLE_VCPKG) else() # Enable vcpkg @@ -130,33 +124,18 @@ find_package(Threads REQUIRED) find_package(sodium REQUIRED) find_package(Protobuf REQUIRED) -find_package(Unwind) +find_package(httplib CONFIG REQUIRED) +find_package(cxxopts CONFIG REQUIRED) +find_package(nlohmann_json CONFIG REQUIRED) -if(DISABLE_VCPKG) - if(BUILD_TESTING) - add_subdirectory(${EXTERNAL_DIR}/Catch2) - endif() - add_subdirectory(${EXTERNAL_DIR}/cxxopts) - add_subdirectory(${EXTERNAL_DIR}/cpp-httplib) - add_subdirectory(${EXTERNAL_DIR}/json) - include_directories( - SYSTEM ${EXTERNAL_DIR}/cpp-httplib - ) - include_directories( - ${EXTERNAL_DIR}/simpleini - ${EXTERNAL_DIR}/json/include - ${EXTERNAL_DIR}/cxxopts/include - ) -else() - if(BUILD_TESTING) +if(BUILD_TESTING) find_package(Catch2 CONFIG REQUIRED) - endif() - find_package(httplib CONFIG REQUIRED) - find_package(cxxopts CONFIG REQUIRED) - find_package(nlohmann_json CONFIG REQUIRED) - find_path(SIMPLEINI_INCLUDE_DIRS "ConvertUTF.c") endif() +include_directories( + ${EXTERNAL_DIR}/simpleini +) + # Optional packages find_package(UTempter) @@ -183,7 +162,7 @@ IF(APPLE) # Proxy test for Mojave? (Clang that doesn't have std::filesystem) - IF(CMAKE_HOST_SYSTEM_VERSION VERSION_LESS "19.0.0") + IF(CMAKE_HOST_SYSTEM_VERSION VERSION_LESS "19.0.0" AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") # So use Boost's version find_package(Boost 1.76 COMPONENTS filesystem REQUIRED) ENDIF() @@ -249,7 +228,9 @@ endif() # Enable C++-17 -set(CMAKE_CXX_STANDARD 17) +if(NOT CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 17) +endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) # Enable compile commands export for vscode @@ -314,7 +295,16 @@ set(CORE_LIBRARIES OpenSSL::SSL ZLIB::ZLIB Ws2_32 Shlwapi dbghelp) elseif(APPLE) - set(CORE_LIBRARIES OpenSSL::SSL ZLIB::ZLIB util resolv) + set(CORE_LIBRARIES + httplib::httplib + cxxopts::cxxopts + nlohmann_json::nlohmann_json + OpenSSL::SSL + OpenSSL::Crypto + ZLIB::ZLIB + util + resolv + ) else() set(CORE_LIBRARIES httplib::httplib