CMake: incorporate libopencm3 into build process.

This commit is contained in:
Jared Boone
2018-12-30 13:42:01 -08:00
parent bb2fe4259c
commit 1d26b59b2d
2 changed files with 11 additions and 5 deletions

View File

@ -18,9 +18,6 @@ submodule:
$ cd ..
$ git submodule init
$ git submodule update
$ cd firmware/libopencm3
$ make
To build and install a standard firmware image for HackRF One:

View File

@ -106,6 +106,15 @@ set(BUILD_SHARED_LIBS OFF)
include_directories("${LIBOPENCM3}/include/")
include_directories("${PATH_HACKRF_FIRMWARE_COMMON}")
include(ExternalProject)
ExternalProject_Add(libopencm3
SOURCE_DIR "${LIBOPENCM3}"
BUILD_IN_SOURCE true
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ""
INSTALL_COMMAND ""
)
macro(DeclareTargets)
SET(SRC_M4
${SRC_M4}
@ -181,7 +190,7 @@ macro(DeclareTargets)
# Object files to be linked for SPI flash versions
add_library(${PROJECT_NAME}_objects OBJECT ${SRC_M4} m0_bin.s)
set_target_properties(${PROJECT_NAME}_objects PROPERTIES COMPILE_FLAGS "${CFLAGS_M4}")
add_dependencies(${PROJECT_NAME}_objects ${PROJECT_NAME}_m0.bin)
add_dependencies(${PROJECT_NAME}_objects ${PROJECT_NAME}_m0.bin libopencm3)
add_executable(${PROJECT_NAME}.elf $<TARGET_OBJECTS:${PROJECT_NAME}_objects>)
target_link_libraries(
@ -204,7 +213,7 @@ macro(DeclareTargets)
# Object files to be linked for DFU flash versions
add_library(${PROJECT_NAME}_dfu_objects OBJECT ${SRC_M4} m0_bin.s)
set_target_properties(${PROJECT_NAME}_dfu_objects PROPERTIES COMPILE_FLAGS "${CFLAGS_M4_DFU}")
add_dependencies(${PROJECT_NAME}_dfu_objects ${PROJECT_NAME}_m0.bin)
add_dependencies(${PROJECT_NAME}_dfu_objects ${PROJECT_NAME}_m0.bin libopencm3)
add_executable(${PROJECT_NAME}_dfu.elf $<TARGET_OBJECTS:${PROJECT_NAME}_dfu_objects>)
target_link_libraries(