CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # Set the minimum version of CMake that can be used
  2. # To find the cmake version run
  3. # $ cmake --version
  4. cmake_minimum_required(VERSION 3.13)
  5. # -std=c++17
  6. set(CMAKE_CXX_STANDARD 17)
  7. # add compiler flags for neovim lsp
  8. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  9. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  10. # Set the output directory for executables
  11. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/build)
  12. # set(DATA_BASE_DIR /usr/local/bin)
  13. set(DATA_BASE_SQLITE_DIR /usr/local/bin/database/sqlite)
  14. set(DATA_BASE_JSON_DIR /usr/local/bin/database/json)
  15. # set(DATA_BASE_SQLITE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/database/sqlite)
  16. # set(DATA_BASE_JSON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/database/json)
  17. # Set the toolchain prefix for cross-compilation on Windows
  18. 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-")
  19. # Specify the C and C++ compilers for cross-compilation
  20. set(CMAKE_C_COMPILER "${TOOLCHAIN_PREFIX}gcc.exe")
  21. set(CMAKE_CXX_COMPILER "${TOOLCHAIN_PREFIX}g++.exe")
  22. # 指定目标系统
  23. set(CMAKE_SYSTEM_NAME Linux)
  24. set(CMAKE_SYSTEM_PROCESSOR aarch64)
  25. # define debug
  26. add_definitions(-DDEBUG)
  27. # define DATA_BASE_DIR to project source directory database
  28. add_definitions(-DDATABASE_SQLITE_DIR="${DATA_BASE_SQLITE_DIR}")
  29. add_definitions(-DDATABASE_JSON_DIR="${DATA_BASE_JSON_DIR}")
  30. # Set the project name
  31. project (embedded-gateway)
  32. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-basic)
  33. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-scheduler)
  34. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/modules/gateway-server)
  35. ##### sub directories #####
  36. #
  37. # add_subdirectory(${PROJECT_SOURCE_DIR}/modules/gateway-collector)
  38. # add_subdirectory(${PROJECT_SOURCE_DIR}/modules/gateway-schedule)
  39. #
  40. ##### sub directories #####