From 74cac57a3cebe0cfbbc44f46270d5e51986f4881 Mon Sep 17 00:00:00 2001 From: dan Date: Sat, 21 Sep 2024 18:49:10 +0800 Subject: [PATCH] find system testing dependencies. --- CMakeLists.txt | 50 +++++++++----------------------------- singleheader/amalgamate.py | 2 +- tools/cli/CMakeLists.txt | 8 ++---- 3 files changed, 14 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a7ce3796..0903cc31 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) 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) 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() endif() install( diff --git a/singleheader/amalgamate.py b/singleheader/amalgamate.py index 52b154b6..94e4e638 100755 --- a/singleheader/amalgamate.py +++ b/singleheader/amalgamate.py @@ -138,7 +138,7 @@ if SCRIPTPATH != AMALGAMATE_OUTPUT_PATH: shutil.copy2(os.path.join(AMALGAMATE_INCLUDE_PATH, 'ada_c.h'), AMALGAMATE_OUTPUT_PATH) -zf = zipfile.ZipFile(os.path.join(AMALGAMATE_OUTPUT_PATH, 'singleheader.zip'), 'w', zipfile.ZIP_DEFLATED) +zf = zipfile.ZipFile(os.path.join(AMALGAMATE_OUTPUT_PATH, 'singleheader.zip'), 'w', zipfile.ZIP_DEFLATED, strict_timestamps=False) zf.write(os.path.join(AMALGAMATE_OUTPUT_PATH, 'ada.cpp'), 'ada.cpp') zf.write(os.path.join(AMALGAMATE_OUTPUT_PATH, 'ada.h'), 'ada.h') zf.write(os.path.join(AMALGAMATE_INCLUDE_PATH, 'ada_c.h'), 'ada_c.h') diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt index 9f0da167..d0f7e0c9 100644 --- a/tools/cli/CMakeLists.txt +++ b/tools/cli/CMakeLists.txt @@ -8,12 +8,8 @@ if(MSVC AND BUILD_SHARED_LIBS) "$" # <--this is in-file "$") # <--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) +find_package(cxxopts) target_link_libraries(adaparse PRIVATE cxxopts::cxxopts fmt::fmt) if(MSVC OR MINGW) -- 2.45.2