diff --git a/CMakeLists.txt b/CMakeLists.txt index c75e2af3..c4497b22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,16 +18,19 @@ option(EIVE_ADD_ETL_LIB "Add ETL library" ON) option(EIVE_ADD_JSON_LIB "Add JSON library" ON) option(EIVE_SYSROOT_MAGIC "Perform sysroot magic which might not be necessary" OFF) +option(EIVE_CREATE_UNIQUE_OBSW_BIN "Append username to generated binary name" ON) if(NOT FSFW_OSAL) set(FSFW_OSAL linux CACHE STRING "OS for the FSFW.") endif() -if(TGT_BSP MATCHES "arm/raspberrypi" OR TGT_BSP MATCHES "arm/beagleboneblack") - option(LINUX_CROSS_COMPILE ON) - option(EIVE_BUILD_GPSD_GPS_HANDLER "Build GPSD dependent GPS Handler" OFF) -else() - option(EIVE_BUILD_GPSD_GPS_HANDLER "Build GPSD dependent GPS Handler" ON) +if(TGT_BSP) + if(TGT_BSP MATCHES "arm/raspberrypi" OR TGT_BSP MATCHES "arm/beagleboneblack") + option(LINUX_CROSS_COMPILE ON) + option(EIVE_BUILD_GPSD_GPS_HANDLER "Build GPSD dependent GPS Handler" OFF) + elseif(TGT_BSP MATCHES "arm/q7s") + option(EIVE_BUILD_GPSD_GPS_HANDLER "Build GPSD dependent GPS Handler" ON) + endif() endif() # Perform steps like loading toolchain files where applicable. @@ -164,7 +167,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") "-Wno-unused-parameter" "-Wno-psabi" ) - message(STATUS "goes here") + # Remove unused sections. add_compile_options( "-ffunction-sections" @@ -186,6 +189,12 @@ add_library(${LIB_EIVE_MISSION}) # Add executable add_executable(${OBSW_NAME}) +if(EIVE_CREATE_UNIQUE_OBSW_BIN) + set(OBSW_BIN_NAME ${CMAKE_PROJECT_NAME}-$ENV{USERNAME}) +else() + set(OBSW_BIN_NAME ${CMAKE_PROJECT_NAME}) +endif() +set_target_properties(${OBSW_NAME} PROPERTIES OUTPUT_NAME ${OBSW_BIN_NAME}) #watchdog add_executable(${WATCHDOG_NAME} EXCLUDE_FROM_ALL) @@ -340,9 +349,10 @@ string(CONCAT POST_BUILD_COMMENT add_custom_command( TARGET ${OBSW_NAME} POST_BUILD - COMMAND ${CMAKE_SIZE} ${OBSW_NAME}${FILE_SUFFIX} + COMMAND ${CMAKE_SIZE} ${OBSW_BIN_NAME}${FILE_SUFFIX} COMMENT ${POST_BUILD_COMMENT} ) + include (${CMAKE_SCRIPT_PATH}/BuildType.cmake) set_build_type() diff --git a/cmake/HardwareOsPostConfig.cmake b/cmake/HardwareOsPostConfig.cmake index 3000366b..e7fb257a 100644 --- a/cmake/HardwareOsPostConfig.cmake +++ b/cmake/HardwareOsPostConfig.cmake @@ -41,12 +41,12 @@ add_compile_options( $<$:${ASM_FLAGS}> ) -set(STRIPPED_OBSW_NAME ${OBSW_NAME}-stripped) +set(STRIPPED_OBSW_NAME ${OBSW_BIN_NAME}-stripped) add_custom_command( TARGET ${OBSW_NAME} POST_BUILD - COMMAND ${CMAKE_STRIP} --strip-all ${OBSW_NAME} -o ${STRIPPED_OBSW_NAME} + COMMAND ${CMAKE_STRIP} --strip-all ${OBSW_BIN_NAME} -o ${STRIPPED_OBSW_NAME} BYPRODUCTS ${STRIPPED_OBSW_NAME} COMMENT "Generating stripped executable ${STRIPPED_OBSW_NAME}.." )