From ac9b8d316ff3e013bc9d3c063db99aa1f064ce6a Mon Sep 17 00:00:00 2001 From: Cody P Schafer 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 Signed-off-by: Otavio Salvador --- Modules/CMakeDetermineSystem.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake index bae270d..5bb6bc0 100644 --- a/Modules/CMakeDetermineSystem.cmake +++ b/Modules/CMakeDetermineSystem.cmake @@ -111,6 +111,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.