mirror of
https://github.com/raspberrypi/pico-sdk.git
synced 2025-12-09 23:04:37 +01:00
40 lines
No EOL
2 KiB
CMake
40 lines
No EOL
2 KiB
CMake
if (NOT TARGET pico_base_headers)
|
|
# build the auto gen config headers
|
|
|
|
set(header_content "// AUTOGENERATED FROM PICO_CONFIG_HEADER_FILES and then PICO_<PLATFORM>_CONFIG_HEADER_FILES\n// DO NOT EDIT!\n")
|
|
string(TOUPPER ${PICO_PLATFORM} PICO_PLATFORM_UPPER)
|
|
|
|
macro(add_header_content_from_var VAR)
|
|
set(header_content "${header_content}\n\n// based on ${VAR}:\n")
|
|
foreach(var IN LISTS ${VAR})
|
|
set(header_content "${header_content}\n#include \"${var}\"")
|
|
endforeach()
|
|
endmacro()
|
|
|
|
# PICO_CMAKE_CONFIG: PICO_CONFIG_HEADER_FILES, List of extra header files to include from pico/config.h for all platforms, type=list, default="", group=pico_base
|
|
add_header_content_from_var(PICO_CONFIG_HEADER_FILES)
|
|
|
|
# PICO_CMAKE_CONFIG: PICO_CONFIG_RP2040_HEADER_FILES, List of extra header files to include from pico/config.h for rp2040 platform, type=list, default="", group=pico_base
|
|
# PICO_CMAKE_CONFIG: PICO_CONFIG_HOST_HEADER_FILES, List of extra header files to include from pico/config.h for host platform, type=list, default="", group=pico_base
|
|
add_header_content_from_var(PICO_${PICO_PLATFORM_UPPER}_CONFIG_HEADER_FILES)
|
|
|
|
file(GENERATE
|
|
OUTPUT ${CMAKE_BINARY_DIR}/generated/pico_base/pico/config_autogen.h
|
|
CONTENT "${header_content}"
|
|
)
|
|
|
|
configure_file( include/pico/version.h.in ${CMAKE_BINARY_DIR}/generated/pico_base/pico/version.h)
|
|
|
|
add_library(pico_base_headers INTERFACE)
|
|
target_include_directories(pico_base_headers INTERFACE include ${CMAKE_BINARY_DIR}/generated/pico_base)
|
|
|
|
foreach(DIR IN LISTS PICO_INCLUDE_DIRS)
|
|
target_include_directories(pico_base_headers INTERFACE ${DIR})
|
|
endforeach()
|
|
|
|
# PICO_BUILD_DEFINE: PICO_BOARD, Name of board, type=string, default=CMake PICO_BOARD variable, group=pico_base
|
|
target_compile_definitions(pico_base_headers INTERFACE
|
|
PICO_BOARD="${PICO_BOARD}")
|
|
|
|
target_link_libraries(pico_base_headers INTERFACE pico_platform_headers)
|
|
endif() |