Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ add_library(robin_map INTERFACE)
# Use tsl::robin_map as target, more consistent with other libraries conventions (Boost, Qt, ...)
add_library(tsl::robin_map ALIAS robin_map)

target_compile_features(robin_map INTERFACE cxx_std_17)

target_include_directories(robin_map INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
Expand Down
8 changes: 8 additions & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,11 @@ target_link_libraries(tsl_robin_map_tests PRIVATE Boost::unit_test_framework)
# tsl::robin_map
add_subdirectory(../ ${CMAKE_CURRENT_BINARY_DIR}/tsl)
target_link_libraries(tsl_robin_map_tests PRIVATE tsl::robin_map)

# The public target must raise a consumer's lower requested language standard.
add_executable(tsl_robin_map_cmake_test "cmake_target_test.cpp")
set_target_properties(tsl_robin_map_cmake_test PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF)
target_link_libraries(tsl_robin_map_cmake_test PRIVATE tsl::robin_map)
11 changes: 11 additions & 0 deletions tests/cmake_target_test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include <tsl/robin_map.h>
#include <tsl/robin_set.h>

int main() {
tsl::robin_map<int, int> values;
values[7] = 42;
tsl::robin_set<int> keys;
keys.insert(7);

return values.at(7) == 42 && keys.count(7) == 1 ? 0 : 1;
}