Ulrich Mohr
4d154b7cee
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
- /mission is a library now, in preparation of unittests (which bring their own main) - eive-simple is now only available in bsp=arm/q7s (but is still not compiling) - watchdog and simple are their own executables, not configurations any more - moved some q7s specific code into /bsp-q7s to flatten if-hierarchy in main CMakeLists.txt - compiler and linker options are not globally applied to all targets - linux is the default fsfw osal now, as current code does not compile on hosted
54 lines
1.2 KiB
CMake
54 lines
1.2 KiB
CMake
function(post_source_hw_os_config)
|
|
|
|
if(LINK_LWIP)
|
|
message(STATUS "Linking against ${LIB_LWIP_NAME} lwIP library")
|
|
if(LIB_LWIP_NAME)
|
|
target_link_libraries(${OBSW_NAME} PUBLIC
|
|
${LIB_LWIP_NAME}
|
|
)
|
|
else()
|
|
message(WARNING "lwIP library name not set!")
|
|
endif()
|
|
endif()
|
|
|
|
if(LINKER_SCRIPT)
|
|
add_link_options(
|
|
-T${LINKER_SCRIPT}
|
|
)
|
|
endif()
|
|
|
|
set(C_FLAGS "" CACHE INTERNAL "C flags")
|
|
|
|
set(C_DEFS ""
|
|
CACHE INTERNAL
|
|
"C Defines"
|
|
)
|
|
|
|
set(CXX_FLAGS ${C_FLAGS})
|
|
set(CXX_DEFS ${C_DEFS})
|
|
|
|
if(CMAKE_VERBOSE)
|
|
message(STATUS "C Flags: ${C_FLAGS}")
|
|
message(STATUS "CXX Flags: ${CXX_FLAGS}")
|
|
message(STATUS "C Defs: ${C_DEFS}")
|
|
message(STATUS "CXX Defs: ${CXX_DEFS}")
|
|
endif()
|
|
|
|
# Generator expression. Can be used to set different C, CXX and ASM flags.
|
|
add_compile_options(
|
|
$<$<COMPILE_LANGUAGE:C>:${C_DEFS} ${C_FLAGS}>
|
|
$<$<COMPILE_LANGUAGE:CXX>:${CXX_DEFS} ${CXX_FLAGS}>
|
|
$<$<COMPILE_LANGUAGE:ASM>:${ASM_FLAGS}>
|
|
)
|
|
|
|
set(STRIPPED_OBSW_NAME ${OBSW_NAME}-stripped)
|
|
|
|
add_custom_command(
|
|
TARGET ${OBSW_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_STRIP} --strip-all ${OBSW_NAME} -o ${STRIPPED_OBSW_NAME}
|
|
BYPRODUCTS ${STRIPPED_OBSW_NAME}
|
|
COMMENT "Generating stripped executable ${STRIPPED_OBSW_NAME}.."
|
|
)
|
|
|
|
endfunction() |