executable.cmake 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. if (NOT BUILDING_SDK)
  2. add_library(kendryte STATIC IMPORTED)
  3. set_property(TARGET kendryte PROPERTY IMPORTED_LOCATION ${SDK_ROOT}/libkendryte.a)
  4. include_directories(${SDK_ROOT}/include/)
  5. endif ()
  6. removeDuplicateSubstring(${CMAKE_C_FLAGS} CMAKE_C_FLAGS)
  7. removeDuplicateSubstring(${CMAKE_CXX_FLAGS} CMAKE_CXX_FLAGS)
  8. message("SOURCE_FILES=${SOURCE_FILES}")
  9. add_executable(${PROJECT_NAME} ${SOURCE_FILES})
  10. set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C)
  11. target_link_libraries(${PROJECT_NAME}
  12. -Wl,--start-group
  13. gcc m c kendryte
  14. -Wl,--end-group
  15. )
  16. IF(SUFFIX)
  17. SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SUFFIX ${SUFFIX})
  18. ENDIF()
  19. # Build target
  20. add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
  21. COMMAND ${CMAKE_OBJCOPY} --output-format=binary ${CMAKE_BINARY_DIR}/${PROJECT_NAME}${SUFFIX} ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.bin
  22. DEPENDS ${PROJECT_NAME}
  23. COMMENT "Generating .bin file ...")
  24. # show information
  25. include(${CMAKE_CURRENT_LIST_DIR}/dump-config.cmake)