@@ -16,7 +16,7 @@ target_include_directories(bench PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}
1616target_include_directories (bench PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /benchmarks>" )
1717
1818# Benchdata
19- import_dependency(url-dataset ada-url/url-dataset 9749b92c13e970e70409948fa862461191504ccc)
19+ CPMAddPackage( "gh: ada-url/url-dataset# 9749b92c13e970e70409948fa862461191504ccc" )
2020add_executable (benchdata bench.cpp)
2121target_link_libraries (benchdata PRIVATE ada)
2222target_include_directories (benchdata PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include>" )
@@ -45,14 +45,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
4545 target_compile_definitions (model_bench PRIVATE ADA_URL_FILE="${url-dataset_SOURCE_DIR}/out.txt" )
4646endif ()
4747
48- include (${PROJECT_SOURCE_DIR} /cmake/import.cmake)
49-
50- set_off(BENCHMARK_ENABLE_TESTING)
51- set_off(BENCHMARK_ENABLE_INSTALL)
52- set_off(BENCHMARK_ENABLE_WERROR)
53-
54- import_dependency(google_benchmarks google/benchmark f91b6b4)
55- add_dependency(google_benchmarks)
5648target_link_libraries (wpt_bench PRIVATE benchmark::benchmark)
5749target_link_libraries (bench PRIVATE benchmark::benchmark)
5850target_link_libraries (benchdata PRIVATE benchmark::benchmark)
@@ -96,10 +88,12 @@ if(NOT ICU_FOUND)
9688endif (NOT ICU_FOUND)
9789
9890if (ICU_FOUND)
99- set_off(URL_BUILD_TESTS)
100- set_off(URL_USE_LIBS)
101- import_dependency(url_whatwg rmisev/url_whatwg cbcf3043eccb380cb4bef7486465ac3b02d2f674)
102- add_dependency(url_whatwg)
91+ CPMAddPackage(
92+ NAME url_whatwg
93+ GITHUB_REPOSITORY rmisev/url_whatwg
94+ GIT_TAG cbcf3043eccb380cb4bef7486465ac3b02d2f674
95+ OPTIONS "URL_BUILD_TESTS OFF" "URL_USE_LIBS OFF"
96+ )
10397 add_library (url_whatwg_lib STATIC "${url_whatwg_SOURCE_DIR} /src/url.cpp"
10498 "${url_whatwg_SOURCE_DIR} /src/url_idna.cpp"
10599 "${url_whatwg_SOURCE_DIR} /src/url_ip.cpp"
@@ -129,22 +123,31 @@ endif(ICU_FOUND)
129123
130124if (ADA_COMPETITION)
131125 # URI Parser
132- set_off(URIPARSER_BUILD_TESTS)
133- set_off(URIPARSER_BUILD_DOCS)
134- import_dependency(uriparser uriparser/uriparser 634b678)
135- add_dependency(uriparser)
126+ CPMAddPackage(
127+ NAME uriparser
128+ GITHUB_REPOSITORY uriparser/uriparser
129+ GIT_TAG 634b678
130+ OPTIONS "URIPARSER_BUILD_TESTS OFF" "URIPARSER_BUILD_DOCS OFF"
131+ )
136132 target_link_libraries (bench PRIVATE uriparser)
137133 target_link_libraries (bbc_bench PRIVATE uriparser)
138-
139134 # URL Parser
140- import_dependency(urlparser netmindms/urlparser 69c09ed)
135+ CPMAddPackage(
136+ NAME urlparser
137+ GITHUB_REPOSITORY netmindms/urlparser
138+ GIT_TAG 69c09ed
139+ )
141140 add_library (urlparser STATIC "${urlparser_SOURCE_DIR} /src/EdUrlParser.cpp" )
142141 target_include_directories (urlparser PUBLIC "${urlparser_SOURCE_DIR} /src" )
143142 target_link_libraries (bench PRIVATE urlparser)
144143 target_link_libraries (bbc_bench PRIVATE urlparser)
145144
146145 # HTTP Parser
147- import_dependency(httpparser nodejs/http-parser v2.9.4)
146+ CPMAddPackage(
147+ NAME httpparser
148+ GITHUB_REPOSITORY nodejs/http-parser
149+ VERSION 2.9.4
150+ )
148151 add_library (httpparser STATIC "${httpparser_SOURCE_DIR} /http_parser.c" )
149152 set_source_files_properties ("${httpparser_SOURCE_DIR} /http_parser.c" PROPERTIES LANGUAGE C)
150153 target_include_directories (httpparser PUBLIC "${httpparser_SOURCE_DIR} " )
@@ -203,7 +206,11 @@ find_package(
203206endif (ADA_BOOST_URL)
204207
205208if (Boost_FOUND)
206- import_dependency(boost_url boostorg/url boost-1.81.0)
209+ CPMAddPackage(
210+ NAME boost_url
211+ GITHUB_REPOSITORY boostorg/url
212+ GIT_TAG boost-1.81.0
213+ )
207214 add_library (boost_url INTERFACE )
208215 target_include_directories (boost_url INTERFACE
209216 "${boost_url_SOURCE_DIR} /include" )
@@ -241,16 +248,19 @@ endif(ZURI_FOUND)
241248
242249
243250# We want the check whether Rust is available before trying to build a crate.
244- set (Rust_FIND_QUIETLY ON ) # No need to alarm the user if rust is not available.
245- import_dependency(corrosion corrosion-rs/corrosion v0.3.4)
251+ CPMAddPackage(
252+ NAME corrosion
253+ GITHUB_REPOSITORY corrosion-rs/corrosion
254+ VERSION 0.4.4
255+ DOWNLOAD_ONLY ON
256+ OPTIONS "Rust_FIND_QUIETLY OFF"
257+ )
246258include ("${corrosion_SOURCE_DIR} /cmake/FindRust.cmake" )
247259
248260
249261if (RUST_FOUND)
250262 message (STATUS "Rust found: " ${Rust_VERSION} )
251- # Important: we only want to include corrosion *if* rust is available.
252- # Otherwise, it is impossible to run ada benchmarks without rust.
253- add_dependency(corrosion)
263+ add_subdirectory ("${corrosion_SOURCE_DIR} " "${PROJECT_BINARY_DIR} /_deps/corrosion" EXCLUDE_FROM_ALL )
254264 # Important: we want to build in release mode!
255265 corrosion_import_crate(MANIFEST_PATH "competitors/servo-url/Cargo.toml" NO_LINKER_OVERRIDE PROFILE release)
256266
0 commit comments