diff options
Diffstat (limited to 'meta/recipes-devtools/cmake')
5 files changed, 192 insertions, 0 deletions
diff --git a/meta/recipes-devtools/cmake/cmake-native_2.8.5.bb b/meta/recipes-devtools/cmake/cmake-native_2.8.5.bb new file mode 100644 index 000000000..3fe0c2e19 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake-native_2.8.5.bb @@ -0,0 +1,7 @@ +require cmake.inc +inherit native + +PR = "${INC_PR}.1" + +SRC_URI[md5sum] = "3c5d32cec0f4c2dc45f4c2e84f4a20c5" +SRC_URI[sha256sum] = "5e18bff75f01656c64f553412a8905527e1b85efaf3163c6fb81ea5aaced0b91" diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc new file mode 100644 index 000000000..d080e5089 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake.inc @@ -0,0 +1,23 @@ +# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved +# Released under the MIT license (see packages/COPYING) + +DESCRIPTION = "A cross-platform, open-source make system" +HOMEPAGE = "http://www.cmake.org/" +BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php" +SECTION = "console/utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://Copyright.txt;md5=f372516292ff7c33337bf16a74a5f9a8 \ + file://Source/cmake.h;beginline=1;endline=10;md5=341736dae83c9e344b53eeb1bc7d7bc2" + +INC_PR = "r2" + +CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" + +SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ + file://support-oe-qt4-tools-names.patch" + +inherit autotools + +do_configure () { + ./configure --prefix=${prefix} +} diff --git a/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch new file mode 100644 index 000000000..4eb1794e4 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch @@ -0,0 +1,22 @@ +cmake: don't run cross-binaries on host machine + +When doing the cross build we obviously cannot run those binaries on +host since they can be binary incompatible. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> + +diff -ru cmake-2.8.2.orig/CMakeLists.txt cmake-2.8.2/CMakeLists.txt +--- cmake-2.8.2.orig/CMakeLists.txt 2010-07-28 00:48:42.000000000 +0200 ++++ cmake-2.8.2/CMakeLists.txt 2010-07-28 01:05:17.000000000 +0200 +@@ -518,7 +518,8 @@ + + # build the remaining subdirectories + ADD_SUBDIRECTORY(Source) +-ADD_SUBDIRECTORY(Utilities) ++# Come on! Running the cross-binaries on host is not a good idea. ++#ADD_SUBDIRECTORY(Utilities) + ADD_SUBDIRECTORY(Tests) + + # add a test diff --git a/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch b/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch new file mode 100644 index 000000000..147c2498f --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch @@ -0,0 +1,100 @@ +cmake: support OpenEmbedded Qt4 tool binary names + +The FindQt4 module looks for Qt4 binaries to be able to gather the +paths used for compilation and also to be using during other processes +(translation update, translation binary generating and like) however +OpenEmbedded has renamed those to allow old QMake to be used in +parallel with the current one. This patch adds support for the +OpenEmbedded specific binary names. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> + +Index: cmake-2.8.5-rc3/Modules/FindQt4.cmake +=================================================================== +--- cmake-2.8.5-rc3.orig/Modules/FindQt4.cmake 2011-06-27 14:41:05.000000000 +0000 ++++ cmake-2.8.5-rc3/Modules/FindQt4.cmake 2011-07-08 15:31:58.057170949 +0000 +@@ -473,7 +473,7 @@ + # check for qmake + # Debian uses qmake-qt4 + # macports' Qt uses qmake-mac +-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac PATHS ++FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake2 qmake4 qmake-qt4 qmake-mac PATHS + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin" +@@ -944,13 +944,13 @@ + ENDIF(QT_QMAKE_CHANGED) + + FIND_PROGRAM(QT_MOC_EXECUTABLE +- NAMES moc-qt4 moc ++ NAMES moc-qt4 moc4 moc + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_UIC_EXECUTABLE +- NAMES uic-qt4 uic ++ NAMES uic-qt4 uic4 uic + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) +@@ -962,49 +962,49 @@ + ) + + FIND_PROGRAM(QT_RCC_EXECUTABLE +- NAMES rcc ++ NAMES rcc4 rcc + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE +- NAMES qdbuscpp2xml ++ NAMES qdbuscpp2xml4 qdbuscpp2xml + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE +- NAMES qdbusxml2cpp ++ NAMES qdbusxml2cpp4 qdbusxml2cpp + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_LUPDATE_EXECUTABLE +- NAMES lupdate-qt4 lupdate ++ NAMES lupdate-qt4 lupdate4 lupdate + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_LRELEASE_EXECUTABLE +- NAMES lrelease-qt4 lrelease ++ NAMES lrelease-qt4 lrelease4 lrelease + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE +- NAMES qcollectiongenerator-qt4 qcollectiongenerator ++ NAMES qcollectiongenerator-qt4 qcollectiongenerator4 qcollectiongenerator + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_DESIGNER_EXECUTABLE +- NAMES designer-qt4 designer ++ NAMES designer-qt4 designer4 designer + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + FIND_PROGRAM(QT_LINGUIST_EXECUTABLE +- NAMES linguist-qt4 linguist ++ NAMES linguist-qt4 linguist4 linguist + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) diff --git a/meta/recipes-devtools/cmake/cmake_2.8.5.bb b/meta/recipes-devtools/cmake/cmake_2.8.5.bb new file mode 100644 index 000000000..6145345b9 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake_2.8.5.bb @@ -0,0 +1,40 @@ +require cmake.inc + +inherit cmake + +DEPENDS += "curl expat zlib libarchive ncurses" + +PR = "${INC_PR}.3" + +SRC_URI += "file://dont-run-cross-binaries.patch" + +SRC_URI[md5sum] = "3c5d32cec0f4c2dc45f4c2e84f4a20c5" +SRC_URI[sha256sum] = "5e18bff75f01656c64f553412a8905527e1b85efaf3163c6fb81ea5aaced0b91" + +# Strip ${prefix} from ${docdir}, set result into docdir_stripped +python () { + prefix=d.getVar("prefix", True) + docdir=d.getVar("docdir", True) + + if not docdir.startswith(prefix): + raise bb.build.FuncFailed('docdir must contain prefix as its prefix') + + docdir_stripped = docdir[len(prefix):] + if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': + docdir_stripped = docdir_stripped[1:] + + d.setVar("docdir_stripped", docdir_stripped) +} + +EXTRA_OECMAKE=" \ + -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DKWSYS_CHAR_IS_SIGNED=1 \ + -DBUILD_CursesDialog=0 \ + ${@base_contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \ +" + +FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION}" +FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" + +BBCLASSEXTEND = "nativesdk" |
