Commit Graph

130 Commits

Author SHA1 Message Date
Georg Baum
a15aafa2a1 Use std::regex automatically in C++11 mode
This is consistent with autotools. The only exception is MSVC, since we do not
know yet whether it works.
2015-12-06 20:04:21 +01:00
Vincent van Ravesteijn
02db183373 cmake: Properly suppress CMake warning about qtmain
CMake policy CMP0020 exists since version 2.8.11, so this prevents an
error on older versions.

This fixes up commit ec6f51b.
2015-10-28 20:24:47 +01:00
Peter Kümmel
ec6f51b373 Suppress CMake warning about qtmain 2015-10-23 16:59:31 +02:00
Peter Kümmel
c39869cc61 Also cross compile with Qt5
Assume Ubuntu pathes for mingw.
2015-10-23 16:34:55 +02:00
Peter Kümmel
a3b5ff264d Remove linebreak after GCC version string 2015-10-23 15:20:32 +02:00
Peter Kümmel
2aba6448a7 Remove hard coded Qt selection when cross compiling for Windows 2015-10-23 15:14:59 +02:00
Kornel Benko
0af49debee Cmake build: Remove support for concept checks.
See also commit 7f4101a
2015-09-25 14:55:50 +02:00
Kornel Benko
0c3624e36a Cmake build: Warning if system boost and stdlib-debug are used together
Change according to commit d95c187b5
2015-09-22 15:27:35 +02:00
Kornel Benko
e3524cefaa Cmake build: Abort build-configuration if using a too old c++ gnu compiler 2015-05-14 21:21:07 +02:00
Kornel Benko
dbc4c71ef5 Cmake preparation to support python3 2015-03-10 17:29:58 +01:00
Kornel Benko
a15468e260 std:regex cleanup for cmake
Do not use system boost regex lib when not needed.
2015-01-07 09:01:25 +01:00
Georg Baum
394e1bf99c Use std::regex if possible
It works with gcc >= 4.9.0 and clang (with libc++ or gcc libstdc++ from gcc
>= 4.9.0). The MSVC parg is missing, because I cannot test it, and the
autotools build still link against boost::regex even if it is not needed, but
I don't know how to fix that.
2014-12-28 18:08:18 +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
Georg Baum
6f34a8a640 Get rid of tr1 support
As discussed on the list. We don't need it anymore, either we have a modern
compiler that supports C++11, or we fall back to boost. I kept and adjusted
the regex #define, since we cannot use std regex completely yet.
2014-12-23 22:18:08 +01:00
Georg Baum
90b1f084bf Improve C++11 support
If we compile in C++11 mode, do not use the boost replacements for bind,
functional and shared_ptr. regex is excluded, since it misses match_partial, and
gcc does not provide a usable one in versions less than 4.9.0.
I also removed the #define for match_partial, since this is dangerous. Now you
get a compile error instead of subtle runtime differences.
2014-12-21 20:22:16 +01:00
Kornel Benko
edf22ba723 Cmake build: Detect clang and adapt definition of STD_STRING_USES_COW. 2014-12-08 17:43:05 +01:00
Georg Baum
83bee109db Make trivstring class ready for use
The interface is now 100% unit tested, and the typedefs depend on the new
STD_STRING_USES_COW configuration variable. The only missing bit is to detect
clang and disable STD_STRING_USES_COW for clang.
2014-12-07 13:14:17 +01:00
Kornel Benko
81afd10fc7 Cmake build: Moved creation of variable LYX_GIT_COMMIT_HASH to development/cmake/scripts/LyXGetVersion.cmake.
1.) The only file which needs this define is src/version.cpp. Our use in config.h
resulted in recompiling most of our sources.
With this change, only version.cpp needs to be recompiled.

2.) Without reconfiguring, the old commit hash was still valid. Now the
detection of commit hash is done at compile time.
2014-10-24 16:58:54 +02:00
Kornel Benko
153086ac30 Cmake build: Omit also hidden header files from globbing 2014-10-21 15:04:48 +02:00
Kornel Benko
652835bdea Cmake build: Omit files with names not starting with aplha character. 2014-10-21 14:50:44 +02:00
Kornel Benko
a24e076046 Add the git commit (if applicable) to LyX version
Addition to cmake.
Patch mostly from Stephan Witt.
2014-10-11 11:18:48 +02:00
Stephan Witt
1e1c2ed1d1 Qt5MacExtras is required on a Mac; report the version of Qt5 2014-08-24 21:59:12 +02:00
Kornel Benko
c2d9a22639 Cmake build: Use find_package(Qt5X11Extras ...) independent of OS
We need to know, if Qt5 is built over X11 in order to test with
xvkbd, which manipulates XEvents.
Qt5X11Extras is independent of underlying OS.
2014-08-23 11:36:24 +02:00
Stephan Witt
327da4f275 Add QtMacExtras detection for Qt5 support 2014-08-21 18:22:43 +02:00
Stephan Witt
7b31da6793 Add policy definitions to avoid warnings from cmake 3.0.0 2014-08-21 18:03:37 +02:00
Peter Kümmel
048571a2bf CMake: add option to enable address sanitizer 2014-08-10 11:23:42 +02:00
Kornel Benko
63976066ad avoid qt4 variable names in cmake build 2014-07-21 08:49:05 +02:00
Kornel Benko
7bc0a6f388 Cmake tests: Optimizing the cmake configuration time
The configuration time suffers mostly on checking, which of the export tests
is to be reverted.
1.) There is a new configuration flag now, "LYX_ENABLE_EXOPRT_TESTS.
   If not set (default) no export tests are created.
2.) If set, then the optimization halves the time needed for creation of tests.

