CMake does not define the `find_host_program` command we've been using in the cross-compiling code path. It was provided by a widely used Android toolchain file. For compatibility, continue to use `find_host_program` if available, but otherwise use just `find_program`.
Upstream-Status: Accepted [https://gitlab.kitware.com/cmake/cmake/merge_requests/1009] - Will be in 3.10 Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelan...@gmail.com> --- Changes in v2: - Add upstream-status meta/recipes-devtools/cmake/cmake.inc | 1 + ...e-find_program-if-find_host_program-is-no.patch | 36 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc index dbd34f5..6aeb25f 100644 --- a/meta/recipes-devtools/cmake/cmake.inc +++ b/meta/recipes-devtools/cmake/cmake.inc @@ -14,6 +14,7 @@ CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://support-oe-qt4-tools-names.patch \ file://qt4-fail-silent.patch \ + file://0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch \ " SRC_URI[md5sum] = "b5dff61f6a7f1305271ab3f6ae261419" diff --git a/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch b/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch new file mode 100644 index 0000000..8a61f1f --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch @@ -0,0 +1,36 @@ +From 46d25e782ebd9b6c50771b6f30433c58fae03a51 Mon Sep 17 00:00:00 2001 +From: Maxime Roussin-Bélanger <maxime.roussinbelan...@gmail.com> +Date: Mon, 26 Jun 2017 11:30:07 -0400 +Subject: [PATCH] cmake: Use find_program if find_host_program is not + available + +CMake does not define the `find_host_program` command we've been using +in the cross-compiling code path. It was provided by a widely used +Android toolchain file. For compatibility, continue to use +`find_host_program` if available, but otherwise use just `find_program`. + +Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelan...@gmail.com> +--- + Modules/FindCUDA.cmake | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake +index a4dca54..77ca351 100644 +--- a/Modules/FindCUDA.cmake ++++ b/Modules/FindCUDA.cmake +@@ -679,7 +679,11 @@ if(CMAKE_CROSSCOMPILING) + # add known CUDA targetr root path to the set of directories we search for programs, libraries and headers + set( CMAKE_FIND_ROOT_PATH "${CUDA_TOOLKIT_TARGET_DIR};${CMAKE_FIND_ROOT_PATH}") + macro( cuda_find_host_program ) +- find_host_program( ${ARGN} ) ++ if (COMMAND find_host_program) ++ find_host_program( ${ARGN} ) ++ else() ++ find_program( ${ARGN} ) ++ endif() + endmacro() + else() + # for non-cross-compile, find_host_program == find_program and CUDA_TOOLKIT_TARGET_DIR == CUDA_TOOLKIT_ROOT_DIR +-- +2.1.4 + -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core