Commit Graph

51 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
03eadb1a66 Use autoupdate to convert some obsolete calls
AC_TRY_COMPILE and AC_TRY_LINK have been obsolete for some time.

Now most autoconf warnings are gone.
2019-06-12 18:10:13 +02:00
Jean-Marc Lasgouttes
5173f22024 Fix some warnings found by the -Wall options of autoconf and automake.
There are still warnings to address. For now, they not enabled by default.
2019-06-12 18:00:18 +02:00
Enrico Forestieri
0cab640035 Try with Qt4 when configuring for Qt5 fails
This allows to avoid using --disable-qt5 when only the Qt4 libraries
are available.
2018-08-27 16:31:51 +02:00
Enrico Forestieri
6253cc4c51 Account for Qt 5.10
Fix regular sed expression in order to catch a second digit in the
Qt minor version number.
2018-01-05 19:29:12 +01:00
Jean-Marc Lasgouttes
e8d8f0abf8 Revert "autoconf"
I did not plan to push this

This reverts commit 0bd6cc30bc.
2017-10-11 12:02:25 +02:00
Jean-Marc Lasgouttes
0bd6cc30bc autoconf 2017-10-11 11:20:59 +02:00
Enrico Forestieri
b541692823 Fix configuring for Qt 5.8
They moved the QT_QPA_DEFAULT_PLATFORM_NAME definition to the newly
introduced qtgui-config.h header.
This fix is also necessary for cmake, but I don't know how to do it.
It would be simply a matter of using QtGui/qtgui-config.h instead
of QtCore/qconfig.h, if QtGui/qtgui-config.h exists.
2017-02-07 11:29:30 +01:00
Enrico Forestieri
5adc2c5ff2 Use a more portable construct
Some shells do not understand the $() notation for command substitution.
2016-07-17 23:50:34 +02:00
Enrico Forestieri
0c7bd9a57f Check path of Qt tools if qtchooser is detected
The full path of the tools is retained only if the Qt directory is
specified using --with-qt-dir. Now, when qtchooser was detected it
was blindly assumed that the corresponding system tools were being
used. These tools discriminate between Qt4 and Qt5 through the
option -qt=qt4 or -qt=qt5. However, the original Qt tools don't
understand these options, so that if they come first in the PATH,
configuration fails. So, only use those options if we are reasonably
sure that the system Qt is wanted. This is achieved by comparing the
paths of qtchooser and tools as, typically, they are located in the
same directory. In this way, if one prepends the bin directory of a
custom Qt build to PATH (and accordingly adjusts PKG_CONFIG_PATH),
configuration succeeds even if --with-qt-dir is not specified.
2016-07-17 12:31:24 +02:00
Enrico Forestieri
cb0c881b02 Fix paste of selection to (unfocused) external applications
With both Qt4 and Qt5, when using a click-to-focus policy, the first
attempt to paste a selection by middle mouse in an external application
which has no focus may fail. It is not clear why this succeeds for some
applications and fails for others, but refreshing the timestamp of the
selection request cures the issue. The cmake part is by Kornel.

See also this thread:
http://thread.gmane.org/gmane.editors.lyx.devel/162491
2016-07-10 19:31:32 +02:00
Enrico Forestieri
f0aa129938 Account for the case in which Qt tools are not in PATH
If the Qt directory is specified by --with-qt-dir, the full path
of the tools is retained. Otherwise, if qtchooser is detected,
the generic names are attempted with proper arguments to select
the desired Qt version. Otherwise, the generic names with and without
proper suffixes (either -qt5 or -qt4) are checked in the PATH.

This means that --with-qt-dir=qtdir should be used only if the tools
are not in the PATH, or qtdir/bin/{moc,rcc,uic} are the right versions
for the desired Qt. In any case, it is later checked that the selected
tools are the right ones and a warning is issued if there is a mismatch.
2016-07-07 23:12:07 +02:00
Jean-Marc Lasgouttes
d044986724 Autoconf : Try to select the correct Qt tools by using the -qt option
With this change, it is now possible to configure with --enable-qt5
and have make use "moc -qt=qt5" automatically.

This is done when the command qtchooser is available nd the desired Qt
version (qt4/qt5) is available.

This means that it is now possible to have qt4 and qt5 builds easily
on a same linux system.
2016-07-05 12:01:13 +02:00
Georg Baum
6343a017f7 Do not search for X in mingw builds
The manual qt configuration did not work previously for mingw builds, since it
serached for X libraries, which are not used by LyX on mingw.
2016-05-29 17:55:43 -04:00
Jean-Marc
e471e6cd49 Do not forget QtSvg when using pkgconfig in autoconf 2015-07-12 19:12:51 +02:00
Stephan Witt
cadc406363 #9130 Text in main work area isn't rendered with high resolution
Add Qt5Svg for pkgconfig based compile and linker flags setup.
2015-05-20 11:04:26 +02:00
Stephan Witt
0933df0011 Add Qt's Svg module to the list of used modules. This is required to allow the use of e.g. the QSvgRenderer class. 2015-05-19 22:46:26 +02:00
Enrico Forestieri
d4428ceb81 Adjust preprocessor guards for Qt5/X11.
This fixes the -geometry command line option and restores the
"Use icons from system's theme" checkbox in the preferences.

