cmake_minimum_required(VERSION 3.28) set(CMAKE_CXX_STANDARD 20) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CMAKE_BUILD_TYPE Debug) project(main CXX) find_package(pugixml REQUIRED) find_package(GTest REQUIRED) add_library(backend STATIC) target_include_directories(backend PUBLIC .) add_executable(main) add_executable(test_main EXCLUDE_FROM_ALL) add_subdirectory(backend) add_subdirectory(frontend) add_subdirectory(test) target_link_libraries(main PRIVATE backend PUBLIC pugixml PUBLIC sqlite3 PUBLIC readline ) target_link_libraries(test_main PRIVATE gtest PRIVATE gtest_main PRIVATE backend )