summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2014-10-20 23:58:52 -0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-10-31 10:43:59 +0000
commitb9b5aeffa60d94c4a6283c1232b015b6afde8c62 (patch)
tree0417adffe180977f92175203a372058b5cff7473 /meta/recipes-devtools
parentff5510b3fad2e808a9bf23648612d913814ebb41 (diff)
downloadpoky-b9b5aeffa60d94c4a6283c1232b015b6afde8c62.tar.gz
nativesdk-cmake: Adjust toolchain paths dynamically
This patch adds a flexible way to configure the CMake in SDKs. It adds a toolchain configuration script which supports subscripts for extensions, as for example Qt5. (From OE-Core rev: 484502e4e062fae1130a60626f39f5512af4c5c8) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake18
-rw-r--r--meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh1
-rw-r--r--meta/recipes-devtools/cmake/cmake_2.8.12.2.bb14
3 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
new file mode 100644
index 0000000000..60014bbf2b
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -0,0 +1,18 @@
1set( CMAKE_SYSTEM_NAME Linux )
2set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE )
3set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE )
4set( CMAKE ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
5set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE )
6set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} )
7set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
8set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
9set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
10
11string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT})
12string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
13
14# Include the toolchain configuration subscripts
15file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" )
16foreach(config ${toolchain_config_files})
17 include(${config})
18endforeach()
diff --git a/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh b/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
new file mode 100644
index 0000000000..0eb56b66fa
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
@@ -0,0 +1 @@
alias cmake="cmake -DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
diff --git a/meta/recipes-devtools/cmake/cmake_2.8.12.2.bb b/meta/recipes-devtools/cmake/cmake_2.8.12.2.bb
index de2ac6b219..66a6af629c 100644
--- a/meta/recipes-devtools/cmake/cmake_2.8.12.2.bb
+++ b/meta/recipes-devtools/cmake/cmake_2.8.12.2.bb
@@ -6,6 +6,10 @@ DEPENDS += "curl expat zlib libarchive"
6 6
7SRC_URI += "file://dont-run-cross-binaries.patch" 7SRC_URI += "file://dont-run-cross-binaries.patch"
8 8
9SRC_URI_append_class-nativesdk = " \
10 file://OEToolchainConfig.cmake \
11 file://environment.d-cmake.sh"
12
9SRC_URI[md5sum] = "17c6513483d23590cbce6957ec6d1e66" 13SRC_URI[md5sum] = "17c6513483d23590cbce6957ec6d1e66"
10SRC_URI[sha256sum] = "8c6574e9afabcb9fc66f463bb1f2f051958d86c85c37fccf067eb1a44a120e5e" 14SRC_URI[sha256sum] = "8c6574e9afabcb9fc66f463bb1f2f051958d86c85c37fccf067eb1a44a120e5e"
11 15
@@ -32,6 +36,16 @@ EXTRA_OECMAKE=" \
32 ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \ 36 ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \
33" 37"
34 38
39do_install_append_class-nativesdk() {
40 mkdir -p ${D}${datadir}/cmake
41 install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
42
43 mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
44 install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh
45}
46
47FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}"
48
35FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION}" 49FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION}"
36FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" 50FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
37 51