There is still code addressing Qt4 and xlib that has to be
audited. This code cannot be compiled with Qt5 because the
default backend is now xcb and not xlib. I have marked such
code with a "FIXME QT5" comment.
2015-01-11 19:44:35 +01:00
Enrico Forestieri
dd2a8b616e Adjust autotools default configure options for Qt5.
* Disable concept-checks unless explicitly required (errors out with Qt5).
* Add -fPIC to CPPFLAGS for elf targets (required with Qt5).
2015-01-04 18:07:11 +01:00
Enrico Forestieri
ab3259885b Fix configuring for Qt5 with autotools on non-Mac platforms. 2015-01-01 18:44:01 +01:00
Stephan Witt
0379bade17 #9323 add check for Qt5MacExtras to use it on Mac with --enable-qt5 2014-12-29 00:18:40 +01:00
Enrico Forestieri
9126a99e97 Fix bug #9217: [Qt5] QWindowsMime class not available
The support for QWindowsMime has been reintroduced in Qt 5.4.0.
The class name has been changed to QWinMime but the interface
is exactly the same.
2014-12-26 16:53:31 +01:00
Stephan Witt
327da4f275 Add QtMacExtras detection for Qt5 support 2014-08-21 18:22:43 +02:00
Enrico Forestieri
4bdeae2733 Update autotools for building with Qt5.
The option --enable-qt5 allows configuring for Qt5. The default is Qt4.
Nothing special is done with respect to Qt4, apart from pulling in the
correct libraries. Indeed, other than the core and gui libraries, now
also the concurrent and widgets libraries are needed.
2014-07-19 03:34:28 +02:00
Jean-Marc Lasgouttes
3e073ec919 Quick workaround for detection of Qt/Mac using pkg-config 2013-07-19 16:03:54 +02:00
Jean-Marc Lasgouttes
b58b8e7c73 Fix Qt tools search when a Qt directory has been specified
When --with-qt-dir has been specified, programs like "moc" in the Qt
directory are unlikely to have a qualified name like moc-qt4.
Therefore, such qualified names are only considered when the base
version has not been found.
2013-07-13 22:44:28 +02:00
Jean-Marc Lasgouttes
3ef4db2ce4 Continue pre-spring cleaning of configure script
* build-type=profiling implies -fno-omit-frame-pointer in gcc. This allows sysprof to yield proper call trees
 * remove --enable-grpof option (the build type is enough)
 * remove --with-frontend option since we have only one frontend. Move stuff around and generally simplify the Qt detection code
 * do not check for bc anymore.
 * Update README.
2013-03-19 16:41:14 +01:00
Jean-Marc Lasgouttes
04a8db4af8 Get rid of LYX_ERROR in our configure file.
We use the standard AC_MSG_ERROR instead, which just stops the configure process where the problem happens.
2013-03-19 15:15:56 +01:00
Jean-Marc Lasgouttes
1d08d5232d Add a test to configure for minimal Qt version
* use AS_COMPARE_VERSION to check whether the Qt version is correct.
* upgrade minimal requirement for autoconf to version 2.60 (released in 2006!).
2013-03-19 12:59:38 +01:00
Stephan Witt
141fbb6f8c Prepare LyX code to compile and link with Qt5:
* some functionality is in new modules now
  new header locations and library names: QtConcurrent and QtWidgets
* method setResizeMode is renamed to setSectionResizeMode
* deprecated QAbstractItemModel::reset() is dropped now
* platform specific code like QApplication::syncX() is not common anymore
* QString::fromAscii() is dropped now
* some QDesktopServices methods has been moved to QStandardPaths
2013-02-03 19:26:21 +01:00
Stephan Witt
040374f343 use -F instead of -L to link Qt frameworks 2012-09-23 16:06:55 +02:00
Enrico Forestieri
6781444835 Warn user that build will fail if bc is not installed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39945 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 15:35:36 +00:00
Stephan Witt
39645b33b4 correct the Qt framework names
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35527 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-28 19:27:10 +00:00
Stephan Witt
d18995cd79 #6874 prepare configure based build with Qt4 frameworks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35524 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-28 15:07:07 +00:00
Jean-Marc Lasgouttes
84880b5842 cleanup the help messages of the configure script; now --with-version-suffix shows what the default suffix is
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31542 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 14:05:57 +00:00
Enrico Forestieri
1ad4fd55ea Remove traces of Q_CYGWIN_WIN
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26916 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-15 23:00:42 +00:00
Jean-Marc Lasgouttes
ca67cfffe0 do not check for X libraries if pkg-config succeeded
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26829 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-09 14:10:09 +00:00
André Pönitz
c6886926ec remove unused defines QT_CLEAN_NAMESPACE and QT_GENUINE_STR
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23867 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 15:08:36 +00:00
André Pönitz
1aed51c75c configure chack for rcc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20733 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-04 16:57:16 +00:00
Jean-Marc Lasgouttes
6f042448a1 honor all the link flags coming from pkg-config
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19285 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-03 10:36:49 +00:00
Jean-Marc Lasgouttes
a7039727c3 * configure.ac: check earlier for -liconv and -lz, since Qt4 needs them;
put LIBICONV in LIBS.

	* src/Makefile.am: 
	* src/client/Makefile.am: update accordingly.

	* config/qt4.m4: do not try to run pkg-config tests when pkg-config 
	is not installed.

	* INSTALL.MacOSX: advise to use pkg-config; remove -lz from LDFLAGS;
	remove --with-frontend=qt4 from configure line; in the svn case, remove
	also --disable-stdlib-debug and --disable-concept-checks (and explain 
	why --disable-stdlib-debug may be needed).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19056 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-12 12:57:59 +00:00
