function(pre_project_config) # Basic input sanitization if(DEFINED TGT_BSP) if(${TGT_BSP} MATCHES "arm/raspberrypi" AND NOT FSFW_OSAL MATCHES linux) message(STATUS "FSFW OSAL invalid for specified target BSP ${TGT_BSP}!") message(STATUS "Setting valid FSFW_OSAL: linux") set(FSFW_OSAL "linux") endif() endif() # Disable compiler checks for cross-compiling. if(FSFW_OSAL MATCHES linux AND TGT_BSP) if(TGT_BSP MATCHES "arm/q7s") set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SCRIPT_PATH}/Q7SCrossCompileConfig.cmake" PARENT_SCOPE ) elseif(TGT_BSP MATCHES "arm/raspberrypi") if(NOT DEFINED ENV{RASPBIAN_ROOTFS}) if(NOT DEFINED RASPBIAN_ROOTFS) message(WARNING "No RASPBIAN_ROOTFS environmental or CMake variable set!") set(ENV{RASPBIAN_ROOTFS} "$ENV{HOME}/raspberrypi/rootfs") else() set(ENV{RASPBIAN_ROOTFS} "${RASPBIAN_ROOTFS}") endif() else() message(STATUS "RASPBIAN_ROOTFS from environmental variables used: $ENV{RASPBIAN_ROOTFS}" ) endif() if(NOT DEFINED ENV{RASPBERRY_VERSION}) if(NOT RASPBERRY_VERSION) message(STATUS "No RASPBERRY_VERSION specified, setting to 4") set(RASPBERRY_VERSION "4" CACHE STRING "Raspberry Pi version") else() message(STATUS "Setting RASPBERRY_VERSION to ${RASPBERRY_VERSION}") set(RASPBERRY_VERSION ${RASPBERRY_VERSION} CACHE STRING "Raspberry Pi version") set(ENV{RASPBERRY_VERSION} ${RASPBERRY_VERSION}) endif() else() message(STATUS "RASPBERRY_VERSION from environmental variables used: " "$ENV{RASPBERRY_VERSION}" ) endif() set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SCRIPT_PATH}/RPiCrossCompileConfig.cmake" PARENT_SCOPE ) elseif(${TGT_BSP} MATCHES "arm/beagleboneblack") if(LINUX_CROSS_COMPILE) set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SCRIPT_PATH}/BBBCrossCompileConfig.cmake" PARENT_SCOPE ) endif() else() message(WARNING "Target BSP (TGT_BSP) ${TGT_BSP} unknown!") endif() endif() endfunction()