blob: 451b6ebfad13f208641c81c63493c4e7b9b121b5 [file] [log] [blame]
From 8e53dd7f6f534ad933e7e9c7fc20cc1a6cded3f4 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Thu, 27 Apr 2017 11:35:05 -0400
Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
toolchain file in sdk
Passing the toolchain by:
- shell aliases does not work if cmake is called by a script
- unconditionally by a wrapper script causes cmake to believe it is
configuring things when it is not (for example, `cmake --build` breaks).
The OE_CMAKE_TOOLCHAIN_FILE variable is only used as a default if no
toolchain is explicitly specified.
Setting the CMAKE_TOOLCHAIN_FILE cmake variable is marked as cached
because '-D' options are cache entries themselves.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
Modules/CMakeDetermineSystem.cmake | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
index 2c2c2ac3..fae4f97f 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -112,6 +112,13 @@ else()
endif()
endif()
+if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
+ if(DEFINED ENV{OE_CMAKE_TOOLCHAIN_FILE})
+ set(CMAKE_TOOLCHAIN_FILE "$ENV{OE_CMAKE_TOOLCHAIN_FILE}" CACHE FILEPATH "toolchain file")
+ message(STATUS "Toolchain file defaulted to '${CMAKE_TOOLCHAIN_FILE}'")
+ endif()
+endif()
+
# if a toolchain file is used, the user wants to cross compile.
# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
# variables around so they can be used in CMakeLists.txt.