Patrick Williams | 864cc43 | 2023-02-09 14:54:44 -0600 | [diff] [blame^] | 1 | From 5acfcb2aba1a5641d390558fdf288373f5e39cb5 Mon Sep 17 00:00:00 2001 |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 2 | From: Cody P Schafer <dev@codyps.com> |
| 3 | Date: Thu, 27 Apr 2017 11:35:05 -0400 |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 4 | Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default |
| 5 | toolchain file in sdk |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 6 | |
| 7 | Passing the toolchain by: |
| 8 | |
| 9 | - shell aliases does not work if cmake is called by a script |
| 10 | - unconditionally by a wrapper script causes cmake to believe it is |
| 11 | configuring things when it is not (for example, `cmake --build` breaks). |
| 12 | |
| 13 | The OE_CMAKE_TOOLCHAIN_FILE variable is only used as a default if no |
| 14 | toolchain is explicitly specified. |
| 15 | |
| 16 | Setting the CMAKE_TOOLCHAIN_FILE cmake variable is marked as cached |
| 17 | because '-D' options are cache entries themselves. |
| 18 | |
| 19 | Upstream-Status: Inappropriate [oe-core specific] |
| 20 | Signed-off-by: Cody P Schafer <dev@codyps.com> |
| 21 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 22 | |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 23 | --- |
| 24 | Modules/CMakeDetermineSystem.cmake | 7 +++++++ |
| 25 | 1 file changed, 7 insertions(+) |
| 26 | |
| 27 | diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 28 | index 2c2c2ac3..fae4f97f 100644 |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 29 | --- a/Modules/CMakeDetermineSystem.cmake |
| 30 | +++ b/Modules/CMakeDetermineSystem.cmake |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 31 | @@ -112,6 +112,13 @@ else() |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 32 | endif() |
| 33 | endif() |
| 34 | |
| 35 | +if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) |
| 36 | + if(DEFINED ENV{OE_CMAKE_TOOLCHAIN_FILE}) |
| 37 | + set(CMAKE_TOOLCHAIN_FILE "$ENV{OE_CMAKE_TOOLCHAIN_FILE}" CACHE FILEPATH "toolchain file") |
| 38 | + message(STATUS "Toolchain file defaulted to '${CMAKE_TOOLCHAIN_FILE}'") |
| 39 | + endif() |
| 40 | +endif() |
| 41 | + |
| 42 | # if a toolchain file is used, the user wants to cross compile. |
| 43 | # in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_* |
| 44 | # variables around so they can be used in CMakeLists.txt. |