* [PATCH 2/3] qmake_base.bbclass: add generate_qt_config_file task
2011-05-10 14:51 [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Otavio Salvador
@ 2011-05-10 14:51 ` Otavio Salvador
2011-05-11 15:16 ` Richard Purdie
2011-05-10 14:51 ` [PATCH 3/3] cmake: add support for oe qt4 tools names Otavio Salvador
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Otavio Salvador @ 2011-05-10 14:51 UTC (permalink / raw)
To: openembedded-core
This writes a qt.conf inside WORKDIR to properly configure projects
based on CMake. This is required since qmake variables (returned
by -query command) are fixed into the binary and can only be
changed using a qt.conf file.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
meta/classes/qmake_base.bbclass | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/meta/classes/qmake_base.bbclass b/meta/classes/qmake_base.bbclass
index 24a0f11..a054efd 100644
--- a/meta/classes/qmake_base.bbclass
+++ b/meta/classes/qmake_base.bbclass
@@ -31,6 +31,20 @@ oe_qmake_mkspecs () {
done
}
+do_generate_qt_config_file() {
+ export QT_CONF_PATH=${WORKDIR}/qt.conf
+ cat > ${WORKDIR}/qt.conf <<EOF
+[Paths]
+Prefix =
+Binaries = ${STAGING_BINDIR_NATIVE}
+Headers = ${STAGING_INCDIR}/qt4
+Plugins = ${STAGING_LIBDIR}/qt4/plugins/
+Mkspecs = ${STAGING_DATADIR}/qt4/mkspecs/
+EOF
+}
+
+addtask generate_qt_config_file after do_patch before do_configure
+
qmake_base_do_configure() {
case ${QMAKESPEC} in
*linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++)
--
1.7.2.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 3/3] cmake: add support for oe qt4 tools names
2011-05-10 14:51 [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Otavio Salvador
2011-05-10 14:51 ` [PATCH 2/3] qmake_base.bbclass: add generate_qt_config_file task Otavio Salvador
@ 2011-05-10 14:51 ` Otavio Salvador
2011-05-11 15:17 ` Richard Purdie
2011-05-10 19:59 ` [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Saul Wold
2011-05-11 15:15 ` Richard Purdie
3 siblings, 1 reply; 10+ messages in thread
From: Otavio Salvador @ 2011-05-10 14:51 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
meta/recipes-devtools/cmake/cmake-native_2.8.3.bb | 2 +-
meta/recipes-devtools/cmake/cmake.inc | 3 +-
.../cmake/cmake/support-oe-qt4-tools-names.patch | 90 ++++++++++++++++++++
3 files changed, 93 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch
diff --git a/meta/recipes-devtools/cmake/cmake-native_2.8.3.bb b/meta/recipes-devtools/cmake/cmake-native_2.8.3.bb
index 1595416..29b3d87 100644
--- a/meta/recipes-devtools/cmake/cmake-native_2.8.3.bb
+++ b/meta/recipes-devtools/cmake/cmake-native_2.8.3.bb
@@ -1,7 +1,7 @@
CMAKE_MAJOR_VERSION="2.8"
require cmake.inc
inherit native
-PR = "r0"
+PR = "r1"
SRC_URI[md5sum] = "a76a44b93acf5e3badda9de111385921"
SRC_URI[sha256sum] = "689ed02786b5cefa5515c7716784ee82a82e8ece6be5a3d629ac3cc0c05fc288"
diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index f6b1c3b..eed9346 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -9,7 +9,8 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://Copyright.txt;md5=f372516292ff7c33337bf16a74a5f9a8 \
file://Source/cmake.h;beginline=1;endline=10;md5=341736dae83c9e344b53eeb1bc7d7bc2"
-SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz"
+SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
+ file://support-oe-qt4-tools-names.patch"
inherit autotools
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 0000000..ab07670
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch
@@ -0,0 +1,90 @@
+This allows the usage of OE qt4 tools binaries. It has been created by
+O.S. Systems.
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+--- a/Modules/FindQt4.cmake
++++ b/Modules/FindQt4.cmake
+@@ -461,7 +461,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"
+@@ -988,13 +988,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
+ )
+
+ FIND_PROGRAM(QT_UIC_EXECUTABLE
+- NAMES uic-qt4 uic
++ NAMES uic-qt4 uic4 uic
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+@@ -1006,49 +1006,49 @@
+ )
+
+ FIND_PROGRAM(QT_RCC_EXECUTABLE
+- NAMES rcc
++ NAMES rcc4 rcc
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+- NAMES qdbuscpp2xml
++ NAMES qdbuscpp2xml4 qdbuscpp2xml
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+- NAMES qdbusxml2cpp
++ NAMES qdbusxml2cpp4 qdbusxml2cpp
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_LUPDATE_EXECUTABLE
+- NAMES lupdate-qt4 lupdate
++ NAMES lupdate-qt4 lupdate4 lupdate
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
+- NAMES lrelease-qt4 lrelease
++ NAMES lrelease-qt4 lrelease4 lrelease
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE
+- NAMES qcollectiongenerator-qt4 qcollectiongenerator
++ NAMES qcollectiongenerator-qt4 qcollectiongenerator4 qcollectiongenerator
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_DESIGNER_EXECUTABLE
+- NAMES designer-qt4 designer
++ NAMES designer-qt4 designer4 designer
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
+
+ FIND_PROGRAM(QT_LINGUIST_EXECUTABLE
+- NAMES linguist-qt4 linguist
++ NAMES linguist-qt4 linguist4 linguist
+ PATHS ${QT_BINARY_DIR}
+ NO_DEFAULT_PATH
+ )
--
1.7.2.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues
2011-05-10 14:51 [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Otavio Salvador
2011-05-10 14:51 ` [PATCH 2/3] qmake_base.bbclass: add generate_qt_config_file task Otavio Salvador
2011-05-10 14:51 ` [PATCH 3/3] cmake: add support for oe qt4 tools names Otavio Salvador
@ 2011-05-10 19:59 ` Saul Wold
2011-05-10 20:04 ` Otavio Salvador
2011-05-11 15:15 ` Richard Purdie
3 siblings, 1 reply; 10+ messages in thread
From: Saul Wold @ 2011-05-10 19:59 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On 05/10/2011 07:51 AM, Otavio Salvador wrote:
> Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however
> without changing the way of generating the toolchain file and making
> it branding agnostic.
>
> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>
> ---
> meta/classes/cmake.bbclass | 14 ++++++++++++--
> meta/classes/native.bbclass | 4 ++++
> 2 files changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index a4b0c12..011c232 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
> OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG"
> OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} -DNDEBUG"
>
> +OECMAKE_RPATH ?= ""
> +
> cmake_do_generate_toolchain_file() {
> cat> ${WORKDIR}/toolchain.cmake<<EOF
> # CMake system name must be something like "Linux".
> # This is important for cross-compiling.
> set( CMAKE_SYSTEM_NAME `echo ${SDK_OS} | sed 's/^./\u&/'` )
> +set( CMAKE_SYSTEM_PROCESSOR ${TARGET_ARCH} )
> set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
> set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} )
> -set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "poky CFLAGS" )
> -set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "poky CXXFLAGS" )
> +set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
> +set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
> set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
> set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
>
> @@ -43,6 +46,13 @@ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
> set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
> set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
>
> +# Use qt.conf settings
> +set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
> +
> +# We need to set the rpath to the correct directory as cmake does not provide any
> +# directory as rpath by default
> +set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
> +
> # Use native cmake modules
> set( CMAKE_MODULE_PATH ${STAGING_DATADIR}/cmake/Modules/ )
> EOF
> diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
> index d9e67f6..e06f02a 100644
> --- a/meta/classes/native.bbclass
> +++ b/meta/classes/native.bbclass
> @@ -11,6 +11,10 @@ PACKAGES_DYNAMIC = ""
> PACKAGES_DYNAMIC_virtclass-native = ""
> PACKAGE_ARCH = "${BUILD_ARCH}"
>
> +# used by cmake class
> +OECMAKE_RPATH = "${libdir}"
> +OECMAKE_RPATH_virtclass-native = "${libdir}"
> +
In Richard's email he proposed one or the other be set, why do you need
to set both here? If both need to be set then you don't need the override.
Sau!
> BASE_PACKAGE_ARCH = "${BUILD_ARCH}"
> BASEPKG_HOST_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
> BASEPKG_TARGET_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues
2011-05-10 19:59 ` [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Saul Wold
@ 2011-05-10 20:04 ` Otavio Salvador
2011-05-11 15:14 ` Richard Purdie
0 siblings, 1 reply; 10+ messages in thread
From: Otavio Salvador @ 2011-05-10 20:04 UTC (permalink / raw)
To: Saul Wold; +Cc: Patches and discussions about the oe-core layer
On Tue, May 10, 2011 at 16:59, Saul Wold <sgw@linux.intel.com> wrote:
> In Richard's email he proposed one or the other be set, why do you need to
> set both here? If both need to be set then you don't need the override.
Because they're different no? Otherwise native.bbclass has those for others too:
...
PACKAGES = ""
PACKAGES_virtclass-native = ""
PACKAGES_DYNAMIC = ""
PACKAGES_DYNAMIC_virtclass-native = ""
...
Seems logical, no?
--
Otavio Salvador O.S. Systems
E-mail: otavio@ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues
2011-05-10 20:04 ` Otavio Salvador
@ 2011-05-11 15:14 ` Richard Purdie
0 siblings, 0 replies; 10+ messages in thread
From: Richard Purdie @ 2011-05-11 15:14 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Tue, 2011-05-10 at 17:04 -0300, Otavio Salvador wrote:
> On Tue, May 10, 2011 at 16:59, Saul Wold <sgw@linux.intel.com> wrote:
> > In Richard's email he proposed one or the other be set, why do you need to
> > set both here? If both need to be set then you don't need the override.
>
> Because they're different no? Otherwise native.bbclass has those for others too:
>
> ...
> PACKAGES = ""
> PACKAGES_virtclass-native = ""
> PACKAGES_DYNAMIC = ""
> PACKAGES_DYNAMIC_virtclass-native = ""
> ...
>
> Seems logical, no?
What I'm proposing is that native.bbclass should probably set the
override even when its not being used as a BBCLASSEXTEND.
All things considered lets make that a separate change and I'll take
this as is though because as you point out, there are other variables
with this issue too.
Cheers,
Richard
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues
2011-05-10 14:51 [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Otavio Salvador
` (2 preceding siblings ...)
2011-05-10 19:59 ` [PATCH 1/3] cmake.bbclass: fix qmake and rpath issues Saul Wold
@ 2011-05-11 15:15 ` Richard Purdie
3 siblings, 0 replies; 10+ messages in thread
From: Richard Purdie @ 2011-05-11 15:15 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Tue, 2011-05-10 at 14:51 +0000, Otavio Salvador wrote:
> Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however
> without changing the way of generating the toolchain file and making
> it branding agnostic.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> meta/classes/cmake.bbclass | 14 ++++++++++++--
> meta/classes/native.bbclass | 4 ++++
> 2 files changed, 16 insertions(+), 2 deletions(-)
I've merged this to master, thanks.
Richard
^ permalink raw reply [flat|nested] 10+ messages in thread