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
------------------------------------------------------------