1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
| | From 74cac57a3cebe0cfbbc44f46270d5e51986f4881 Mon Sep 17 00:00:00 2001
From: dan <i@dan.games>
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)
"$<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)
+find_package(cxxopts)
target_link_libraries(adaparse PRIVATE cxxopts::cxxopts fmt::fmt)
if(MSVC OR MINGW)
--
2.45.2
|