Skip to content

Commit

Permalink
Bulk Merge of rc-6.7.0
Browse files Browse the repository at this point in the history
skliper committed Sep 6, 2019
1 parent 90fb632 commit 6aaf5a3
Showing 212 changed files with 9,760 additions and 59,574 deletions.
24 changes: 18 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -46,6 +46,11 @@
# Squelch a warning when building on Win32/Cygwin
set(CMAKE_LEGACY_CYGWIN_WIN32 0)

# Add a path for any locally-supplied CMake modules
# These would typically be a part of any custom PSPs in use.
# (this is not required, and the directory can be empty/nonexistent)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../psp/cmake/Modules" ${CMAKE_MODULE_PATH})

# The minimum CMake version is chosen because 2.6.4 is what is
# included by default with RHEL/Centos 5.x
cmake_minimum_required(VERSION 2.6.4)
@@ -66,9 +71,11 @@ include("cmake/global_functions.cmake")
# depending on whether TARGETSYSTEM is defined or not
if (TARGETSYSTEM)
# Arch-specific/CPU build mode -- use the "arch_build" implementation
set(IS_CFS_ARCH_BUILD TRUE)
include("cmake/arch_build.cmake")
else (TARGETSYSTEM)
# Host System/Top Level build mode -- use the "mission_build" implementation
set(IS_CFS_MISSION_BUILD TRUE)
include("cmake/mission_build.cmake")
endif (TARGETSYSTEM)

@@ -84,12 +91,17 @@ include(${MISSION_DEFS}/targets.cmake)
# Scan the list of targets and organize by target system type.
read_targetconfig()

# Define preprocessor directive(s) which can be used to
# gate conditionally compiled code when using these CMake scripts.
# Macro defined here at the topmost level will be defined in all targets
# on all processors. These macros can preserve compatibility with the old makefiles
# such that the code can still be built using the old method without the new features.
add_definitions("-D_ENHANCED_BUILD_")
# Additionally the target mission might require additional
# custom build steps or override some routines. In particular
# some architectures might need some special installation steps
# The custom script may override functions such as the
# cfe_exec_do_install() and cfe_app_do_install() functions for this
if (IS_CFS_ARCH_BUILD)
include("${MISSION_DEFS}/arch_build.cmake" OPTIONAL)
include("${MISSION_DEFS}/arch_build_${TARGETSYSTEM}.cmake" OPTIONAL)
elseif (IS_CFS_MISSION_BUILD)
include("${MISSION_DEFS}/mission_build.cmake" OPTIONAL)
endif (IS_CFS_ARCH_BUILD)

