On 11.06.2015 21:10, Stefan Herbrechtsmeier wrote:
Am 10.06.2015 um 09:36 schrieb Moritz Blume:
Patches "qt4-fail-silent.patch" and
"support-oe-qt4-tools-names.patch"
were adapted in order to fit to CMake 3.2.2 (refer to the commit
message in the respective patch for details).
Patch "cmake-2.8.11.2-FindFreetype.patch" was dropped since it
was
rejected upstream and its functionality otherwise implemented in
the
meantime.
Note that CMake 3 needs to have the full compiler path in the
toolchain
file (see cmake.bbclass).
Why is the full path needed?
https://public.kitware.com/Bug/view.php?id=15251
"Having a full path to the compiler is a new requirement starting in
CMake 3.0. The incompatibility was introduced across a major version
number bump and is considered acceptable. The project will have to
be fixed to use a full path."
Without a full path, you get the following error message:
CMake Error at CMakeLists.txt:5 (project):
| The CMAKE_C_COMPILER:
|
| gcc
|
| is not a full path and was not found in the PATH.
|
| Tell CMake where to find the compiler by setting either the
environment
| variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the
full path to
| the compiler, or to the compiler name if it is in the PATH.
Have you try to add STAGING_BINDIR_TOOLCHAIN to the
CMAKE_FIND_ROOT_PATH?
I don't understand, is this related to the compiler path?
<snip>
diff --git a/meta/classes/cmake.bbclass
b/meta/classes/cmake.bbclass
index 1ebb936..c97fd02 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -10,9 +10,11 @@ CCACHE = ""
# We want the staging and installing functions from autotools
inherit autotools
-# C/C++ Compiler (without cpu arch/tune arguments)
-OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
-OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^
]*\).*/\1/'`"
+# Full path to C/C++ Compiler (without cpu arch/tune arguments)
+C_COMPILER = "$(echo ${CC} | sed 's/^\([^ ]*\).*/\1/')"
+CXX_COMPILER = "$(echo ${CXX} | sed 's/^\([^ ]*\).*/\1/')"
+OECMAKE_C_COMPILER ?= "$(which ${C_COMPILER})"
+OECMAKE_CXX_COMPILER ?= "$(which ${CXX_COMPILER})"
OECMAKE_AR ?= "${AR}"
Why you don't use the full path for AR?
It is not required to have a full path here...
--
BMW Car IT GmbH
Dr. Moritz Blume
Spezialist Entwicklung
Petuelring 116
80809 München
Tel.: +49 89 189311-25
Fax: +49 89 189311-20
Mail: moritz.blume@bmw-carit.de
Web: http://www.bmw-carit.de
-------------------------------------------------------------
BMW Car IT GmbH
Geschäftsführer: Michael Würtenberger und Reinhard Stolle
Sitz und Registergericht: München HRB 134810
------------------------------------------------------------