Andrew Geissler | 706d5aa | 2021-02-12 15:55:30 -0600 | [diff] [blame^] | 1 | From dd0fe8d54def4684d360b3e9b10e963ef0208202 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 | 706d5aa | 2021-02-12 15:55:30 -0600 | [diff] [blame^] | 28 | index f3ec4da..bb05656 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 | 706d5aa | 2021-02-12 15:55:30 -0600 | [diff] [blame^] | 31 | @@ -81,6 +81,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. |