@@ -3,28 +3,31 @@ cmake_minimum_required(VERSION 3.16)
3
3
project (ada-idna
4
4
DESCRIPTION "IDNA"
5
5
LANGUAGES C CXX
6
- VERSION 0.1 .0
6
+ VERSION 0.2 .0
7
7
)
8
+ set (ADA_IDNA_LIB_VERSION "0.2.0" CACHE STRING "ada-idna library version" )
9
+ set (ADA_IDNA_LIB_SOVERSION "0" CACHE STRING "ada-idna library soversion" )
8
10
9
11
include (GNUInstallDirs)
10
-
11
12
include (CTest)
12
13
include (cmake/idna-flags .cmake)
13
14
14
15
add_subdirectory (src)
15
16
16
- include (cmake/clang-format.cmake)
17
-
18
- option (ADA_IDNA_BENCHMARKS "Build benchmarks" OFF )
19
-
20
17
if (ADA_IDNA_BENCHMARKS OR BUILD_TESTING)
21
- include (${PROJECT_SOURCE_DIR} /cmake/import.cmake)
22
- import_dependency(simdjson simdjson/simdjson 0a3a00c95665cc1fda760e121ba8d442945ede13)
23
- add_dependency(simdjson)
18
+ include (cmake/CPM.cmake)
24
19
endif ()
25
20
26
21
if (ADA_IDNA_BENCHMARKS)
27
22
message (STATUS "Ada benchmarks enabled." )
23
+ CPMAddPackage(
24
+ NAME benchmark
25
+ GITHUB_REPOSITORY google/benchmark
26
+ VERSION 1.9.0
27
+ OPTIONS "BENCHMARK_ENABLE_TESTING OFF"
28
+ "BENCHMARK_ENABLE_INSTALL OFF"
29
+ "BENCHMARK_ENABLE_WERROR OFF"
30
+ )
28
31
add_subdirectory (benchmarks)
29
32
else (ADA_IDNA_BENCHMARKS)
30
33
if (is_top_project)
@@ -34,6 +37,13 @@ endif()
34
37
35
38
if (BUILD_TESTING)
36
39
message (STATUS "The tests are enabled." )
40
+ CPMAddPackage(
41
+ NAME GTest
42
+ GITHUB_REPOSITORY google/googletest
43
+ VERSION 1.15.2
44
+ OPTIONS "BUILD_GMOCK OFF" "INSTALL_GTEST OFF"
45
+ )
46
+ CPMAddPackage("gh:simdjson/simdjson@3.10.1" )
37
47
add_subdirectory (tests)
38
48
else ()
39
49
if (is_top_project)
@@ -43,13 +53,33 @@ endif(BUILD_TESTING)
43
53
44
54
add_subdirectory (singleheader)
45
55
56
+ add_library (ada-idna::ada-idna ALIAS ada-idna)
57
+
58
+ set_target_properties (
59
+ ada-idna PROPERTIES
60
+ VERSION "${ADA_IDNA_LIB_VERSION} "
61
+ SOVERSION "${ADA_IDNA_LIB_SOVERSION} "
62
+ WINDOWS_EXPORT_ALL_SYMBOLS YES
63
+ )
64
+
65
+ install (
66
+ FILES include /idna.h
67
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
68
+ COMPONENT ada-idna_development
69
+ )
46
70
47
71
install (
48
- FILES include /idna.h
49
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
72
+ DIRECTORY include /ada
73
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
74
+ COMPONENT ada-idna_development
50
75
)
51
76
52
77
install (
53
- DIRECTORY include /ada
54
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
78
+ TARGETS ada-idna
79
+ EXPORT ada-idna_targets
80
+ RUNTIME COMPONENT ada-idna_runtime
81
+ LIBRARY COMPONENT ada-idna_runtime
82
+ NAMELINK_COMPONENT ada-idna_development
83
+ ARCHIVE COMPONENT ada-idna_development
84
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
55
85
)
0 commit comments