cmake_minimum_required(VERSION 3.26) project(query) set(CMAKE_CXX_STANDARD 17) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(GCC_CLANG_COMMON_FLAGS "-Wall -Wconversion -Wextra -pedantic -ftemplate-backtrace-limit=0") list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) find_package(ODBC REQUIRED) find_package(SQLite3 REQUIRED) find_package(PostgreSQL REQUIRED) find_package(MySQL REQUIRED) message(STATUS "Found SQLite3 ${SQLite3_VERSION}") message(STATUS "Adding SQLite3 include directory: ${SQLite3_INCLUDE_DIRS}") message(STATUS "Adding SQLite3 libs: ${SQLite3_LIBRARIES}") message(STATUS "Adding MySQL include directory: ${MYSQL_INCLUDE_DIR}") message(STATUS "Adding MySQL libs: ${MYSQL_LIBRARY}") message(STATUS "Common flags ${CMAKE_CXX_FLAGS}") message(STATUS "Debug flags ${CMAKE_CXX_FLAGS_DEBUG}") message(STATUS "Relase flags ${CMAKE_CXX_FLAGS_RELEASE}") message(STATUS "Linker flags ${CMAKE_EXE_LINKER_FLAGS}") add_subdirectory(src) add_subdirectory(test) add_subdirectory(backends) add_subdirectory(demo)