The effect on my side:
        a.) Until now the time was:        ~ 26 seconds
        b.) The optimized time is now:     ~ 16 seconds
        c.) With not enabled export tests: ~  5 seconds
2014-06-21 21:15:54 +02:00
Scott Kostyshak
5594b43d2c Add comment and fix a typo 2014-06-12 17:56:57 -04:00
Stephan Witt
e67e37d759 Apple has builtin native spell checker, no need to warn for missing Aspell, hunspell or Enchant 2014-06-12 14:55:56 +02:00
Kornel Benko
e264b69cfb Cmake build: Use LYX_COMBO() to select the qt-version to use.
Collaboration with Scott Kostyshak
2014-06-09 10:19:59 +02:00
Kornel Benko
2a0ae2e739 Cmake build: Add combo-values to the list of displayed lyx options 2014-06-07 21:00:46 +02:00
Kornel Benko
8c0e1b5c70 Cmake build: Added convenience macro LYX_COMBO
Will be used later to allow selection between multiple alternatives.
2014-06-07 10:45:13 +02:00
Peter Kümmel
6b4c3036aa std::min/max are defined in <algorithm>
handle error in msvc12 when linking against msvc10 libs
2014-06-07 08:17:20 +02:00
Peter Kümmel
080fca85a8 build with mingw on Windows and Linux 2014-06-07 08:06:13 +02:00
Kornel Benko
046001e571 Make: improve detection of X11 with Qt 5
In collaboration with Scott Kostyshak:
With Qt 4 we could use Q_WS_X11, defined by FindQt4.cmake. In Qt 5,
there is no FindQt5.cmake. Instead we now define our own variable,
QT_USES_X11 by using class QX11Info available only on X11.
(http://qt-project.org/doc/qt-5/QX11Info.html)

The main consequence of this improved support is that now the keytests
can be run (ctest -R "keytest") when LyX is compiled with Qt 5.
Before, with Qt 5 we did not know if X11 was available, which is
needed by xvkbd, so the tests were not enabled. Note, however, that
many tests fail with Qt version 5.2.1 because there was a change in
the event handling mechanism in Qt that causes xvkbd to be unable to
pass capital letters (so case sensitive greps in the tests fail). This
needs to be investigated and reported.
2014-05-25 13:50:18 +02:00
Kornel Benko
f82883b097 Cmake build: Unify defines for spellchecker in config.h 2014-05-13 14:52:11 +02:00
Kornel Benko
6dc198ed6e Cmake build: Search for spell checking libraries unconditionally
New option: LYX_REQUIRE_SPELLCHECK. If set and no spellchecker found
  stop the compilation
  if not set, compile in many speckeckers as possible from the set
  of 'ASPELL', 'Hunspell', 'Enchant'
2014-05-13 12:31:37 +02:00
Kornel Benko
2ebcf38493 Cmake build: Install lyx*.desktop and lyx*.svg files in appropriate locations for unix 2014-05-09 10:04:42 +02:00
Kornel Benko
21541a07de boost, cmake: Turn off warning that signals are deprecated 2014-04-29 18:01:50 +02:00
Benjamin Piwowarski
d863088986 Revert "Objective-C compililation support with cmake and C++11"
This reverts commit c2e67a41ce.
2014-04-22 09:36:17 +02:00
Benjamin Piwowarski
6468cd97e3 When LYX_ASPELL is on, fails if not finding the library
Otherwise, this was triggering errors latter in the build process
2014-04-21 11:51:04 -04:00
Benjamin Piwowarski
14de3aa49b CMake install and bundling improvements (esp. OS X)
This patch improves the cmake bundling process:
- reworked bundle handling for OS X: only when installing resources are copied, otherwise
only the smallest bundle is built
- on OS X, the utility programs (tex2lyx) are now installed in the right location
- it removes some unneeded BUNDLE DESTINATION
- it provides a basic support for QT plugins inclusion
- it properly builds a disk image on OS X (only the background image is missing)
- it fixes the library paths for all executables (not only LyX)
- Use the COPYING file for cmake install license
2014-04-21 11:51:04 -04:00
Benjamin Piwowarski
c2e67a41ce Objective-C compililation support with cmake and C++11
This fixes an issue whe compiling with C++11 flags on: The
objective-C clang compiler produces an error. This patch waits
avoid including specific C++ flags and uses LYX_CPP_SPECIFIC_FLAGS
to store the confliciting flags (for the moment, just C++11).
2014-04-21 11:51:04 -04:00
Stephan Witt
b73c6462d6 simplify XCODE_VERSION check 2013-12-31 15:49:19 +01:00
Stephan Witt
130ad13dee avoid CMAKE_XCODE_ATTRIBUTE_GCC_VERSION assignment for Xcode 5.0+
it is not needed anymore and the current assignment is wrong in this case
2013-12-31 10:24:27 +01:00
Kornel Benko
499c5cfe57 Adapt cmake build to use c++11 features also for clang compiler 2013-12-15 11:41:28 +01:00
Kornel Benko
99c92de8aa CMake: allow compile-time C++ flags to be set
For developper only, therefore the variable is set to advanced.

Ideas from: Scott Kostyshak + Vincent van Ravensteijn
2013-12-05 12:00:02 +01:00
Kornel Benko
7033b15793 Cmake build. Use 2.0.0 git-tag to receive the number of commits.
This number is only used for created package name.
2013-11-30 19:53:30 +01:00
Scott Kostyshak
374cf6a39f CMake: allow compile-time C++ flags to be set
For example, one could run CMake as follows:
  cmake -DLYX_CXX_FLAGS_EXTRA="-Werror"

Thanks to Kornel.
2013-11-30 13:08:21 -05:00