Merge pull request #2861 from jgoppert/cmake-param

Fixed parameter generation dependencies.
This commit is contained in:
Lorenz Meier
2015-09-14 01:25:00 +02:00
18 changed files with 98 additions and 18 deletions
+29 -8
View File
@@ -701,17 +701,38 @@ function(px4_create_git_hash_header)
endfunction() endfunction()
#============================================================================= #=============================================================================
# parameter file generation #
# px4_generate_parameters
#
# Generates a source file with all parameters.
#
# Usage:
# px4_generate_parameters(OUT <list-source-files>)
#
# Output:
# OUT : the generate source files
#
# Example:
# px4_generate_parameters(OUT parameters.c)
# #
function(px4_generate_parameters) function(px4_generate_parameters)
execute_process( px4_parse_function_args(
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/px_process_params.py -s ${CMAKE_SOURCE_DIR}/src --board ${BOARD} --xml NAME px4_generate_parameters
) ONE_VALUE OUT
REQUIRED OUT
execute_process( ARGN ${ARGN})
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/px_generate_params.py ${CMAKE_BINARY_DIR}/parameters.xml set(generated_files
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.h
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.c)
set_source_files_properties(${generated_files}
PROPERTIES GENERATED TRUE)
add_custom_command(OUTPUT ${generated_files}
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/px_process_params.py
-s ${CMAKE_SOURCE_DIR}/src --board CONFIG_ARCH_${BOARD} --xml
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/px_generate_params.py
parameters.xml
) )
set(${OUT} ${generated_files} PARENT_SCOPE)
endfunction() endfunction()
# vim: set noet fenc=utf-8 ff=unix nowrap: # vim: set noet fenc=utf-8 ff=unix nowrap:
@@ -97,6 +97,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/controllib modules/controllib
@@ -69,6 +69,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/controllib modules/controllib
+1
View File
@@ -22,6 +22,7 @@ set(config_module_list
modules/mc_pos_control modules/mc_pos_control
modules/mc_att_control modules/mc_att_control
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB
+1
View File
@@ -17,6 +17,7 @@ set(config_module_list
modules/mavlink modules/mavlink
modules/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
modules/sensors modules/sensors
+1
View File
@@ -15,6 +15,7 @@ set(config_module_list
modules/mavlink modules/mavlink
modules/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
modules/dataman modules/dataman
+1
View File
@@ -23,6 +23,7 @@ set(config_module_list
systemcmds/reboot systemcmds/reboot
systemcmds/topic_listener systemcmds/topic_listener
modules/uORB modules/uORB
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/sensors modules/sensors
+1
View File
@@ -13,6 +13,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
+1
View File
@@ -33,6 +33,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB
+1
View File
@@ -13,6 +13,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
+1
View File
@@ -55,6 +55,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB
+1
View File
@@ -13,6 +13,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB
+1
View File
@@ -36,6 +36,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB
+3 -3
View File
@@ -8,10 +8,10 @@ px4_nuttx_generate_builtin_commands(
px4_nuttx_generate_romfs(OUT romfs.o px4_nuttx_generate_romfs(OUT romfs.o
ROOT ROMFS/px4fmu_common) ROOT ROMFS/px4fmu_common)
px4_generate_parameters()
# add executable # add executable
add_executable(firmware_nuttx builtin_commands.c ${CMAKE_BINARY_DIR}/px4_parameters.c romfs.o) add_executable(firmware_nuttx
builtin_commands.c
romfs.o)
set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export) set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export)
set(main_link_flags set(main_link_flags
"-T${nuttx_export_dir}/build/ld.script" "-T${nuttx_export_dir}/build/ld.script"
-3
View File
@@ -5,11 +5,8 @@ px4_posix_generate_builtin_commands(
OUT apps.h OUT apps.h
MODULE_LIST ${module_libraries}) MODULE_LIST ${module_libraries})
px4_generate_parameters()
add_executable(mainapp add_executable(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp ${CMAKE_SOURCE_DIR}/src/platforms/posix/main.cpp
${CMAKE_BINARY_DIR}/px4_parameters.c
apps.h apps.h
) )
-4
View File
@@ -14,18 +14,14 @@ px4_qurt_generate_builtin_commands(
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
px4_generate_parameters()
# Enable build without HexagonSDK to check link dependencies # Enable build without HexagonSDK to check link dependencies
if ("${QURT_ENABLE_STUBS}" STREQUAL "1") if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_executable(mainapp add_executable(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c ${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h) ${CMAKE_BINARY_DIR}/apps.h)
else("${QURT_ENABLE_STUBS}" STREQUAL "1") else("${QURT_ENABLE_STUBS}" STREQUAL "1")
add_library(mainapp add_library(mainapp
${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c ${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c
${CMAKE_BINARY_DIR}/px4_parameters.c
${CMAKE_BINARY_DIR}/apps.h) ${CMAKE_BINARY_DIR}/apps.h)
endif() endif()
+50
View File
@@ -0,0 +1,50 @@
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
include_directories(${CMAKE_CURRENT_BINARY_DIR})
px4_generate_parameters(OUT param_files)
set(srcs
${param_files}
)
px4_add_module(
MODULE modules__param
COMPILE_FLAGS
-Os
SRCS ${srcs}
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :
+4
View File
@@ -31,6 +31,9 @@
# #
############################################################################ ############################################################################
# for generated files
include_directories(${CMAKE_BINARY_DIR}/src/modules/param)
set(SRCS set(SRCS
perf_counter.c perf_counter.c
param/param.c param/param.c
@@ -76,5 +79,6 @@ px4_add_module(
SRCS ${SRCS} SRCS ${SRCS}
DEPENDS DEPENDS
platforms__common platforms__common
modules__param
) )
# vim: set noet ft=cmake fenc=utf-8 ff=unix : # vim: set noet ft=cmake fenc=utf-8 ff=unix :