mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-21 23:35:30 +03:00
51 lines
1.4 KiB
CMake
51 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.17)
|
|
|
|
set(TOOLCHAIN_OPTIONS "arm-none-eabi")
|
|
set(TOOLCHAIN "arm-none-eabi" CACHE STRING "Toolchain to use. Available: ${TOOLCHAIN_OPTIONS}")
|
|
set_property(CACHE TOOLCHAIN PROPERTY STRINGS ${TOOLCHAIN_OPTIONS})
|
|
if (NOT ${TOOLCHAIN} IN_LIST TOOLCHAIN_OPTIONS)
|
|
message(FATAL_ERROR "Invalid toolchain ${TOOLCHAIN}")
|
|
endif()
|
|
|
|
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/${TOOLCHAIN}.cmake")
|
|
|
|
project(INAV VERSION 2.5.0)
|
|
|
|
ENABLE_LANGUAGE(ASM)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
set(CMAKE_C_EXTENSIONS ON)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_EXTENSIONS ON)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
find_program(RUBY_EXECUTABLE ruby)
|
|
if (NOT RUBY_EXECUTABLE)
|
|
message(FATAL_ERROR "Could not find ruby")
|
|
endif()
|
|
|
|
execute_process(COMMAND git rev-parse --short HEAD
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
RESULT_VARIABLE NO_GIT_HASH
|
|
OUTPUT_VARIABLE GIT_SHORT_HASH)
|
|
if (NO_GIT_HASH)
|
|
message(FATAL_ERROR "Could not find git revision. Is git installed?")
|
|
endif()
|
|
|
|
set(INAV_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
set(INAV_LIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lib")
|
|
set(INAV_UTILS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/utils")
|
|
set(INAV_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/main")
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
|
|
include(settings)
|
|
include(inav)
|
|
include(stm32)
|
|
|
|
add_subdirectory(src)
|
|
|
|
collect_targets()
|
|
|
|
message("-- Build type: ${CMAKE_BUILD_TYPE}")
|