Skip to content
Snippets Groups Projects
Commit 5489b84f authored by James Goppert's avatar James Goppert
Browse files

Improvements to cmake.

parent 5e92e1f9
No related branches found
No related tags found
No related merge requests found
Showing
with 141 additions and 270 deletions
......@@ -6,3 +6,4 @@ serialsent.raw
CMakeFiles
CMakeCache.txt
cmake_install.cmake
build
arducopter.cpp
......@@ -126,8 +126,6 @@ set(${FIRMWARE_NAME}_LIBS
c
m
)
SET_TARGET_PROPERTIES(AP_Math PROPERTIES LINKER_LANGUAGE CXX)
#${CONSOLE_PORT}
set(${FIRMWARE_NAME}_PORT COM2) # Serial upload port
......
ArduPlane.cpp
......@@ -126,8 +126,6 @@ set(${FIRMWARE_NAME}_LIBS
c
m
)
SET_TARGET_PROPERTIES(AP_Math PROPERTIES LINKER_LANGUAGE CXX)
#${CONSOLE_PORT}
set(${FIRMWARE_NAME}_PORT COM2) # Serial upload port
......
apo.cpp
#=============================================================================#
# Author: Sebastian Rohde #
# Date: 30.08.2011 #
#=============================================================================#
cmake_minimum_required(VERSION 2.6)
set(CMAKE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/../")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Arduino.cmake)
#====================================================================#
# Settings #
#====================================================================#
set(FIRMWARE_NAME apo)
string(REGEX REPLACE ".*/" "" PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR})
project(${PROJECT_NAME} C CXX)
set(FIRMWARE_NAME ${PROJECT_NAME})
set(${FIRMWARE_NAME}_BOARD ${BOARD}) # Arduino Target board
set (CMAKE_CXX_SOURCE_FILE_EXTENSIONS pde)
set(${FIRMWARE_NAME}_SKETCHES
apo.pde
) # Firmware sketches
set(${FIRMWARE_NAME}_SRCS
) # Firmware sources
set(${FIRMWARE_NAME}_HDRS
ControllerPlane.h
ControllerQuad.h
PlaneEasystar.h
QuadArducopter.h
QuadMikrokopter.h
) # Firmware sources
find_package(Arduino 22 REQUIRED)
set(${FIRMWARE_NAME}_LIBS
m
APO
FastSerial
AP_Common
GCS_MAVLink
AP_GPS
APM_RC
AP_DCM
AP_ADC
AP_Compass
AP_IMU
AP_RangeFinder
APM_BMP085
ModeFilter
)
if (NOT DEFINED BOARD)
message(STATUS "board not defined, assuming mega, use cmake -DBOARD=mega2560 , etc. to specify")
set(BOARD "mega")
endif()
message(STATUS "Board configured as: ${BOARD}")
#${CONSOLE_PORT}
set(${FIRMWARE_NAME}_PORT COM2) # Serial upload port
set(${FIRMWARE_NAME}_SERIAL putty -serial COM2 -sercfg 57600,8,n,1,X ) # Serial terminal cmd
# need to configure based on host operating system
set(${PROJECT_NAME}_PORT COM2)
set(${PROJECT_NAME}_SERIAL putty -serial COM2 -sercfg 57600,8,n,1,X )
include_directories(
${ARDUINO_LIBRARIES_PATH}/Wire
${CMAKE_SOURCE_DIR}/libraries/APO
${CMAKE_SOURCE_DIR}/libraries/AP_Common
${CMAKE_SOURCE_DIR}/libraries/FastSerial
......@@ -63,12 +38,34 @@ ${CMAKE_SOURCE_DIR}/libraries/APM_RC
${CMAKE_SOURCE_DIR}/libraries/GCS_MAVLink
${CMAKE_SOURCE_DIR}/libraries/APM_BMP085
)
#====================================================================#
# Target generation #
#====================================================================#
generate_arduino_firmware(${FIRMWARE_NAME})
add_subdirectory(../libraries "${CMAKE_CURRENT_BINARY_DIR}/libs")
file(WRITE ${PROJECT_NAME}.cpp "// Do not edit")
set(${PROJECT_NAME}_BOARD ${BOARD})
file(GLOB ${PROJECT_NAME}_SKETCHES *.pde)
file(GLOB ${PROJECT_NAME}_SRCS *.cpp)
file(GLOB ${PROJECT_NAME}_HDRS *.h)
set(${PROJECT_NAME}_LIBS
c
m
APO
FastSerial
AP_Common
GCS_MAVLink
AP_GPS
APM_RC
AP_DCM
AP_ADC
AP_Compass
AP_IMU
AP_RangeFinder
APM_BMP085
ModeFilter
)
generate_arduino_firmware(${PROJECT_NAME})
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${FIRMWARE_NAME}.hex
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.hex
DESTINATION bin
)
// Libraries
#include <WProgram.h>
#include <FastSerial.h>
#include <AP_Common.h>
#include <APM_RC.h>
......
string(REGEX REPLACE ".*/" "" LIB_NAME ${CMAKE_CURRENT_SOURCE_DIR})
#message(STATUS "building lib: ${LIB_NAME}")
file(GLOB ${LIB_NAME}_SRCS *.cpp)
file(GLOB ${LIB_NAME}_HDRS *.h)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
set_target_properties(${LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX)
cmake_minimum_required(VERSION 2.6)
set(CMAKE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/../")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/toolchains/Arduino.cmake)
string(REGEX REPLACE ".*/" "" PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR})
project(${PROJECT_NAME} C CXX)
set (CMAKE_CXX_SOURCE_FILE_EXTENSIONS pde)
find_package(Arduino 22 REQUIRED)
if (NOT DEFINED BOARD)
message(STATUS "board not defined, assuming mega, use cmake -DBOARD=mega2560 , etc. to specify")
set(BOARD "mega")
endif()
message(STATUS "Board configured as: ${BOARD}")
# need to configure based on host operating system
set(${PROJECT_NAME}_PORT COM2)
set(${PROJECT_NAME}_SERIAL putty -serial COM2 -sercfg 57600,8,n,1,X )
include_directories(
${ARDUINO_LIBRARIES_PATH}/Wire
${CMAKE_SOURCE_DIR}/libraries/APO
${CMAKE_SOURCE_DIR}/libraries/AP_Common
${CMAKE_SOURCE_DIR}/libraries/FastSerial
${CMAKE_SOURCE_DIR}/libraries/ModeFilter
${CMAKE_SOURCE_DIR}/libraries/AP_Compass
${CMAKE_SOURCE_DIR}/libraries/AP_RangeFinder
${CMAKE_SOURCE_DIR}/libraries/AP_GPS
${CMAKE_SOURCE_DIR}/libraries/AP_IMU
${CMAKE_SOURCE_DIR}/libraries/AP_ADC
${CMAKE_SOURCE_DIR}/libraries/AP_DCM
${CMAKE_SOURCE_DIR}/libraries/APM_RC
${CMAKE_SOURCE_DIR}/libraries/GCS_MAVLink
${CMAKE_SOURCE_DIR}/libraries/APM_BMP085
)
add_subdirectory(../libraries "${CMAKE_CURRENT_BINARY_DIR}/libs")
set(${PROJECT_NAME}_BOARD ${BOARD})
file(GLOB ${PROJECT_NAME}_SKETCHES *.pde)
file(GLOB ${PROJECT_NAME}_SRCS *.cpp)
file(GLOB ${PROJECT_NAME}_HDRS *.h)
set(${PROJECT_NAME}_LIBS
c
m
APO
FastSerial
AP_Common
GCS_MAVLink
AP_GPS
APM_RC
AP_DCM
AP_ADC
AP_Compass
AP_IMU
AP_RangeFinder
APM_BMP085
ModeFilter
)
generate_arduino_firmware(${PROJECT_NAME})
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.hex
DESTINATION bin
)
set(LIB_NAME APM_BMP085)
set(${LIB_NAME}_SRCS
APM_BMP085.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
APM_BMP085.h
)
include_directories(
-
#${CMAKE_SOURCE_DIR}/libraries/AP_Math
#${CMAKE_SOURCE_DIR}/libraries/AP_Common
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME APM_PI)
set(${LIB_NAME}_SRCS
APM_PI.cpp
#AP_OpticalFlow_ADNS3080.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
APM_PI.h
#AP_OpticalFlow_ADNS3080.h
)
include_directories(
-
#${CMAKE_SOURCE_DIR}/libraries/AP_Math
${CMAKE_SOURCE_DIR}/libraries/AP_Common
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
include(ApmMakeLib)
set(LIB_NAME APM_RC)
set(${LIB_NAME}_SRCS
APM_RC.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
APM_RC.h
)
include_directories(
-
#${CMAKE_SOURCE_DIR}/libraries/AP_Math
#${CMAKE_SOURCE_DIR}/libraries/AP_Common
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME APO)
set(${LIB_NAME}_SRCS
AP_Autopilot.cpp
AP_CommLink.cpp
AP_Controller.cpp
AP_Guide.cpp
AP_HardwareAbstractionLayer.cpp
AP_MavlinkCommand.cpp
AP_Navigator.cpp
AP_RcChannel.cpp
APO.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
AP_Autopilot.h
AP_CommLink.h
AP_Controller.h
AP_Guide.h
AP_HardwareAbstractionLayer.h
AP_MavlinkCommand.h
AP_Navigator.h
AP_RcChannel.h
AP_Var_keys.h
APO.h
constants.h
template.h
)
include_directories(
# ${CMAKE_SOURCE_DIR}/libraries/AP_Common
${CMAKE_SOURCE_DIR}/libraries/FastSerial
${CMAKE_SOURCE_DIR}/libraries/ModeFilter
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME AP_ADC)
set(${LIB_NAME}_SRCS
AP_ADC_HIL.cpp
AP_ADC_ADS7844.cpp
AP_ADC.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
AP_ADC_HIL.h
AP_ADC_ADS7844.h
AP_ADC.h
)
include_directories(
-
#${CMAKE_SOURCE_DIR}/libraries/AP_Math
#${CMAKE_SOURCE_DIR}/libraries/AP_Common
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME AP_Common)
set(${LIB_NAME}_SRCS
AP_Common.cpp
AP_Loop.cpp
AP_MetaClass.cpp
AP_Var.cpp
AP_Var_menufuncs.cpp
c++.cpp
menu.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
AP_Common.h
AP_Loop.h
AP_MetaClass.h
AP_Var.h
AP_Test.h
c++.h
AP_Vector.h
)
include_directories(
-
${CMAKE_SOURCE_DIR}/libraries/AP_Common
${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME AP_Compass)
set(${LIB_NAME}_SRCS
AP_Compass_HIL.cpp
AP_Compass_HMC5843.cpp
Compass.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
Compass.h
AP_Compass_HIL.h
AP_Compass_HMC5843.h
AP_Compass.h
)
include_directories(
-
${ARDUINO_LIBRARIES_PATH}/Wire
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
set(LIB_NAME AP_DCM)
set(${LIB_NAME}_SRCS
AP_DCM.cpp
AP_DCM_HIL.cpp
#AP_OpticalFlow_ADNS3080.cpp
) # Firmware sources
set(${LIB_NAME}_HDRS
AP_DCM.h
AP_DCM_HIL.h
)
include_directories(
-
${CMAKE_SOURCE_DIR}/libraries/AP_DCM
#${CMAKE_SOURCE_DIR}/libraries/AP_Common
#${CMAKE_SOURCE_DIR}/libraries/FastSerial
#
)
set(${LIB_NAME}_BOARD ${BOARD})
generate_arduino_library(${LIB_NAME})
include(ApmMakeLib)
include(ApmMakeLib)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment