[OE-core] [PATCH] The CMake recipes contain a mismatch between the environmental variable which defines where the Modules are installed and the location where they actually are. This patch fixes the environmental variable to point to the proper folder defined according to the cmake version.

Koen Kooi koen at dominion.thruhere.net
Mon Jun 20 07:04:02 UTC 2016


> Op 16 jun. 2016, om 16:27 heeft Jose Pardeiro <jpardeiro at rapyuta-robotics.com> het volgende geschreven:
> 
> Signed-off-by: Jose Pardeiro <jpardeiro at rapyuta-robotics.com>
> ---
> meta/classes/cmake.patch | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
> create mode 100644 meta/classes/cmake.patch
> 
> diff --git a/meta/classes/cmake.patch b/meta/classes/cmake.patch
> new file mode 100644
> index 0000000..c9cc9f2
> --- /dev/null
> +++ b/meta/classes/cmake.patch
> @@ -0,0 +1,20 @@
> +The CMake recipes contain a mismatch between the environmental variable
> +which defines where the Modules are installed and the location where they
> +actually are. This patch fixes the environmental variable to point to the
> +proper folder defined according to the cmake version.
> +
> +Signed-off-by: Jose Pardeiro <jpardeiro at rapyuta-robotics.com>
> +
> +diff --git a/cmake.bbclass b/cmake.bbclass
> +index 995ddf1..6de4247 100644
> +--- a/meta/classes/cmake.bbclass
> ++++ b/meta/classes/cmake.bbclass
> +@@ -60,7 +60,7 @@ set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
> + set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
> +
> + # Use native cmake modules
> +-set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ )
> ++set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake-\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}/Modules/ )

CMAKE_MINOR_VERSION doesn’t exist in OE, and the escaping is wrong, leading to:

|   Syntax error in cmake code at
|
|     /build/linaro/build/build/tmp-glibc/work/aarch64-oe-linux/cmake/3.5.2-r0/toolchain.cmake:34
|
|   when parsing string
|
|     /build/linaro/build/build/tmp-glibc/sysroots/genericarmv8/usr/share/cmake-\3.5.${CMAKE_MINOR_VERSION}/Modules/
|
|   Invalid character escape '\3'.
| Call Stack (most recent call first):
|   /build/linaro/build/build/tmp-glibc/sysroots/x86_64-linux/usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake:98 (include)
|   CMakeLists.txt:19 (project)

And I can’t find the patch that was committed in the mailinglist folder locally, otherwise I would have responded to that.


More information about the Openembedded-core mailing list