diff options
Diffstat (limited to 'meta/classes/cmake.bbclass')
| -rw-r--r-- | meta/classes/cmake.bbclass | 14 |
1 files changed, 12 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 | |||
| 24 | OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" | 24 | OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" |
| 25 | OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" | 25 | OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG" |
| 26 | 26 | ||
| 27 | OECMAKE_RPATH ?= "" | ||
| 28 | |||
| 27 | cmake_do_generate_toolchain_file() { | 29 | cmake_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. |
| 31 | set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` ) | 33 | set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` ) |
| 34 | set( CMAKE_SYSTEM_PROCESSOR ${TARGET_ARCH} ) | ||
| 32 | set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} ) | 35 | set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} ) |
| 33 | set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) | 36 | set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) |
| 34 | set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "poky CFLAGS" ) | 37 | set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) |
| 35 | set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "poky CXXFLAGS" ) | 38 | set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" ) |
| 36 | set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" ) | 39 | set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" ) |
| 37 | set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" ) | 40 | set( 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 ) | |||
| 43 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) | 46 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) |
| 44 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) | 47 | set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) |
| 45 | 48 | ||
| 49 | # Use qt.conf settings | ||
| 50 | set( 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 | ||
| 54 | set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} ) | ||
| 55 | |||
| 46 | # Use native cmake modules | 56 | # Use native cmake modules |
| 47 | set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ ) | 57 | set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ ) |
| 48 | EOF | 58 | EOF |
