Skip to content

Commit

Permalink
Improvements to cmake.
Browse files Browse the repository at this point in the history
  • Loading branch information
jgoppert committed Sep 30, 2011
1 parent 5e92e1f commit 5489b84
Show file tree
Hide file tree
Showing 44 changed files with 191 additions and 616 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ serialsent.raw
CMakeFiles
CMakeCache.txt
cmake_install.cmake
build
1 change: 1 addition & 0 deletions ArduCopter/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
arducopter.cpp
2 changes: 0 additions & 2 deletions ArduCopter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions ArduPlane/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ArduPlane.cpp
2 changes: 0 additions & 2 deletions ArduPlane/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions apo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
apo.cpp
93 changes: 45 additions & 48 deletions apo/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,54 +1,29 @@
#=============================================================================#
# 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
Expand All @@ -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
)
1 change: 1 addition & 0 deletions apo/apo.pde
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// Libraries
#include <WProgram.h>
#include <FastSerial.h>
#include <AP_Common.h>
#include <APM_RC.h>
Expand Down
7 changes: 7 additions & 0 deletions cmake/modules/ApmMakeLib.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
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)
74 changes: 74 additions & 0 deletions cmake/modules/ApmMakeSketch.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
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
)
23 changes: 1 addition & 22 deletions libraries/APM_BMP085/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1 @@
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)
25 changes: 1 addition & 24 deletions libraries/APM_PI/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1 @@
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)
1 change: 1 addition & 0 deletions libraries/APM_PerfMon/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include(ApmMakeLib)
23 changes: 1 addition & 22 deletions libraries/APM_RC/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1 @@
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)
40 changes: 1 addition & 39 deletions libraries/APO/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1 @@
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)
27 changes: 1 addition & 26 deletions libraries/AP_ADC/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,26 +1 @@
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)
Loading

0 comments on commit 5489b84

Please sign in to comment.