changeset 15116:3d7a7ae53bbf gui

Further integration of GUI in the build system. * Makefile.am (SUBDIRS): Add gui conditionally. * configure.ac (AC_CHECK_PROGS(rcc)): Check for new program. (AC_ARG_ENABLE(gui): New configure flag. * gui/src/Makefile.am: Add support for resource file compilation. Use nodist_XXX_SOURCES for MOC files.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sun, 05 Aug 2012 20:04:53 +0100
parents 7279c6fc3acb
children 3735a0e783cb
files Makefile.am configure.ac gui/src/Makefile.am
diffstat 3 files changed, 42 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Sun Aug 05 12:35:28 2012 -0400
+++ b/Makefile.am	Sun Aug 05 20:04:53 2012 +0100
@@ -70,6 +70,10 @@
 # Subdirectories in which to run `make all'.
 SUBDIRS = libgnu libcruft liboctave src scripts @DOCDIR@ examples test
 
+if OCTAVE_GUI
+SUBDIRS += gui
+endif
+
 if ! AMCOND_BUILD_DOCS
 dist-hook:
 	echo "Documentation disabled.  Cannot package distribution!" ; exit 1;
--- a/configure.ac	Sun Aug 05 12:35:28 2012 -0400
+++ b/configure.ac	Sun Aug 05 20:04:53 2012 +0100
@@ -2134,6 +2134,7 @@
 
 AC_CHECK_PROGS(MOC, [moc moc-qt4 moc-qt5])
 AC_CHECK_PROGS(UIC, [uic uic-qt4 uic-qt5])
+AC_CHECK_PROGS(RCC, [rcc])
 AC_CHECK_PROGS(QMAKE, [qmake qmake-qt4 qmake-qt5])
 
 AC_SUBST(MOC)
@@ -2155,6 +2156,14 @@
 esac
 AM_CONDITIONAL([WIN32_TERMINAL], [test x$win32_terminal = xyes])
 
+octave_gui=
+AC_ARG_ENABLE(gui,
+  [AS_HELP_STRING([--enable-gui], [build GUI (default is no)])],
+  [if test "$enableval" = yes; then
+     octave_gui=yes
+   fi], [])
+AM_CONDITIONAL([OCTAVE_GUI], [test x$octave_gui = xyes])
+
 ### Run configure in subdirectories.
 
 export CC
--- a/gui/src/Makefile.am	Sun Aug 05 12:35:28 2012 -0400
+++ b/gui/src/Makefile.am	Sun Aug 05 20:04:53 2012 +0100
@@ -11,6 +11,9 @@
 ui_%.h: %.ui
 	@UIC@ -o $@ $<
 
+qrc_%.cpp: %.qrc
+	@RCC@ -o $@ $<
+
 bin_PROGRAMS = octave-gui
 
 octave_gui_MOC = \
@@ -37,6 +40,8 @@
 		welcome-wizard.ui
 octave_gui_UI_H = $(patsubst %.ui,ui_%.h,$(octave_gui_UI))
 
+octave_gui_RC = qrc_resource.cpp
+
 octave_gui_SOURCES = \
 		     documentation-dockwidget.cc \
 		     files-dockwidget.cc \
@@ -57,8 +62,8 @@
 		     octave-adapter/octave-link.cc \
 		     octave-adapter/octave-main-thread.cc \
 		     qtinfo/parser.cc \
-		     qtinfo/webinfo.cc \
-		     $(octave_gui_MOC)
+		     qtinfo/webinfo.cc
+nodist_octave_gui_SOURCES = $(octave_gui_MOC) $(octave_gui_RC)
 
 octave_gui_CPPFLAGS = -I@QT_INCDIR@/QtCore \
 		      -I@QT_INCDIR@/QtGui \
@@ -108,7 +113,7 @@
 		 qtinfo/parser.h \
 		 qtinfo/webinfo.h
 
-CLEANFILES = $(octave_gui_MOC) $(octave_gui_UI_H)
+CLEANFILES = $(octave_gui_MOC) $(octave_gui_UI_H) $(octave_gui_RC)
 
 clean-local:
 	-if test "$(srcdir)" != "."; then \
@@ -117,7 +122,7 @@
 
 BUILT_SOURCES = $(octave_gui_UI_H)
 
-EXTRA_DIST = $(octave_gui_UI)
+EXTRA_DIST = $(octave_gui_UI) resource.qrc
 
 noinst_LTLIBRARIES = libqterminal.la
 
@@ -155,30 +160,30 @@
 		      ../qterminal/libqterminal/moc_QTerminal.cpp \
 		      ../qterminal/libqterminal/moc_QTerminalInterface.cpp
 
-libqterminal_la_SOURCES = $(libqterminal_la_MOC)
+nodist_libqterminal_la_SOURCES = $(libqterminal_la_MOC)
 
 if WIN32_TERMINAL
-libqterminal_la_SOURCES += \
-			   ../qterminal/libqterminal/win32/QTerminalColors.cpp \
-			   ../qterminal/libqterminal/win32/QTerminalImpl.cpp
+libqterminal_la_SOURCES = \
+			  ../qterminal/libqterminal/win32/QTerminalColors.cpp \
+			  ../qterminal/libqterminal/win32/QWinTerminalImpl.cpp
 libqterminal_la_MOC += ../qterminal/libqterminal/win32/moc_QWinTerminalImpl.cpp
 else
-libqterminal_la_SOURCES += \
-			   ../qterminal/libqterminal/unix/BlockArray.cpp \
-			   ../qterminal/libqterminal/unix/Emulation.cpp \
-			   ../qterminal/libqterminal/unix/Filter.cpp \
-			   ../qterminal/libqterminal/unix/History.cpp \
-			   ../qterminal/libqterminal/unix/KeyboardTranslator.cpp \
-			   ../qterminal/libqterminal/unix/konsole_wcwidth.cpp \
-			   ../qterminal/libqterminal/unix/kpty.cpp \
-			   ../qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
-			   ../qterminal/libqterminal/unix/Screen.cpp \
-			   ../qterminal/libqterminal/unix/ScreenWindow.cpp \
-			   ../qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
-			   ../qterminal/libqterminal/unix/Vt102Emulation.cpp \
-			   ../qterminal/libqterminal/unix/SelfListener.cpp \
-			   ../qterminal/libqterminal/unix/TerminalModel.cpp \
-			   ../qterminal/libqterminal/unix/TerminalView.cpp
+libqterminal_la_SOURCES = \
+			  ../qterminal/libqterminal/unix/BlockArray.cpp \
+			  ../qterminal/libqterminal/unix/Emulation.cpp \
+			  ../qterminal/libqterminal/unix/Filter.cpp \
+			  ../qterminal/libqterminal/unix/History.cpp \
+			  ../qterminal/libqterminal/unix/KeyboardTranslator.cpp \
+			  ../qterminal/libqterminal/unix/konsole_wcwidth.cpp \
+			  ../qterminal/libqterminal/unix/kpty.cpp \
+			  ../qterminal/libqterminal/unix/QUnixTerminalImpl.cpp \
+			  ../qterminal/libqterminal/unix/Screen.cpp \
+			  ../qterminal/libqterminal/unix/ScreenWindow.cpp \
+			  ../qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp \
+			  ../qterminal/libqterminal/unix/Vt102Emulation.cpp \
+			  ../qterminal/libqterminal/unix/SelfListener.cpp \
+			  ../qterminal/libqterminal/unix/TerminalModel.cpp \
+			  ../qterminal/libqterminal/unix/TerminalView.cpp
 libqterminal_la_MOC += \
 		       ../qterminal/libqterminal/unix/moc_Emulation.cpp \
 		       ../qterminal/libqterminal/unix/moc_Filter.cpp \