cmake_minimum_required(VERSION 3.22) project(DataStruct) set(CMAKE_CXX_STANDARD 17) add_library(DataStruct src/RedBlackTree.cpp src/HeapSort.cpp include/HeapSort.h src/mutex/shared_mutex.cpp ) target_include_directories(DataStruct PUBLIC include) if (DEFINED ENABLE_TEST) add_executable(myTest main.cpp ) enable_testing() find_package(GTest REQUIRED) target_link_libraries(myTest PRIVATE GTest::GTest GTest::Main DataStruct) set(GTEST_LIB gtest gtest_main) add_test(NAME myTest COMMAND myTest) endif ()