diff --git a/ArduCopter/CMakeLists.txt b/ArduCopter/CMakeLists.txt index 6c88ad554d..4cc004e115 100644 --- a/ArduCopter/CMakeLists.txt +++ b/ArduCopter/CMakeLists.txt @@ -16,10 +16,13 @@ include(CMakeParseArguments) include(APMOption) # options -add_definitions(-DUSE_CMAKE_APM_CONFIG) include(options.cmake) include_directories(${CMAKE_BINARY_DIR}) -apm_option_generate_config(FILE "APM_Config_cmake.h" OPTIONS ${APM_OPTIONS}) +add_definitions(-DUSE_CMAKE_APM_CONFIG) +apm_option_generate_config(FILE "APM_Config_cmake.h" BUILD_FLAGS APM_BUILD_FLAGS) +add_definitions(${APM_BUILD_FLAGS}) +message(STATUS "build flags: ${APM_BUILD_FLAGS}") +#configure_file(APM_Config2.h.cmake APM_Config2.h) # disallow in-source build include(MacroEnsureOutOfSourceBuild) @@ -28,7 +31,7 @@ Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} # built variables set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") -set(FIRMWARE_NAME "${PROJECT_NAME}-${APM_HARDWARE}-${APM_PROCESSOR}-${HIL_MODE}") +set(FIRMWARE_NAME "${PROJECT_NAME}-${CONFIG_APM_HARDWARE}-${APM_PROCESSOR}-${HIL_MODE}") # modify flags from default toolchain flags set(APM_OPT_FLAGS "-Wformat -Wall -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wformat=2") diff --git a/ArduCopter/options.cmake b/ArduCopter/options.cmake index 9f3a234422..993c76e18a 100644 --- a/ArduCopter/options.cmake +++ b/ArduCopter/options.cmake @@ -30,9 +30,9 @@ apm_option("APM_PROCESSOR" TYPE STRING DEFAULT "mega2560" OPTIONS "mega" "mega2560") -apm_option("CLI_SLIDER_ENABLED" TYPE BOOL - DESCRIPTION "Enable command line interface switch?" - DEFAULT OFF) +#apm_option("CLI_SLIDER_ENABLED" TYPE BOOL + #DESCRIPTION "Enable command line interface switch?" + #DEFAULT OFF) apm_option("LOGGING_ENABLED" TYPE BOOL DESCRIPTION "Enable logging?" @@ -60,22 +60,30 @@ apm_option("AIRSPEED_SENSOR" TYPE BOOL DESCRIPTION "Enable airspeed sensor?" DEFAULT OFF) +apm_option("PITOT_ENABLED" TYPE BOOL + DESCRIPTION "Enable pitot static system?" + DEFAULT OFF) + +apm_option("SONAR_ENABLED" TYPE BOOL + DESCRIPTION "Enable sonar?" + DEFAULT OFF) + apm_option("AIRSPEED_RATIO" TYPE STRING ADVANCED DESCRIPTION "Airspeed ratio?" DEFAULT "1.9936") -apm_option("MAGNETOMETER" TYPE BOOL - DESCRIPTION "Enable airspeed sensor?" - DEFAULT OFF) +#apm_option("MAGNETOMETER" TYPE BOOL + #DESCRIPTION "Enable airspeed sensor?" + #DEFAULT OFF) -apm_option("MAG_ORIENTATION" TYPE STRING ADVANCED - DESCRIPTION "Magnetometer orientation?" - DEFAULT "AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD" - OPTIONS - "AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD" - "AP_COMPASS_COMPONENTS_DOWN_PINS_BACK" - "AP_COMPASS_COMPONENTS_UP_PINS_FORWARD" - "AP_COMPASS_COMPONENTS_UP_PINS_BACK") +#apm_option("MAG_ORIENTATION" TYPE STRING ADVANCED + #DESCRIPTION "Magnetometer orientation?" + #DEFAULT "AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD" + #OPTIONS + #"AP_COMPASS_COMPONENTS_DOWN_PINS_FORWARD" + #"AP_COMPASS_COMPONENTS_DOWN_PINS_BACK" + #"AP_COMPASS_COMPONENTS_UP_PINS_FORWARD" + #"AP_COMPASS_COMPONENTS_UP_PINS_BACK") apm_option("HIL_MODE" TYPE STRING DESCRIPTION "Hardware-in-the-loop- mode?" @@ -85,31 +93,11 @@ apm_option("HIL_MODE" TYPE STRING "HIL_MODE_ATTITUDE" "HIL_MODE_SENSORS") -apm_option("HIL_PORT" TYPE STRING - DESCRIPTION "Port for Hardware-in-the-loop communication" - DEFAULT "0" - OPTIONS "0" "1" "2" "3") - -apm_option("HIL_PROTOCOL" TYPE STRING - DESCRIPTION "Hardware-in-the-loop protocol?" - DEFAULT "HIL_PROTOCOL_MAVLINK" - OPTIONS "HIL_PROTOCOL_MAVLINK" "HIL_PROTOCOL_XPLANE") - -apm_option("GCS_PROTOCOL" TYPE STRING - DESCRIPTION "Ground station protocol?" - DEFAULT "GCS_PROTOCOL_MAVLINK" - OPTIONS "GCS_PROTOCOL_NONE" "GCS_PROTOCOL_MAVLINK") - -apm_option("GCS_PORT" TYPE STRING ADVANCED - DESCRIPTION "Ground station port?" - DEFAULT "3" - OPTIONS "0" "1" "2" "3") - apm_option("MAV_SYSTEM_ID" TYPE STRING ADVANCED DESCRIPTION "MAVLink System ID?" DEFAULT "1") -apm_option("MAVLINKV10" TYPE BOOL DEFINE_ONLY +apm_option("MAVLINK10" TYPE BOOL DEFINE_ONLY BUILD_FLAG DESCRIPTION "Use mavlink version 1.0?" DEFAULT OFF) @@ -159,7 +147,7 @@ apm_option("FRAME_CONFIG" TYPE STRING apm_option("FRAME_ORIENTATION" TYPE STRING DESCRIPTION "Vehicle type?" - DEFAULT "QUAD_FRAME" + DEFAULT "PLUS_FRAME" OPTIONS "PLUS_FRAME" "X_FRAME" diff --git a/ArduPlane/options.cmake b/ArduPlane/options.cmake index f984b36aba..6fdc62c254 100644 --- a/ArduPlane/options.cmake +++ b/ArduPlane/options.cmake @@ -38,7 +38,7 @@ apm_option("LOGGING_ENABLED" TYPE BOOL DESCRIPTION "Enable logging?" DEFAULT OFF) -apm_option("QUATERNION_ENABLE" TYPE BOOL +apm_option("QUATERNION_ENABLE" TYPE BOOL ADVANCED DESCRIPTION "Enable quaterion navigation?" DEFAULT OFF) diff --git a/cmake/modules/APMOption.cmake b/cmake/modules/APMOption.cmake index 6114ff44aa..a71ad89c9b 100644 --- a/cmake/modules/APMOption.cmake +++ b/cmake/modules/APMOption.cmake @@ -91,7 +91,9 @@ function(apm_option_generate_config) cmake_parse_arguments(ARG "" "FILE;BUILD_FLAGS" "" ${ARGN}) # options - list(REMOVE_DUPLICATES APM_OPTIONS_LIST) + if (NOT "${APM_OPTIONS_LIST}" STREQUAL "") + list(REMOVE_DUPLICATES APM_OPTIONS_LIST) + endif() file (WRITE "${CMAKE_BINARY_DIR}/${ARG_FILE}" "//automatically generated, do not edit\n") file (APPEND "${CMAKE_BINARY_DIR}/${ARG_FILE}" "#define OFF 0\n#define ON 1\n") foreach(ITEM ${APM_OPTIONS_LIST}) @@ -110,9 +112,12 @@ function(apm_option_generate_config) endforeach() # build flags - list(REMOVE_DUPLICATES APM_BUILD_FLAGS_LIST) + if (NOT "${APM_BUILD_FLAGS_LIST}" STREQUAL "") + list(REMOVE_DUPLICATES APM_BUILD_FLAGS_LIST) + endif() foreach(ITEM ${APM_BUILD_FLAGS_LIST}) #message(STATUS "build flags: ${ITEM}") + set(${ARG_BUILD_FLAGS} "" CACHE INTERNAL "build flags" FORCE) get_property(ITEM_VALUE CACHE ${ITEM} PROPERTY VALUE) if (${${ITEM}_DEFINE_ONLY}) if (${ITEM_VALUE})