Add macOS support #34
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good

This commit is contained in:
2025-08-02 13:24:19 -05:00
parent 77e0633c38
commit 437a3444ec
18 changed files with 89 additions and 5 deletions

View File

@@ -142,6 +142,9 @@ if(PROJECT_ENABLE_BOOST)
if (NOT CMAKE_HOST_WIN32)
add_dependencies(boost_project openssl_project)
endif()
if (PROJECT_IS_DARWIN)
add_dependencies(boost_project zlib_project)
endif()
endif()
endif()
endif()

View File

@@ -15,6 +15,7 @@ if(PROJECT_ENABLE_CPP_HTTPLIB)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DHTTPLIB_REQUIRE_BROTLI=OFF
-DHTTPLIB_REQUIRE_OPENSSL=ON
-DHTTPLIB_REQUIRE_ZLIB=ON
@@ -31,5 +32,8 @@ if(PROJECT_ENABLE_CPP_HTTPLIB)
if (NOT CMAKE_HOST_WIN32)
add_dependencies(cpphttplib_project openssl_project)
endif()
if (PROJECT_IS_DARWIN)
add_dependencies(cpphttplib_project zlib_project)
endif()
endif()
endif()

View File

@@ -27,8 +27,8 @@ if(PROJECT_ENABLE_CURL)
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_CURL=ON
-DBUILD_STATIC_LIBS=ON
-DBUILD_STATIC_LIBS=ON
-DBUILD_TESTING=OFF
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DCURL_BROTLI=OFF
-DCURL_CA_BUNDLE=./cacert.pem
-DCURL_CA_FALLBACK=ON
@@ -37,11 +37,13 @@ if(PROJECT_ENABLE_CURL)
-DCURL_USE_LIBSSH2=OFF
-DCURL_USE_OPENSSL=${PROJECT_ENABLE_OPENSSL}
-DCURL_ZLIB=ON
-DCURL_ZSTD=OFF
-DENABLE_CURL_MANUAL=OFF
-DENABLE_THREADED_RESOLVER=ON
-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}
-DOPENSSL_USE_STATIC_LIBS=${OPENSSL_USE_STATIC_LIBS}
-DUSE_LIBIDN2=OFF
-DUSE_NGHTTP2=OFF
-DZLIB_USE_STATIC_LIBS=${ZLIB_USE_STATIC_LIBS}
)
@@ -50,5 +52,9 @@ if(PROJECT_ENABLE_CURL)
if (NOT CMAKE_HOST_WIN32)
add_dependencies(curl_project openssl_project)
endif()
if (PROJECT_IS_DARWIN)
add_dependencies(curl_project zlib_project)
endif()
endif()
endif()

View File

@@ -18,11 +18,16 @@ if(PROJECT_ENABLE_JSON)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DJSON_BuildTests=OFF
-DJSON_Install=ON
-DJSON_MultipleHeaders=OFF
)
list(APPEND PROJECT_DEPENDENCIES json_project)
if (PROJECT_IS_DARWIN)
add_dependencies(json_project zlib_project)
endif()
endif()
endif()

View File

@@ -44,5 +44,9 @@ if(PROJECT_ENABLE_LIBSODIUM)
)
list(APPEND PROJECT_DEPENDENCIES libsodium_project)
if (PROJECT_IS_DARWIN)
add_dependencies(libsodium_project zlib_project)
endif()
endif()
endif()

View File

@@ -55,5 +55,8 @@ if(PROJECT_ENABLE_OPENSSL)
)
list(APPEND PROJECT_DEPENDENCIES openssl_project)
if (PROJECT_IS_DARWIN)
add_dependencies(openssl_project zlib_project)
endif()
endif()
endif()

View File

@@ -20,8 +20,13 @@ if(PROJECT_ENABLE_PUGIXML)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
)
list(APPEND PROJECT_DEPENDENCIES pugixml_project)
if (PROJECT_IS_DARWIN)
add_dependencies(pugixml_project zlib_project)
endif()
endif()
endif()

View File

@@ -14,6 +14,7 @@ if(PROJECT_ENABLE_ROCKSDB)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=OFF
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DFAIL_ON_WARNINGS=OFF
-DPORTABLE=1
-DROCKSDB_BUILD_SHARED=OFF
@@ -32,5 +33,9 @@ if(PROJECT_ENABLE_ROCKSDB)
)
list(APPEND PROJECT_DEPENDENCIES rocksdb_project)
if (PROJECT_IS_DARWIN)
add_dependencies(rocksdb_project zlib_project)
endif()
endif()
endif()

View File

@@ -15,11 +15,16 @@ if(PROJECT_ENABLE_SPDLOG)
LIST_SEPARATOR |
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DSPDLOG_BUILD_EXAMPLE=OFF
-DSPDLOG_FMT_EXTERNAL=OFF
-DSPDLOG_FMT_EXTERNAL_HO=OFF
)
list(APPEND PROJECT_DEPENDENCIES spdlog_project)
if (PROJECT_IS_DARWIN)
add_dependencies(spdlog_project zlib_project)
endif()
endif()
endif()

View File

@@ -25,5 +25,9 @@ if(PROJECT_ENABLE_SQLITE)
)
list(APPEND PROJECT_DEPENDENCIES sqlite_project)
if (PROJECT_IS_DARWIN)
add_dependencies(sqlite_project zlib_project)
endif()
endif()
endif()

View File

@@ -16,11 +16,16 @@ if(PROJECT_ENABLE_STDUUID)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DUUID_BUILD_TESTS=OFF
-DUUID_ENABLE_INSTALL=ON
-DUUID_USING_CXX20_SPAN=ON
)
list(APPEND PROJECT_DEPENDENCIES stduuid_project)
if (PROJECT_IS_DARWIN)
add_dependencies(stduuid_project zlib_project)
endif()
endif()
endif()

View File

@@ -10,8 +10,13 @@ if (PROJECT_ENABLE_TESTING)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
)
list(APPEND PROJECT_DEPENDENCIES gtest_project)
if (PROJECT_IS_DARWIN)
add_dependencies(gtest_project zlib_project)
endif()
endif()
endif()

View File

@@ -0,0 +1,16 @@
if(PROJECT_IS_DARWIN)
if(NOT PROJECT_BUILD)
ExternalProject_Add(zlib_project
PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/mingw64/zlib-${ZLIB_VERSION}.tar.gz
URL_HASH SHA256=${ZLIB_HASH}
LIST_SEPARATOR |
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
)
list(APPEND PROJECT_DEPENDENCIES zlib_project)
endif()
endif()