/
CMakeLists.txt
152 lines (138 loc) · 10.2 KB
/
CMakeLists.txt
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
cmake_minimum_required(VERSION 3.1)
project(nanorange CXX)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
set(CMAKE_CXX_EXTENSIONS Off)
add_library(nanorange INTERFACE)
target_sources(nanorange INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/adjacent_find.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/all_of.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/any_of.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/count.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/equal.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/fill.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/fill_n.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/find.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/find_end.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/find_first_of.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/for_each.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/generate.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/generate_n.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/is_partitioned.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/is_sorted.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/is_sorted_until.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/lexicographical_compare.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/max.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/max_element.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/min.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/min_element.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/minmax.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/minmax_element.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/mismatch.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/move.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/none_of.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/partition.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/partition_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/remove.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/remove_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/remove_copy_if.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/remove_if.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/replace.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/replace_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/replace_copy_if.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/replace_if.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/reverse.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/reverse_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/rotate.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/rotate_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/search.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/search_n.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/shuffle.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/swap_ranges.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/transform.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/unique.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/binary_search.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/equal_range.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/includes.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/inplace_merge.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/is_heap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/is_heap_until.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/is_permutation.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/lower_bound.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/make_heap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/merge.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/next_permutation.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/nth_element.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/partial_sort.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/partial_sort_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/partition_point.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/pop_heap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/prev_permutation.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/push_heap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/set_difference.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/set_intersection.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/set_symmetric_difference.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/set_union.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/sort.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/sort_heap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/stable_partition.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/stable_sort.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/unique_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm/stl/upper_bound.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/concepts/comparison.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/concepts/core.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/concepts/movable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/concepts/object.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/concepts/swappable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/functional/comparisons.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/functional/decay_copy.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/functional/identity.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/functional/invoke.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/algorithm_requirements.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/associated_types.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/concepts.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/dereferenceable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/indirect_callable_concepts.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/iter_move.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/iter_swap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/projected.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/iterator/traits.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/range/access.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/range/concepts.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/range/dangling.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/range/primitives.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/common_reference.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/macros.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/swap.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/detail/type_traits.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/back_insert_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/common_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/concepts.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/counted_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/default_sentinel.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/front_insert_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/insert_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/operations.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/ostream_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/ostreambuf_iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator/unreachable.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/view/interface.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/view/subrange.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/algorithm.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/concepts.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/functional.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/iterator.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/random.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/range.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/type_traits.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/utility.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nanorange/view.hpp
)
target_include_directories(nanorange INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_compile_features(nanorange INTERFACE cxx_std_14)
if (MSVC)
target_compile_options(nanorange INTERFACE /permissive-)
endif()
add_subdirectory(test)
add_subdirectory(tools)