72 lines
2.0 KiB
CMake
72 lines
2.0 KiB
CMake
function(pre_source_hw_os_config)
|
|
|
|
# FreeRTOS
|
|
if(FSFW_OSAL MATCHES freertos)
|
|
message(FATAL_ERROR "No FreeRTOS support implemented yet.")
|
|
# RTEMS
|
|
elseif(FSFW_OSAL STREQUAL rtems)
|
|
add_definitions(-DRTEMS)
|
|
message(FATAL_ERROR "No RTEMS support implemented yet.")
|
|
elseif(FSFW_OSAL STREQUAL linux)
|
|
add_definitions(-DUNIX -DLINUX)
|
|
find_package(Threads REQUIRED)
|
|
# Hosted
|
|
else()
|
|
set(BSP_PATH "bsp_hosted")
|
|
if(WIN32)
|
|
add_definitions(-DWIN32)
|
|
elseif(UNIX)
|
|
find_package(Threads REQUIRED)
|
|
add_definitions(-DUNIX -DLINUX)
|
|
endif()
|
|
endif()
|
|
|
|
# Cross-compile information
|
|
if(CMAKE_CROSSCOMPILING)
|
|
# set(CMAKE_VERBOSE TRUE)
|
|
|
|
message(STATUS "Cross-compiling for ${TGT_BSP} target")
|
|
message(STATUS "Cross-compile gcc: ${CMAKE_C_COMPILER}")
|
|
message(STATUS "Cross-compile g++: ${CMAKE_CXX_COMPILER}")
|
|
|
|
if(CMAKE_VERBOSE)
|
|
message(STATUS "Cross-compile linker: ${CMAKE_LINKER}")
|
|
message(STATUS "Cross-compile size utility: ${CMAKE_SIZE}")
|
|
message(STATUS "Cross-compile objcopy utility: ${CMAKE_OBJCOPY}")
|
|
message(STATUS "Cross-compile ranlib utility: ${CMAKE_RANLIB}")
|
|
message(STATUS "Cross-compile ar utility: ${CMAKE_AR}")
|
|
message(STATUS "Cross-compile nm utility: ${CMAKE_NM}")
|
|
message(STATUS "Cross-compile strip utility: ${CMAKE_STRIP}")
|
|
message(STATUS
|
|
"Cross-compile assembler: ${CMAKE_ASM_COMPILER} "
|
|
"-x assembler-with-cpp"
|
|
)
|
|
message(STATUS "ABI flags: ${ABI_FLAGS}")
|
|
message(STATUS "Custom linker script: ${LINKER_SCRIPT}")
|
|
endif()
|
|
|
|
set_property(CACHE TGT_BSP
|
|
PROPERTY STRINGS
|
|
"arm/q7s" "arm/raspberrypi" "arm/egse"
|
|
)
|
|
endif()
|
|
|
|
|
|
if(TGT_BSP)
|
|
if (TGT_BSP MATCHES "arm/raspberrypi" OR TGT_BSP MATCHES "arm/beagleboneblack")
|
|
set(BSP_PATH "bsp_linux_board")
|
|
elseif(TGT_BSP MATCHES "arm/q7s")
|
|
set(BSP_PATH "bsp_q7s")
|
|
elseif(TGT_BSP MATCHES "arm/egse")
|
|
set(BSP_PATH "bsp_egse")
|
|
else()
|
|
message(WARNING "CMake not configured for this target!")
|
|
message(FATAL_ERROR "Target: ${TGT_BSP}!")
|
|
endif()
|
|
else()
|
|
set(BSP_PATH "bsp_hosted")
|
|
endif()
|
|
|
|
set(BSP_PATH ${BSP_PATH} PARENT_SCOPE)
|
|
|
|
endfunction() |