ada-url/1000-Remove-cmake-CPM.patch
2024-10-06 20:00:58 +08:00

104 lines
3.5 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61900de4..b647de87 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,43 +28,23 @@ option(ADA_TESTING "Build tests" ${BUILD_TESTING})
# errors due to CPM, so this is here to support disabling all the testing
# and tooling for ada if one only wishes to use the ada library.
if(ADA_TESTING OR ADA_BENCHMARKS OR ADA_TOOLS)
- include(cmake/CPM.cmake)
- # CPM requires git as an implicit dependency
- find_package(Git QUIET)
# We use googletest in the tests
- if(Git_FOUND AND ADA_TESTING)
- CPMAddPackage(
- NAME GTest
- GITHUB_REPOSITORY google/googletest
- VERSION 1.14.0
- OPTIONS "BUILD_GMOCK OFF" "INSTALL_GTEST OFF"
- )
+ if(ADA_TESTING)
+ find_package(GTest)
endif()
# We use simdjson in both the benchmarks and tests
- if(Git_FOUND AND (ADA_TESTING OR ADA_BENCHMARKS))
- CPMAddPackage("gh:simdjson/simdjson@3.9.1")
+ if(ADA_TESTING OR ADA_BENCHMARKS)
+ find_package(simdjson REQUIRED)
endif()
# We use Google Benchmark, but it does not build under several 32-bit systems.
- if(Git_FOUND AND ADA_BENCHMARKS AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
- CPMAddPackage(
- NAME benchmark
- GITHUB_REPOSITORY google/benchmark
- GIT_TAG f91b6b4
- OPTIONS "BENCHMARK_ENABLE_TESTING OFF"
- "BENCHMARK_ENABLE_INSTALL OFF"
- "BENCHMARK_ENABLE_WERROR OFF"
-
- )
+ if(ADA_BENCHMARKS AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
+ find_package(benchmark REQUIRED)
endif()
if (ADA_TESTING AND NOT EMSCRIPTEN)
- if(Git_FOUND)
- set(CTEST_TEST_TIMEOUT 5)
- message(STATUS "The tests are enabled.")
- add_subdirectory(tests)
- else()
- message(STATUS "The tests are disabled because git was not found.")
- endif()
+ set(CTEST_TEST_TIMEOUT 5)
+ message(STATUS "The tests are enabled.")
+ add_subdirectory(tests)
else()
if(is_top_project)
message(STATUS "The tests are disabled.")
@@ -72,12 +52,8 @@ if(ADA_TESTING OR ADA_BENCHMARKS OR ADA_TOOLS)
endif(ADA_TESTING AND NOT EMSCRIPTEN)
If(ADA_BENCHMARKS AND NOT EMSCRIPTEN)
- if(Git_FOUND)
- message(STATUS "Ada benchmarks enabled.")
- add_subdirectory(benchmarks)
- else()
- message(STATUS "The benchmarks are disabled because git was not found.")
- endif()
+ message(STATUS "Ada benchmarks enabled.")
+ add_subdirectory(benchmarks)
else(ADA_BENCHMARKS AND NOT EMSCRIPTEN)
if(is_top_project)
message(STATUS "Ada benchmarks disabled. Set ADA_BENCHMARKS=ON to enable them.")
@@ -107,11 +83,7 @@ if(NOT ADA_COVERAGE AND NOT EMSCRIPTEN)
endif()
if(ADA_TOOLS)
- if(Git_FOUND)
- add_subdirectory(tools)
- else()
- message(STATUS "The tools are disabled because git was not found.")
- endif()
+ add_subdirectory(tools)
endif()
install(
diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt
index 9f0da167..96b9ea29 100644
--- a/tools/cli/CMakeLists.txt
+++ b/tools/cli/CMakeLists.txt
@@ -8,12 +8,8 @@ if(MSVC AND BUILD_SHARED_LIBS)
"$<TARGET_FILE:ada>" # <--this is in-file
"$<TARGET_FILE_DIR:adaparse>") # <--this is out-file path
endif()
-CPMAddPackage("gh:fmtlib/fmt#10.2.1")
-CPMAddPackage(
- GITHUB_REPOSITORY jarro2783/cxxopts
- VERSION 3.2.0
- OPTIONS "CXXOPTS_BUILD_EXAMPLES NO" "CXXOPTS_BUILD_TESTS NO" "CXXOPTS_ENABLE_INSTALL YES"
-)
+find_package(fmt REQUIRED)
+find_package(cxxopts REQUIRED)
target_link_libraries(adaparse PRIVATE cxxopts::cxxopts fmt::fmt)
if(MSVC OR MINGW)