|
From: <ai...@us...> - 2013-12-11 08:37:46
|
Revision: 12847
http://sourceforge.net/p/plplot/code/12847
Author: airwin
Date: 2013-12-11 08:37:43 +0000 (Wed, 11 Dec 2013)
Log Message:
-----------
Add a qt4_lite epa_build configuration.
Tested by Alan W. Irwin <ai...@us...> on Linux
for epa_build with the build_epa_lite target which took ~15 minutes
to complete on my ordinary PC. Since that build I have done
extensive comprehensive testing of PLplot for the qt case using
these qt4_lite install results, and no issues were found at all.
Modified Paths:
--------------
trunk/cmake/epa_build/CMakeLists.txt
trunk/cmake/epa_build/plplot/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/epa_build/qt4_lite/
trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
Modified: trunk/cmake/epa_build/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/CMakeLists.txt 2013-12-11 07:49:35 UTC (rev 12846)
+++ trunk/cmake/epa_build/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -397,6 +397,7 @@
plplot_lite
wxwidgets
pango
+ qt4_lite
)
endif(BUILD_THE_BUILDTOOLS)
Modified: trunk/cmake/epa_build/plplot/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-11 07:49:35 UTC (rev 12846)
+++ trunk/cmake/epa_build/plplot/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -31,6 +31,7 @@
shapelib
wxwidgets
pango
+ qt4_lite
)
# Do boilerplate tasks that must be done for each different project
Added: trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
===================================================================
--- trunk/cmake/epa_build/qt4_lite/CMakeLists.txt (rev 0)
+++ trunk/cmake/epa_build/qt4_lite/CMakeLists.txt 2013-12-11 08:37:43 UTC (rev 12847)
@@ -0,0 +1,207 @@
+# qt4_lite/CMakeLists.txt
+
+# Configure the build of qt4_lite.
+
+# N.B. this file is generated so if you edit it you will lose all your
+# changes the next time it is generated (typically by running
+# either/both the update_added_packages.sh or update_pango_packages.sh
+# scripts). If those scripts do not provide good results, then
+# consider changing their source files (e.g., by editing the files
+# used in those scripts) or add a patch to be run by those scripts.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# Many of the details of this epa_build configuration were derived from
+# <http://www.linuxfromscratch.org/blfs/view/svn/x/qt4.html>.
+
+set(PACKAGE qt4_lite)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+# The assumption here is that for Windows platforms Qt4 is self-contained
+# and therefore does not rely on external libraries (at least if you configure
+# the in-house version of those). For Linux platforms the dependencies will
+# just have to be resolved by system versions rather than building a lot
+# of additional packages.
+set(dependencies_LIST)
+
+# Do boilerplate tasks that must be done for each different project
+# that is configured as part of epa_build.
+epa_boilerplate(
+ ignored_dependencies_LIST
+ PACKAGE
+ dependencies_LIST
+ dependencies_targets
+ EPA_PATH
+ source_PATH
+ )
+
+set(CFLAGS "$ENV{CFLAGS}")
+set(CXXFLAGS "$ENV{CXXFLAGS}")
+
+# Drop -fvisibility=hidden since that option may not work for Qt4.
+# (May test this later if I get everything to work.)
+string(REGEX REPLACE "-fvisibility=hidden" "" CFLAGS "${CFLAGS}")
+string(REGEX REPLACE "-fvisibility=hidden" "" CXXFLAGS "${CXXFLAGS}")
+
+# Data that is related to downloads.
+set(URL http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz)
+# Temporary to save download bandwidth/time while debugging this.
+set(URL /home/software/build_qt4/qt-everywhere-opensource-src-4.8.5.tar.gz)
+set(DOWNLOAD_HASH_TYPE MD5)
+set(DOWNLOAD_HASH 1864987bdbb2f58f8ae8b350dfdbe133)
+
+# Many of these are recommended by BLFS, but I have tried to use
+# a consistent install prefix and I have also turned off as
+# much as possible for this "lite" version.
+set(config_arguments
+
+ # Installation options:
+ -sysconfdir ${EPA_CMAKE_INSTALL_PREFIX}/etc/xdg
+
+ # Configure options:
+ -release
+ -confirm-license
+ -opensource
+ # Need to be consistent with system versions of PyQt4/QtGui.so which need
+ # a libQtGui.so library which contains QWidget::accessibleName() const
+ # and QWidget::accessibleDescription() const.
+ -accessibility
+
+ # Try to get rid of everything to do with sql by eliminating all possible
+ # drivers.
+ -no-sql-db2
+ -no-sql-ibase
+ -no-sql-mysql
+ -no-sql-oci
+ -no-sql-odbc
+ -no-sql-psql
+ -no-sql-sqlite
+ -no-sql-sqlite2
+ -no-sql-sqlite_symbian
+ -no-sql-symsql
+ -no-sql-tds
+
+ -no-qt3support
+ -no-xmlpatterns
+ -no-multimedia
+ -no-audio-backend
+ -no-phonon
+ -no-phonon-backend
+
+ # Need svg
+ -svg
+
+ -no-webkit
+ -no-javascript-jit
+ -no-script
+ -no-scripttools
+ -no-declarative
+ -no-declarative-debug
+ # Third party libraries (drop if possible but if needed by PLplot, use
+ # in-house Qt4 versions of these to reduce dependencies):
+ -qt-zlib
+ -no-gif
+ -qt-libtiff
+ -qt-libpng
+ -no-libmng
+ -qt-libjpeg
+ -no-openssl
+ # Additional options:
+
+ # Drop all components other than libs
+ -nomake tools
+ -nomake examples
+ -nomake demos
+ -nomake docs
+ -nomake translations
+
+ -optimized-qmake
+
+ # Need gui which happens by default (there is no -gui option)
+ # if you do not specify -no-gui
+
+ -no-nis
+ -no-cups
+ -no-iconv
+ -no-dbus
+
+ # Qt/X11 only: (leave everything default)
+ )
+
+# Note QTDIR= below. Setting that environment variable is recommended by method 2 of BLFS.
+
+ExternalProject_Add(
+ build_qt4_lite
+ DEPENDS ${dependencies_targets}
+ URL ${URL}
+ URL_HASH ${DOWNLOAD_HASH_TYPE}=${DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" ${source_PATH}/${EPA_CONFIGURE_COMMAND} ${config_arguments}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} ${EPA_PARALLEL_MAKE_COMMAND}
+ BUILD_IN_SOURCE 0
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${EPA_PATH} QTDIR=${EPA_CMAKE_INSTALL_PREFIX} ${EPA_PARALLEL_MAKE_COMMAND} install
+ #STEP_TARGETS update configure build install test
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-update
+ COMMAND ${CMAKE_COMMAND} -E echo "make two code fixups recommended by BLFS."
+ COMMAND ${SED_EXECUTABLE} -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" ${EPA_BASE}/Source/build_${PACKAGE}/config.tests/unix/libmng/libmng.cpp
+ COMMAND ${SED_EXECUTABLE} -i "/CONFIG -/ a\\isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../.." ${EPA_BASE}/Source/build_${PACKAGE}/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
+ APPEND
+ )
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_png.sh
+"install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/src/gui/dialogs/images/qtlogo-64.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/qt4logo.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/assistant/tools/assistant/images/assistant-128.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/assistant-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/designer/src/designer/images/designer.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/designer-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/linguist/linguist/images/icons/linguist-128-32.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/linguist-qt4.png
+install -v -Dm644 ${EPA_BASE}/Source/build_${PACKAGE}/tools/qdbus/qdbusviewer/images/qdbusviewer-128.png ${EPA_CMAKE_INSTALL_PREFIX}/usr/share/pixmaps/qdbusviewer-qt4.png
+"
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install some addition png files recommended by BLFS."
+ COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/install_png.sh
+ APPEND
+ )
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_fixups.sh
+"for file in `basename -a -s .prl ${EPA_CMAKE_INSTALL_PREFIX}/lib/lib*.prl`; do
+ sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\\1/' ${EPA_CMAKE_INSTALL_PREFIX}/lib/\${file}.prl
+ perl -pi -e \"s, -L\$PWD/?\\S+,,g\" ${EPA_CMAKE_INSTALL_PREFIX}/lib/pkgconfig/\${file##lib}.pc
+done
+
+unset file
+"
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EPA_BASE}/Stamp/build_${PACKAGE}/build_${PACKAGE}-install
+ COMMAND ${CMAKE_COMMAND} -E echo "install fixups recommended by BLFS."
+ COMMAND ${BASH_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/install_fixups.sh
+ APPEND
+ )
+
+# N.B. I have explicitly ignored all post-install Qt4 configuration recommended
+# by BLFS because I don't think that will be needed by PLplot.
Property changes on: trunk/cmake/epa_build/qt4_lite/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|