Skip to content

Commit 1a09a08

Browse files
committed
Add CMake build
1 parent aaff87b commit 1a09a08

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

CMakeLists.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
cmake_minimum_required(VERSION 3.14)
2+
project(ConcurrentHashMap LANGUAGES CXX)
3+
4+
# Set C++ standard requirements
5+
set(CMAKE_CXX_STANDARD 17)
6+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
7+
set(CMAKE_CXX_EXTENSIONS OFF)
8+
9+
# Find required packages
10+
find_package(GTest REQUIRED)
11+
find_package(Threads REQUIRED)
12+
13+
# Basic Demo executable
14+
add_executable(demo_basic
15+
demo_basic.cpp
16+
)
17+
target_link_libraries(demo_basic
18+
PRIVATE
19+
Threads::Threads
20+
)
21+
22+
# Advanced Demo executable
23+
add_executable(demo_advanced
24+
demo_advanced.cpp
25+
)
26+
target_link_libraries(demo_advanced
27+
PRIVATE
28+
Threads::Threads
29+
)
30+
31+
# Google Test executable
32+
add_executable(ConcurrentHashMapTest
33+
ConcurrentHashMapTest.cpp
34+
)
35+
target_link_libraries(ConcurrentHashMapTest
36+
PRIVATE
37+
GTest::GTest
38+
GTest::Main
39+
Threads::Threads
40+
)
41+
42+
enable_testing()
43+
add_test(NAME ConcurrentHashMapTest COMMAND ConcurrentHashMapTest)

0 commit comments

Comments
 (0)