Commit Graph

21 Commits

Author SHA1 Message Date
Saul Wold 5f2748e492 cmake.bbclass: ensure CMAKE_SYSTEM_NAME is correct
Using TARGET_OS can add the ABIEXTENSION so ensure that is is removed for the Linux
TARGET_OS, we might have other TARGET_OSes so don't hard code CMAKE_SYSTEM_NAME

[YOCTO #5145]

(From OE-Core rev: 7d8b700242b1b32c6b6d0735b497701800f54fc4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Richard Purdie 31709ed0af cmake: set system name correctly
For unknown reasons, the cmake class is using SDK_OS as the
target system OS. This makes no sense but only shows up as a problem
when you try a different SDK OS. Fix it to use TARGET_OS which is
the correct thing to do. For the vast majority of users this will
make no difference.

(From OE-Core rev: 57be84259f0885865c85d7bac350979430b956b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-08 10:51:56 +01:00
Stefan Herbrechtsmeier 8db18b6057 cmake.bbclass: Don't use packages from the native build machine
(From OE-Core rev: 044037d8add3556a90ac4da5991e1e5975d62e25)

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:33 +01:00
Joe Slater 84de4f5b40 cmake.bbclass: modify construction of compiler flags
Use CFLAGS instead of CPPFLAGS for C_FLAGS variants.

When debug optimization is enabled in the local.conf, the debug (-O0) vs
production (-O2) does not change in the builds.  As the CPPFLAGS do not
contain the optimization settings.

Also the CXX_FLAGS are based on CXXFLAGS, so it makes sense to similarly
set the C_FLAGS based on CFLAGS.

(From OE-Core rev: 558662927be550aeb8dd163f65e16b1750bbd127)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-29 22:18:49 +01:00
Ross Burton 3c1b1312a6 cmake: reset B from autotools, as this class doesnt like it
(From OE-Core rev: f8eae815186976f6111f30ae88ac33e723863982)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04 12:41:57 +00:00
Ross Burton c2cb4c0645 cmake.bbclass: use DEPENDS_prepend instead of += for cmake-native
Otherwise when a recipe using DEPENDS=, the cmake-native dependency disappears.

(From OE-Core rev: 2b35539d96325d8e687451543d4f52f1a07bf1c6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-18 16:42:09 +00:00
Khem Raj 429004f6a5 cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables
In some cases we need to specify linker flags and right
now we do not have a way to communicate that to cmake
based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS
for these needs. This patch therefore defines two local variables
namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which
can be altered by recipes to tweak linker flags

(From OE-Core rev: 9e00a74749ba8e1cf0d15efe8e16af60b189e080)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Nitin A Kamble 520668862a cmake.bbclass: add ${base_libdir} to CMAKE_LIBRARY_PATH
Some libraries like libcrypto.so are installed at base_libdir
instead of libdir. So add the base_libdir to CMAKE_LIBRARY_PATH
so that these libraries can be found correctly.

This resolves an issues with libzypp, which was not finding the
libcrypo library correctly in an x32 build.

(From OE-Core rev: f47ada62a3da879006e7cb27479dc9b72c56e923)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:02 +00:00
Ken Werner 4be9d82596 Add EXTERNAL_TOOLCHAIN to CMAKE_FIND_ROOT_PATH
This allows cmake to find the binaries of an external toolchain.

(From OE-Core rev: 7b355ad09a622cfe57c66674ed1affd61c4d872e)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 16:33:21 +00:00
Andrew Gabbasov 2d59e4d36e cmake.bbclass: adding extendable extra variable to root path
Introducing a hook variable for various .conf files to add
extra path elements to cmake. For example, it can be used
in external toolchain conf file to add ${TOOLCHAIN_PATH}
to cmake root path search.

(From OE-Core rev: 23be60dad6a705f151520e3eda2da5e02230f5fd)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:44 +01:00
Phil Blundell b7937a4f39 cmake.bbclass, perlnative.bbclass: arrange for cmake to find perl-native
When CMake is looking for perl, it only searches in the specific directories
that it's told about and ignores ${PATH}.  If perlnative is in use, ensure
that the appropriate installation path is added to the list of places that
cmake will look for perl, otherwise it won't ever be found.

(From OE-Core rev: add9e4e30e0b1e0f93479b43ce61953efb90985d)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:54 +01:00
Yu Ke 4a75a370fd cmake.bbclass: add ${libdir} for multilib case
(From OE-Core rev: e198b72bc03c7545417944dcb3c930aaf2376488)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 15:45:49 +01:00
Yu Ke 4e01f730bf sat-solver: fix for non /usr/lib libdir case
when libdir set to non /usr/lib like /usr/lib64, there is do_configure error:
"
-- Libraries will be installed in /usr/lib
CMake Error at /home/kyu3/sdb/lib64/tmp/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91  (MESSAGE):
  Please install 'check' and 'check-devel' packages (missing: CHECK_LIBRARY)
Call Stack (most recent call first):
  /home/kyu3/sdb/lib64/tmp/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252              (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindCheck.cmake:17 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:35 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
"

The reason is that cmake did not search /usr/lib64 for libcheck, thus report error

add ${libdir} to the CMAKE_SYSTEM_LIBRARY_PATH can fix this issue.

(From OE-Core rev: f4de87ce30a37bb2f09855d442b34d153ada8c0e)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-13 12:14:20 +01:00
Otavio Salvador 21f1314495 cmake.bbclass: use CPPFLAGS and CXXFLAGS
Some classes, as for example nativesdk, defines CPPFLAGS and CXXFLAGS
to be passed to compiler. Using those makes more sense and avoid some
hacks on packages using CMake.

(From OE-Core rev: de60d1d91b28c3f5568b132a8eb29d9a754e68a0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-08 16:39:11 +01:00
Otavio Salvador 9c272d93c6 cmake.bbclass: fix qmake and rpath issues
Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however
without changing the way of generating the toolchain file and making
it branding agnostic.

(From OE-Core rev: ee98c2b095b991901b6c2125b2428985c873b4bd)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-11 16:41:52 +01:00
Qing He be291999de cmake.bbclass: sync from openembedded
this fixes:
  - toolchain detection error (e.g. ar and ranlib)

changes from openembedded:
  - reformatting
  - cmake modules search path
  - use 'cat <<EOF' instead of echos for clarity

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-31 17:19:53 +01:00
Qing He 5bb55610f3 cmake.bbclass: sync from openembedded
this fixes:
  - toolchain detection error (e.g. ar and ranlib)
  - cmake modules search path

Signed-off-by: Qing He <qing.he@intel.com>
2010-08-27 13:29:49 +01:00
Kevin Tian ea3cfbaf26 cmake: only search root directory for FIND_***
default cmake behavior for FIND_***, is to first search listed directories prefixed
with CMAKE_FIND_ROOT_PATH, and if not found then go to unprefixed directories. This
is not desired as build system may be referenced.

this commit refine the search path only on prefixed directories, and thus fix
libmusicbrains build failure on some systems

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-07-27 22:51:34 -07:00
Richard Purdie cb249ed2f0 cmake.bbclass: Make sure EXTRA_OECMAKE has a sane default
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-07-21 21:43:38 +01:00
Jeff Dike 0e0830109c libproxy: Disabled webkit support
This package changed from autoconf to cmake during the last recipe
upgrade.  This made the existing EXTRA_OECONF, which disabled wekbit
support among other things, non-functional, which in turn, broke the
build.

This patch disables webkit in a CMAKE way by adding EXTRA_OECMAKE to
the cmake class description, and setting it to "-DWEBKIT=no" in the
libproxy recipe and also reproduces the EXTRA_OECONF settings.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-07-21 21:23:21 +01:00
Marcin Juszkiewicz da3040f297 cmake.bbclass: added version from OE + cross-compilation support
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4688 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-06-18 08:35:24 +00:00