cmake_minimum_required(VERSION 3.16) project(restapi LANGUAGES CXX) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core HttpServer Sql Network) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core HttpServer Sql Network) add_executable(restapi src/main.cpp src/include/objectMethods.h src/include/apiroutes.h src/include/types.h src/include/isValidGeoJsonObject.h src/include/dbConnection.h config/db_config.json config/private.key config/server.crt src/include/dbQuery.h src/include/isValidReplayObject.h src/include/replayMethods.h src/include/authMethods.h src/include/setupSslCertificate.h ) target_link_libraries(restapi Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::HttpServer Qt${QT_VERSION_MAJOR}::Sql Qt${QT_VERSION_MAJOR}::Network) include(GNUInstallDirs) install(TARGETS restapi LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )