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" ) 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") 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()