Robin Mueller
7ab0a3683c
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
66 lines
1.6 KiB
CMake
66 lines
1.6 KiB
CMake
function(post_source_hw_os_config)
|
|
|
|
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_BIN_NAME}-stripped)
|
|
set(STRIPPED_WATCHDOG_NAME eive-watchdog-stripped)
|
|
|
|
if(EIVE_CREATE_UNIQUE_OBSW_BIN)
|
|
set(UNIQUE_OBSW_BIN_NAME ${OBSW_BIN_NAME}-$ENV{USERNAME})
|
|
endif()
|
|
|
|
add_custom_command(
|
|
TARGET ${OBSW_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_STRIP} --strip-all ${OBSW_BIN_NAME} -o ${STRIPPED_OBSW_NAME}
|
|
BYPRODUCTS ${STRIPPED_OBSW_NAME}
|
|
COMMENT "Generating stripped executable ${STRIPPED_OBSW_NAME}.."
|
|
)
|
|
|
|
if(UNIQUE_OBSW_BIN_NAME)
|
|
add_custom_command(
|
|
TARGET ${OBSW_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_BINARY_DIR}/${OBSW_BIN_NAME}
|
|
${CMAKE_CURRENT_BINARY_DIR}/${UNIQUE_OBSW_BIN_NAME}
|
|
COMMENT "Generating unique EIVE OBSW binary ${UNIQUE_OBSW_BIN_NAME}")
|
|
endif()
|
|
|
|
add_custom_command(
|
|
TARGET ${WATCHDOG_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_STRIP} --strip-all eive-watchdog -o ${STRIPPED_WATCHDOG_NAME}
|
|
BYPRODUCTS ${STRIPPED_WATCHDOG_NAME}
|
|
COMMENT "Generating stripped executable ${STRIPPED_WATCHDOG_NAME}.."
|
|
)
|
|
|
|
endfunction() |