From 9d7f9678433409ac14ff358d10388c558cd25af3 Mon Sep 17 00:00:00 2001 From: ondra Date: Thu, 10 Dec 2020 19:12:13 +0100 Subject: [PATCH] Add cmake --- CMakeLists.txt | 10 ++++++++++ src/CMakeLists.txt | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 src/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f80fc30 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.11.0) +project(colnodconn) +message(">> Project colnod-connector") + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +add_subdirectory(server-sdk) +add_subdirectory(src) \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..a256b07 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,36 @@ +cmake_minimum_required(VERSION 3.1.0) +project(colnod-connector VERSION 0.1.0) + +message(">> APP ${PROJECT_NAME} ${PROJECT_VERSION}") + +cmake_policy(SET CMP0063 NEW) +cmake_policy(SET CMP0075 NEW) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +find_package(Qt5 COMPONENTS Core REQUIRED) +find_package(Qt5 COMPONENTS Sql REQUIRED) +find_package(Qt5 COMPONENTS Network REQUIRED) + +# find all cpp files from app and colnod folders +# app contains main() +file(GLOB_RECURSE APP_SOURCE_FILES FILES_MATCHING PATTERN "app/*.cpp") +# colnod contains additional files, but is part of the application executable +# so we do not make colnod folder into separate library but include it in the final executable directly +file(GLOB_RECURSE COLNOD_SOURCE_FILES FILES_MATCHING PATTERN "colnod/*.cpp") + +# creates actual cmake target seen in cmake +add_executable(${PROJECT_NAME} ${APP_SOURCE_FILES} ${COLNOD_SOURCE_FILES}) + +# link QT and server-sdk submodule +target_link_libraries(${PROJECT_NAME} + Qt5::Core + Qt5::Sql + Qt5::Network + serversdk # link server-sdk git submodule +) + +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17) +target_compile_options(${PROJECT_NAME} PUBLIC -O0 -Wall)