# Call the prepare function defined by the sub-script
# This is implemented differently depending on whether this is a
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -8,14 +8,14 @@ This is a collection of services and associated framework to be located in the `

cFE 6.6.0a is released under the Apache 2.0 license, see [LICENSE](LICENSE-18128-Apache-2_0.pdf).

Additional release notes are found in [release notes](docs/cFE_release_notes.md). See the [version description document](docs/cFE_6_6_0_version_description.pdf) for the full version description document. Test results can be found in [test results](test-and-ground/test-review-packages/Results). This is a point release from major development work currently being performed on an internal repository.
Additional release notes are found in [release notes](docs/cFE_release_notes.md). See the [version description document](docs/cFE_6_6_0_version_description.md) for the full version description document. Test results can be found in [test results](test-and-ground/test-review-packages/Results). This is a point release from major development work currently being performed on an internal repository.

## Known issues

Version description document contains references to internal repositories and sourceforge, which is no longer in use. Markdown document formats have not been updated for GitHub.

## Getting Help

For best results, submit issues:questions or issues:help wanted requests at https://github.com/nasa/cFS.
The cFS community page http://coreflightsystem.org should be your first stop for getting help. Please post questions to http://coreflightsystem.org/questions/. There is also a forum at http://coreflightsystem.org/forums/ for more general discussions.

Official cFS page: http://cfs.gsfc.nasa.gov
2 changes: 0 additions & 2 deletions cmake/README.md
Original file line number Diff line number Diff line change
@@ -19,10 +19,8 @@ Quick instructions for doing a CMake based build:

* Copy the sample CMake configuration into the top:

```
cp cfe/cmake/Makefile.sample Makefile
cp -r cfe/cmake/sample\_defs sample\_defs
```

The files in "sample\_defs" will need to be adjusted to meet the
needs of your mission, but the sample values provided are sufficient
91 changes: 65 additions & 26 deletions cmake/arch_build.cmake
Original file line number Diff line number Diff line change
@@ -91,17 +91,8 @@ function(add_cfe_app APP_NAME APP_SRC_FILES)
add_library(${APP_NAME} ${APPTYPE} ${APP_SRC_FILES} ${ARGN})

if (APP_INSTALL_LIST)
# Override the default behavior of attaching a "lib" prefix
set_target_properties(${APP_NAME} PROPERTIES PREFIX "")

# Create the install targets for this shared/modular app
foreach(TGT ${APP_INSTALL_LIST})
install(TARGETS ${APP_NAME} DESTINATION ${TGT}/${INSTALL_SUBDIR})
endforeach()
else()
# Set a compile definition to enable static linkage macros
set_target_properties(${APP_NAME} PROPERTIES COMPILE_DEFINITIONS "CFS_STATIC_MODULE")
endif()
cfs_app_do_install(${APP_NAME} ${APP_INSTALL_LIST})
endif (APP_INSTALL_LIST)

endfunction(add_cfe_app)

@@ -222,6 +213,44 @@ function(add_unit_test_exe UT_NAME UT_SRCS)
add_test(${UT_NAME} ${UT_NAME})
endfunction(add_unit_test_exe)


##################################################################
#
# FUNCTION: cfe_exec_do_install
#
# Called to install a CFE core executable target to the staging area.
# Some architectures/OS's need special extra steps, and this
# function can be overridden in a custom cmake file for those platforms
#
function(cfe_exec_do_install CPU_NAME)

# By default just stage it to a directory of the same name
install(TARGETS core-${CPU_NAME} DESTINATION ${CPU_NAME})

endfunction(cfe_exec_do_install)

##################################################################
#
# FUNCTION: cfs_app_do_install
#
# Called to install a CFS application target to the staging area.
# Some architectures/OS's need special extra steps, and this
# function can be overridden in a custom cmake file for those platforms
#
function(cfs_app_do_install APP_NAME)

# override the default behavior of attaching a "lib" prefix
set_target_properties(${APP_NAME} PROPERTIES
PREFIX "" OUTPUT_NAME "${APP_NAME}")

# Create the install targets for this shared/modular app
foreach(TGT ${ARGN})
install(TARGETS ${APP_NAME} DESTINATION ${TGT}/${INSTALL_SUBDIR})
endforeach()

endfunction(cfs_app_do_install)


##################################################################
#
# FUNCTION: prepare
@@ -251,7 +280,7 @@ function(prepare)
"${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
# Export the variables determined here up to the parent scope
SET(CFE_SYSTEM_PSPNAME "pc-linux" PARENT_SCOPE)
SET(OSAL_SYSTEM_OSTYPE "posix-ng" PARENT_SCOPE)
SET(OSAL_SYSTEM_OSTYPE "posix" PARENT_SCOPE)
else ()
# Not cross compiling and host system is not recognized
message(FATAL_ERROR "Do not know how to set CFE_SYSTEM_PSPNAME and OSAL_SYSTEM_OSTYPE on ${CMAKE_SYSTEM_NAME} system")
@@ -312,8 +341,8 @@ function(process_arch SYSVAR)
# Append the PSP and OSAL selections to the Doxyfile so it will be included
# in the generated documentation automatically.
# Also extract the "-D" options within CFLAGS and inform Doxygen about these
string(REGEX MATCHALL "-D[A-Za-z0-9_=]+" DOXYGEN_DEFINED_MACROS ${CMAKE_C_FLAGS})
string(REGEX REPLACE "-D" " " DOXYGEN_DEFINED_MACROS ${DOXYGEN_DEFINED_MACROS})
string(REGEX MATCHALL "-D[A-Za-z0-9_=]+" DOXYGEN_DEFINED_MACROS "${CMAKE_C_FLAGS}")
string(REGEX REPLACE "-D" " " DOXYGEN_DEFINED_MACROS "${DOXYGEN_DEFINED_MACROS}")
file(APPEND "${MISSION_BINARY_DIR}/doc/mission-content.doxyfile"
"PREDEFINED += ${DOXYGEN_DEFINED_MACROS}\n"
"INPUT += ${MISSION_SOURCE_DIR}/osal/src/os/${OSAL_SYSTEM_OSTYPE}\n"
@@ -374,13 +403,34 @@ function(process_arch SYSVAR)
add_subdirectory(${MISSION_SOURCE_DIR}/psp psp/${CFE_SYSTEM_PSPNAME})

# Process each target that shares this system architecture
# First Pass: Assemble the list of apps that should be compiled
foreach(TGTID ${TGTSYS_${SYSVAR}})

set(TGTNAME ${TGT${TGTID}_NAME})
if(NOT TGTNAME)
set(TGTNAME "cpu${TGTID}")
set(TGT${TGTID}_NAME "${TGTNAME}")
endif(NOT TGTNAME)

# Append to the app install list for this CPU
foreach(APP ${TGT${TGTID}_APPLIST})
set(TGTLIST_${APP} ${TGTLIST_${APP}} ${TGTNAME})
endforeach(APP ${TGT${TGTID}_APPLIST})

endforeach(TGTID ${TGTSYS_${SYSVAR}})

# Process each app that is used on this system architecture
foreach(APP ${TGTSYS_${SYSVAR}_APPS})
set(APP_INSTALL_LIST ${TGTLIST_${APP}})
message(STATUS "Building App: ${APP} install=${APP_INSTALL_LIST}")
add_subdirectory(${${APP}_MISSION_DIR} apps/${APP})
endforeach()

# Process each target that shares this system architecture
# Second Pass: Build cfe-core and link final target executable
foreach(TGTID ${TGTSYS_${SYSVAR}})

set(TGTNAME ${TGT${TGTID}_NAME})
set(TGTPLATFORM ${TGT${TGTID}_PLATFORM})
if(NOT TGTPLATFORM)
set(TGTPLATFORM "default" ${TGTNAME})
@@ -398,11 +448,6 @@ function(process_arch SYSVAR)

endif (NOT TARGET ${CFE_CORE_TARGET})

# Append to the app install list for this CPU
foreach(APP ${TGT${TGTID}_APPLIST})
set(TGTLIST_${APP} ${TGTLIST_${APP}} ${TGTNAME})
endforeach(APP ${TGT${TGTID}_APPLIST})

# Target to generate the actual executable file
add_subdirectory(cmake/target ${TGTNAME})

@@ -422,12 +467,6 @@ function(process_arch SYSVAR)
endforeach(INSTFILE ${TGT${TGTID}_FILELIST})
endforeach(TGTID ${TGTSYS_${SYSVAR}})

# Process each app that is used on this system architecture
foreach(APP ${TGTSYS_${SYSVAR}_APPS})
set(APP_INSTALL_LIST ${TGTLIST_${APP}})
message(STATUS "Building App: ${APP} install=${APP_INSTALL_LIST}")
add_subdirectory(${${APP}_MISSION_DIR} apps/${APP})
endforeach()


endfunction(process_arch SYSVAR)

1 change: 0 additions & 1 deletion cmake/cfe-common.doxyfile.in
Original file line number Diff line number Diff line change
@@ -230,7 +230,6 @@ EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = _HAVE_STDINT_
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
33 changes: 17 additions & 16 deletions cmake/sample_defs/cpu1_msgids.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
/******************************************************************************
**
** GSC-18128-1, "Core Flight Executive Version 6.6"
**
** Copyright (c) 2006-2019 United States Government as represented by
** the Administrator of the National Aeronautics and Space Administration.
** All Rights Reserved.
/*
** GSC-18128-1, "Core Flight Executive Version 6.6"
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
** Copyright (c) 2006-2019 United States Government as represented by
** the Administrator of the National Aeronautics and Space Administration.
** All Rights Reserved.
**
** http://www.apache.org/licenses/LICENSE-2.0
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/

/******************************************************************************
** File: cfe_msgids.h
**
** Purpose:
Loading

0 comments on commit 6aaf5a3

Please sign in to comment.