aboutsummaryrefslogtreecommitdiff
path: root/cmake/stm32.toolchain.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/stm32.toolchain.cmake')
-rw-r--r--cmake/stm32.toolchain.cmake17
1 files changed, 15 insertions, 2 deletions
diff --git a/cmake/stm32.toolchain.cmake b/cmake/stm32.toolchain.cmake
index 05a9090..3d39bce 100644
--- a/cmake/stm32.toolchain.cmake
+++ b/cmake/stm32.toolchain.cmake
@@ -37,8 +37,21 @@ set(LINKER_FLAGS "-nostdlib -Wl,--gc-sections ${TARGET_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${LINKER_FLAGS}" CACHE STRING "linker flags" FORCE)
-cmake_force_c_compiler("${TOOLCHAIN_ROOT}/bin/${TRIPLE}-gcc" GNU)
-cmake_force_cxx_compiler("${TOOLCHAIN_ROOT}/bin/${TRIPLE}-g++" GNU)
+# Old style
+#cmake_force_c_compiler("${TOOLCHAIN_ROOT}/bin/${TRIPLE}-gcc" GNU)
+#cmake_force_cxx_compiler("${TOOLCHAIN_ROOT}/bin/${TRIPLE}-g++" GNU)
+
+find_program(ARM_CC arm-none-eabi-gcc ${TOOLCHAIN_ROOT}/bin)
+find_program(ARM_CXX arm-none-eabi-g++ ${TOOLCHAIN_ROOT}/bin)
+find_program(ARM_OBJCOPY arm-none-eabi-objcopy ${TOOLCHAIN_ROOT}/bin)
+find_program(ARM_SIZE arm-none-eabi-size ${TOOLCHAIN_ROOT}/bin)
+find_program(ARM_NM arm-none-eabi-nm ${TOOLCHAIN_ROOT}/bin)
+
+# New style, from 3.6
+set(CMAKE_C_COMPILER ${ARM_CC} CACHE FILE "")
+set(CMAKE_CXX_COMPILER ${ARM_CXX} CACHE FILE "")
+set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+
# search for programs in the build host directories
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories