# Set the minimum version of CMake that can be used # To find the cmake version run # $ cmake --version cmake_minimum_required(VERSION 3.13) # -std=c++17 set(CMAKE_CXX_STANDARD 17) # add compiler flags for neovim lsp set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Set the output directory for executables set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build) # set(DATA_BASE_DIR /usr/local/bin) set(DATA_BASE_SQLITE_DIR /usr/local/bin/database/sqlite) set(DATA_BASE_JSON_DIR /usr/local/bin/database/json) # set(DATA_BASE_SQLITE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/database/sqlite) # set(DATA_BASE_JSON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/database/json) # Set the toolchain prefix for cross-compilation on Windows set(TOOLCHAIN_PREFIX "E:/xhj/gcc-linaro-7.5.0-2019/gcc-linaro-7.5.0-2019.12-i686-mingw32_aarch64-linux-gnu/bin/aarch64-linux-gnu-") # Specify the C and C++ compilers for cross-compilation set(CMAKE_C_COMPILER "${TOOLCHAIN_PREFIX}gcc.exe") set(CMAKE_CXX_COMPILER "${TOOLCHAIN_PREFIX}g++.exe") # 指定目标系统 set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) # define debug add_definitions(-DDEBUG) # define DATA_BASE_DIR to project source directory database add_definitions(-DDATABASE_SQLITE_DIR="${DATA_BASE_SQLITE_DIR}") add_definitions(-DDATABASE_JSON_DIR="${DATA_BASE_JSON_DIR}") # Set the project name project (embedded-gateway) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-basic) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-scheduler) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-server) ##### sub directories ##### # # add_subdirectory(${PROJECT_SOURCE_DIR}/modules/gateway-collector) # add_subdirectory(${PROJECT_SOURCE_DIR}/modules/gateway-schedule) # ##### sub directories #####