Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions cmake/pico_pre_load_toolchain.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# PICO_CMAKE_CONFIG: PICO_TOOLCHAIN_PATH, Path to search for compiler, type=string, default=none (i.e. search system paths), group=build, docref=cmake-toolchain-config
if (NOT PICO_TOOLCHAIN_PATH AND DEFINED ENV{PICO_TOOLCHAIN_PATH})
set(PICO_TOOLCHAIN_PATH $ENV{PICO_TOOLCHAIN_PATH})
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should have a message, like the other bits like this (eg PICO_SDK_PATH in pico_sdk_import.cmake)

Suggested change
set(PICO_TOOLCHAIN_PATH $ENV{PICO_TOOLCHAIN_PATH})
set(PICO_TOOLCHAIN_PATH $ENV{PICO_TOOLCHAIN_PATH})
message("Using PICO_TOOLCHAIN_PATH from environment ('${PICO_TOOLCHAIN_PATH}')")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nah, not in this csae as these functions are called at weird times and we use the env var to pass the value around

endif()
set(PICO_TOOLCHAIN_PATH "${PICO_TOOLCHAIN_PATH}" CACHE INTERNAL "")

# Set a default build type if none was specified
Expand All @@ -19,13 +22,30 @@ if (CMAKE_BUILD_TYPE STREQUAL "Default")
endif()

if (NOT (DEFINED PICO_COMPILER OR DEFINED CMAKE_TOOLCHAIN_FILE))
if (DEFINED PICO_DEFAULT_COMPILER)
pico_message("Defaulting compiler (PICO_COMPILER) to '${PICO_DEFAULT_COMPILER}' since not specified.")
if (PICO_TOOLCHAIN_PATH)
if (PICO_DEFAULT_GCC_COMPILER)
FILE(GLOB _COMPILER "${PICO_TOOLCHAIN_PATH}/bin/*gcc*")
Comment thread
kilograham marked this conversation as resolved.
Outdated
if (_COMPILER)
set(PICO_COMPILER ${PICO_DEFAULT_GCC_COMPILER})
message("Detected GCC so defaulting PICO_COMPILER to `${PICO_COMPILER}`")
endif()
endif()
if (NOT PICO_COMPILER AND PICO_DEFAULT_CLANG_COMPILER)
FILE(GLOB _COMPILER "${PICO_TOOLCHAIN_PATH}/bin/*llvm*")
Comment thread
kilograham marked this conversation as resolved.
Outdated
if (_COMPILER)
set(PICO_COMPILER ${PICO_DEFAULT_CLANG_COMPILER})
message("Detected Clang/LLVM so defaulting PICO_COMPILER to `${PICO_COMPILER}`")
endif()
endif()
unset(_COMPILER)
endif()
if (NOT PICO_COMPILER AND DEFINED PICO_DEFAULT_COMPILER)
pico_message("Defaulting compiler (PICO_COMPILER) to '${PICO_DEFAULT_COMPILER}' since not specified or detected.")
set(PICO_COMPILER ${PICO_DEFAULT_COMPILER})
endif()
endif ()

# PICO_CMAKE_CONFIG: PICO_COMPILER, Specifies the compiler family to use, type=string, group=build, default=PICO_DEFAULT_COMPILER which is set based on PICO_PLATFORM, docref=cmake-toolchain-config
# PICO_CMAKE_CONFIG: PICO_COMPILER, Specifies the compiler family to use, type=string, group=build, default=autodetected or PICO_DEFAULT_COMPILER which is set based on PICO_PLATFORM, docref=cmake-toolchain-config
# If PICO_COMPILER is specified, set toolchain file to ${PICO_COMPILER}.cmake.
if (DEFINED PICO_COMPILER)
# maintain backwards compatibility with RP2040 SDK compilers
Expand Down
4 changes: 3 additions & 1 deletion cmake/preload/platforms/rp2040.cmake
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
set(PICO_DEFAULT_COMPILER "pico_arm_cortex_m0plus_gcc")
set(PICO_DEFAULT_GCC_COMPILER "pico_arm_cortex_m0plus_gcc")
set(PICO_DEFAULT_CLANG_COMPILER "pico_arm_cortex_m0plus_clang")
set(PICO_DEFAULT_COMPILER ${PICO_DEFAULT_GCC_COMPILER})
set(PICO_CHIP rp2040)
4 changes: 3 additions & 1 deletion cmake/preload/platforms/rp2350-arm-s.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
set(PICO_DEFAULT_COMPILER "pico_arm_cortex_m33_gcc")
set(PICO_DEFAULT_GCC_COMPILER "pico_arm_cortex_m33_gcc")
set(PICO_DEFAULT_CLANG_COMPILER "pico_arm_cortex_m33_clang")
set(PICO_DEFAULT_COMPILER ${PICO_DEFAULT_GCC_COMPILER})
set(PICO_CHIP rp2350)

4 changes: 3 additions & 1 deletion cmake/preload/platforms/rp2350-riscv.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
set(PICO_DEFAULT_COMPILER "pico_riscv_gcc")
set(PICO_DEFAULT_GCC_COMPILER "pico_riscv_gcc")
#set(PICO_DEFAULT_CLANG_COMPILER ...)
set(PICO_DEFAULT_COMPILER ${PICO_DEFAULT_GCC_COMPILER})
set(PICO_CHIP rp2350)

Loading