Jean-Marc Lasgouttes
b5c00e2464 * config/qt4.m4 (QT4_DO_PKG_CONFIG): use = instead of == to check for equality with 'test' (bug 3770)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18575 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-30 06:00:31 +00:00
Jean-Marc Lasgouttes
b6bc406d56 fix setting of PKG_CONFIG_PATH for qt 4.3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17973 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 07:53:19 +00:00
Georg Baum
04debb8056 Revert unwanted stuff from last commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16932 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-29 18:37:13 +00:00
Georg Baum
a76050219a Fix LyX paste from system clipboard when the file format does not match
* src/buffer.C
	(Buffer::readString): Tell readFile that we do not have a file
	(Buffer::readString): readFile(name) returns a bool, not an enum


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16931 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-29 18:35:56 +00:00
Georg Baum
b89f97f0b4 fix manual qt configuration in these cases:
- pkgconfig is missing
- pkgconfig is available, but it does not have any qt information
by Jean-Marc and me


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16271 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-13 21:18:44 +00:00
Georg Baum
fe5c73915e Make libQtCore a support library like boost and implement encoding conversion
from/to the local 8bit encoding with it.
Only the autotools build system is updated, scons and cmake users need to
add qt4 cpp flags when compiling libsupport, and link libsupport against
libQtCore.

	* src/frontends/qt4/qt_helpers.[Ch]
	(toqstr, qchar_to_ucs4, ucs4_to_qchar, ucs4_to_qstring,
	 qstring_to_ucs4, fromqstr): Move these qstring conversion functions
	from here ...

	* src/support/qstring_helpers.[Ch] ... to these new files

	* src/support/docstring.[Ch]
	(from_local8bit): new conversion function from local 8bit encoding
	to ucs4
	(to_local8bit): new conversion function from ucs4 to local 8bit
	encoding to ucs4
	(to_local8bit_failure): exception that is thrown by to_local8bit if
	the argument cannot be converted to the local encoding

	* src/support/filename.C
	(FileName::toFilesystemEncoding): implement with the help of QFile

	* src/support/Makefile.am: Add new files, qt4 cpp flags and link
	against libQtCore

	* src/client/client.C: Convert commandline input from local encoding
	to ucs4. Convert stuff that is sent to to the server to utf8,
	because LyX interprets it as utf8 on the other end of the pipe.

	* src/lyx_main.C
	(LyX::exec): convert commandline input from local encoding to utf8
	(LyX::init): ditto
	(LyX::easyParse): ditto

	* development/scons/scons_manifest.py: Add new files

	* config/qt4.m4: Define new variables QT4_CORE_INCLUDES,
	QT4_CORE_LDFLAGS and QT4_CORE_LIB


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16257 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-12 20:19:46 +00:00
Abdelrazak Younes
b486b53f8f Patch from Enrico:
Avoids the crash when quitting LyX on Cygwin/qt4


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14860 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 13:49:03 +00:00
Jean-Marc Lasgouttes
fa2a87de9b Qt4 autoconf cleanup.
* config/qt4.m4 
	(QT4_FIND_PATH, QT_FIND_UIC4, QT_FIND_MOC4): remove,
	AC_PATH_PROGS does this very well. 
	(QT4_DO_PKG_CONFIG): add $QT4DIR/lib to pkg-config search path;
	do not run QT4_DO_MANUAL_CONFIG on failure. 
	(QT4_DO_MANUAL_CONFIG): remove some code.
	(QT4_DO_IT_ALL): move code to handle --with-foo here; move
	code to search for moc/uic here; call QT4_DO_PKG_CONFIG first,
	and QT4_DO_MANUAL_CONFIG on failure.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14829 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-24 09:33:14 +00:00
Abdelrazak Younes
3942d5eac1 get rid of QT3_SUPPORT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14774 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-17 09:11:14 +00:00
Lars Gullik Bjønnes
96313cdcb5 Make QT4 config use pgk-config if available
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14520 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-30 21:33:59 +00:00