summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/cmake.bbclass14
-rw-r--r--meta/classes/native.bbclass4
2 files changed, 16 insertions, 2 deletions
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index a4b0c126a2..011c2324c8 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -24,15 +24,18 @@ OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${TARGET_CPPFLAGS} -f
24OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" 24OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG"
25OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" 25OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG"
26 26
27OECMAKE_RPATH ?= ""
28
27cmake_do_generate_toolchain_file() { 29cmake_do_generate_toolchain_file() {
28 cat > ${WORKDIR}/toolchain.cmake <<EOF 30 cat > ${WORKDIR}/toolchain.cmake <<EOF
29# CMake system name must be something like "Linux". 31# CMake system name must be something like "Linux".
30# This is important for cross-compiling. 32# This is important for cross-compiling.
31set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` ) 33set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` )
34set( CMAKE_SYSTEM_PROCESSOR ${TARGET_ARCH} )
32set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} ) 35set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
33set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) 36set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} )
34set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "poky CFLAGS" ) 37set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
35set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "poky CXXFLAGS" ) 38set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
36set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" ) 39set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
37set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" ) 40set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
38 41
@@ -43,6 +46,13 @@ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
43set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) 46set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
44set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) 47set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
45 48
49# Use qt.conf settings
50set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
51
52# We need to set the rpath to the correct directory as cmake does not provide any
53# directory as rpath by default
54set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
55
46# Use native cmake modules 56# Use native cmake modules
47set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ ) 57set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ )
48EOF 58EOF
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index d9e67f6908..e06f02a1bf 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -11,6 +11,10 @@ PACKAGES_DYNAMIC = ""
11PACKAGES_DYNAMIC_virtclass-native = "" 11PACKAGES_DYNAMIC_virtclass-native = ""
12PACKAGE_ARCH = "${BUILD_ARCH}" 12PACKAGE_ARCH = "${BUILD_ARCH}"
13 13
14# used by cmake class
15OECMAKE_RPATH = "${libdir}"
16OECMAKE_RPATH_virtclass-native = "${libdir}"
17
14BASE_PACKAGE_ARCH = "${BUILD_ARCH}" 18BASE_PACKAGE_ARCH = "${BUILD_ARCH}"
15BASEPKG_HOST_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" 19BASEPKG_HOST_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
16BASEPKG_TARGET_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" 20BASEPKG_TARGET_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"