50 lines
1.4 KiB
CMake
50 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(BinaryTable)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Add the binary table library
|
|
add_library(binary_table
|
|
binary_table.h
|
|
binary_table.cpp
|
|
)
|
|
|
|
# Main executable
|
|
add_executable(main main.cpp)
|
|
target_link_libraries(main binary_table)
|
|
|
|
# Test executable
|
|
add_executable(test test.cpp)
|
|
target_link_libraries(test binary_table)
|
|
|
|
# Debug executables
|
|
add_executable(debug_multi_key debug/debug_multi_key.cpp)
|
|
target_link_libraries(debug_multi_key binary_table)
|
|
|
|
add_executable(debug_alloc debug/debug_alloc.cpp)
|
|
target_link_libraries(debug_alloc binary_table)
|
|
|
|
add_executable(debug_address_table debug/debug_address_table.cpp)
|
|
target_link_libraries(debug_address_table binary_table)
|
|
|
|
add_executable(debug_step_by_step debug/debug_step_by_step.cpp)
|
|
target_link_libraries(debug_step_by_step binary_table)
|
|
|
|
add_executable(debug_simple debug/debug_simple.cpp)
|
|
target_link_libraries(debug_simple binary_table)
|
|
|
|
# Enable compiler warnings
|
|
if(MSVC)
|
|
target_compile_options(binary_table PRIVATE /W4)
|
|
target_compile_options(main PRIVATE /W4)
|
|
else()
|
|
target_compile_options(binary_table PRIVATE -Wall -Wextra -pedantic)
|
|
target_compile_options(main PRIVATE -Wall -Wextra -pedantic)
|
|
endif()
|
|
add_executable(debug_detailed debug_detailed.cpp)
|
|
target_link_libraries(debug_detailed binary_table)
|
|
|
|
add_executable(debug_simple_fixed debug_simple_fixed.cpp)
|
|
target_link_libraries(debug_simple_fixed binary_table)
|