40 lines
1.5 KiB
CMake
40 lines
1.5 KiB
CMake
project(Containers)
|
|
|
|
include(GoogleTest)
|
|
|
|
### ---------------------- Static Library --------------------- ###
|
|
file(GLOB SOURCES "./private/*.cpp")
|
|
file(GLOB HEADERS "./public/*.hpp")
|
|
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ./public/)
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ./private/)
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC Modules)
|
|
|
|
### -------------------------- Tests -------------------------- ###
|
|
file(GLOB TEST_SOURCES
|
|
./tests/Buffer2DTest.cpp
|
|
./tests/BufferTest.cpp
|
|
./tests/IntervalTreeTests.cpp
|
|
./tests/ListTest.cpp
|
|
./tests/MapTest.cpp
|
|
./tests/TreeTest.cpp
|
|
./tests/RingBufferByte.cpp
|
|
./tests/Tests.cpp
|
|
)
|
|
|
|
add_executable(Tests${PROJECT_NAME} ${TEST_SOURCES})
|
|
target_link_libraries(Tests${PROJECT_NAME} ${PROJECT_NAME} UnitTest++)
|
|
add_test(NAME Tests${PROJECT_NAME} COMMAND Tests${PROJECT_NAME})
|
|
|
|
|
|
add_executable(testLinearRingBuffer ./tests/testLinearRingBuffer.cpp)
|
|
target_link_libraries(testLinearRingBuffer ${PROJECT_NAME} gtest)
|
|
gtest_discover_tests(testLinearRingBuffer)
|
|
|
|
|
|
add_executable(benchLinearRingBuffer ./tests/benchLinearRingBuffer.cpp)
|
|
target_link_libraries(benchLinearRingBuffer benchmark::benchmark benchmark::benchmark_main ${PROJECT_NAME})
|
|
# target_compile_features(benchLinearRingBuffer PRIVATE cxx_std_20)
|
|
|
|
add_executable(AVLTreeSpeedTest ./tests/AVLTreeProfiling.cpp)
|
|
target_link_libraries(AVLTreeSpeedTest ${PROJECT_NAME})
|