cmake_minimum_required(VERSION 3.5) project(priority_queue VERSION 2.1 LANGUAGES CXX) enable_language(CXX) set(CMAKE_CXX_STANDARD 11) cmake_minimum_required(VERSION 3.10) project(avl_tree VERSION 1.0 LANGUAGES CXX) enable_language(CXX) set(CMAKE_CXX_STANDARD 11) if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "/W4") set(CMAKE_CXX_FLAGS_DEBUG "/Od /Zi /EHsc /DEBUG") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CMAKE_CXX_FLAGS "-Wall") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb3") endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}) enable_testing() find_package(Python 3 COMPONENTS Interpreter) add_executable(test_heap test_heap.cpp heap.hpp heap_imp.hpp) add_executable(test_pqueue test_pqueue.cpp priority_queue.hpp priority_queue_imp.hpp heap.hpp heap_imp.hpp) add_test(NAME TestHeapEditing COMMAND ${Python_EXECUTABLE} run_tests.py ${CMAKE_CURRENT_BINARY_DIR}/$<$:$>/test_heap 01_heap_editing WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME TestHeapify COMMAND ${Python_EXECUTABLE} run_tests.py ${CMAKE_CURRENT_BINARY_DIR}/$<$:$>/test_heap 02_heapify WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME TestHeapsort COMMAND ${Python_EXECUTABLE} run_tests.py ${CMAKE_CURRENT_BINARY_DIR}/$<$:$>/test_heap 03_heapsort WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME TestPQueue COMMAND ${Python_EXECUTABLE} run_tests.py ${CMAKE_CURRENT_BINARY_DIR}/$<$:$>/test_pqueue 04_pqueue WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})