Commit Graph

188 Commits

Author SHA1 Message Date
Kornel Benko
889d10cda3 Cmake build: Adapt to compile with qt5.11
Since qt5_use_modules() is removed from QT5 (as spotted
by Jürgen Spitzmüller), we had to create own version
of this macro.

According to this page:
http://doc.qt.io/qt-5/cmake-manual.html
the way to replace use of qt5_use_modules() for module "_mod" and target "_target"
is to use
  1.) cmake_minimum_required(VERSION 3.1.0)
  2.) find_package(Qt5${_mod} CONFIG REQUIRED)
  3.) target_link_libraries(${_target} Qt5::${_mod})
The last one sets all reguired libraries, compile flags and needed includes for the ${_target}

Disable possible warn about not known policy

Extend Clang compiler detection to cover Apple CLang

(cherry picked from commit d6b21e20e2)
(cherry picked from commit 72a2f92239)
(cherry picked from commit 6343452a73)
(cherry picked from commit cb08d4a879)
(cherry picked from commit 1bf4d7b0fc)
2018-06-20 00:09:19 +02:00
Scott Kostyshak
5137bfa94b ctests: run URL tests at beginning
The URL tests can take a long time to complete. By running them at
the beginning, time can be saved when running the ctests in
parallel.

This saves around 10 minutes for me.

(cherry picked from commit c9817a4fb5)
2017-12-24 01:06:35 -05:00
Uwe Stöhr
4e83fcf9e6 Win installer: backport also the CMake build removal
This might be controversial but as it is it doesn't work (new NSIS backend changed NSIS plugins etc.)
2017-11-20 21:14:18 +01:00
Kornel Benko
11386f4601 Cmake build: Needed variable for creation of debian package
The variable CPACK_DEBIAN_PACKAGE_RELEASE has to be in the form
of "^[A-Za-z0-9.+~]+$". We will use the abbreviated commit revision for now.
Without this change cmake 3.10 emits error.

(cherry picked from commit 847c68960a)
2017-10-08 08:30:16 +02:00
Kornel Benko
10487fb292 Cmake build: Unconditionally create many install targets
Previously one needed to use '-D_LYX_INSTALL=ON' to be able to install
some targets. This change only creates rules to make installation possible for
the underlying toolset.

The setting is still needed to create the rules for manuals, lokalizations and
win32 install scripts.

(cherry picked from commit 82246b5109)
2017-10-04 10:16:30 +02:00
Kornel Benko
9da29ac788 Add suffixed lyxconvert to cmake build.
This should amend f93ec4a, but is not tested on apple
2017-10-03 22:09:57 +02:00
Kornel Benko
b5c2e02ebd Cmake build: Amend 2fe59ad, Ignore boost settings if we are using std-regex
Even in std-regex case we still need some includes from boost.
Therefore we also need an appropriate include path set.
2017-07-28 11:35:50 +02:00
Kornel Benko
2fe59adbc8 Cmake build: Ignore boost settings if we are using std-regex
External/included boost is only used for the component regex
2017-07-27 23:29:29 +02:00
Kornel Benko
0f881e202e Cmake build: Remove unnecessary duplication of c++ flags
Apparently cmake concatenates CMAKE_CXX_FLAGS to the Release and Debug flags
Also eliminated the mix of '-std=c++*' and '-std=gnu++*' flags
2017-07-27 13:33:17 +02:00
Jean-Marc Lasgouttes
9fe8190364 Make "devel mode" configurable at run time
Traditionally LyX behaves differently when the directive DEVEL_VERSION
is defined at compile time. This covers
* more detailed description of current position in status bar
* the help files are open in read/write mode
* more detailed debug output in the View Source panel

This patch introduces the new function devel-mode-toggle that allows
to use devel mode in stable releases, and vice versa.

The information is saved in the session file. The default is to
disable devel mode.

Remove all traces of DEVEL_VERSION in autoconf and cmake
2017-07-24 22:00:44 +02:00
Kornel Benko
ba0492faee Cmake build: Try to figure out at configure time which qt version to use
Selecting -DLYX_USE_QT=AUTO (which is the default now) will try
to figure out which QT-version to use.

The qt4 version will be used if it is installed and the installed qt5-version is <= 5.6
Otherwise use qt5 if it is installed.
2017-05-02 14:12:41 +02:00
Kornel Benko
0935f94f0d Cmake build: Correct suffixing on non-gcc-compilers
If the value LYX_PROGRAM_SUFFIX is not handled, we have to use
LYX_PACKAGE_SUFFIX.
The naming 'PACKAGE' in our sources is misleading, as it is used
for the name of the debian/rpm packages as well.
2017-05-02 08:16:00 +02:00
Kornel Benko
d74c43e7a3 Cmake build: Remove use of policies which will be deprecated in near future
In order to prevent unpleasant surprises later.
(Cmake 3.8 already emits now warnings here.)
2017-04-30 18:12:13 +02:00
Kornel Benko
0f3b1539e8 Cmake build: Prefer using pyton3 over python2 2017-04-24 17:48:59 +02:00
Kornel Benko
fb79d6ed4f Cmake build: Enable std_regex over boost_regex again 2017-04-24 17:47:39 +02:00
Kornel Benko
5d4db9dcf5 Cmake build: Set cache variables correctly
In case of LYX_EXTERNAL_MYTHES==AUTO, the setting never made it into cache.
2017-03-25 12:43:53 +01:00
Kornel Benko
5d3d26b024 Cmake build: Adapt handling of mytheslib to automek behaviour
The added cmake-parameter is:
  -DLYX_EXTERNAL_MYTHES=<value>
where <value> is one of
  AUTO	(Default) Search first on system for mythes (lib and include)
  ON	Use installed only (errors if not installed)
  OFF	Compile the provided source in 3rdparty
2017-03-07 14:27:08 +01:00
Kornel Benko
15babdc0f1 Amend 0e50ad8 'move mythes sources to 3rdparty' for cmake build. 2017-03-06 19:31:23 +01:00
Kornel Benko
e78e58a7de Cmake build: Shuffle code around. 2016-09-12 11:04:14 +02:00
Kornel Benko
4f1095cdbc Cmake build: Specify the correct value of 'PACKAGE' define in config.h
This was wrong in case where no program suffix was allowed
Spotted by Scott.
2016-08-03 12:09:04 +02:00
Kornel Benko
7eea0b6fa8 Cmake build: Added code to compile with QT5.7
QT5.7 cmake config files explicitly instruct cmake to use `-std=gnu++11`.
This is not the same as is found by our FindCXX11Compiler.cmake,
which leads to compilation errors.
Here we overrule the setting.

Thanks to helpfull hand from Brad King <brad.king@kitware.com>
2016-07-15 10:37:18 +02:00
Scott Kostyshak
2b6f822bad Add CMake flag for keytests and disable by default
The keytests were previously enabled by default if the necessary
dependencies were found. They require a GUI and mouse so can
sometimes be annoying. Further, they are not currently reliable.
They are thus now disabled by default.
2016-07-13 04:52:46 -04: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
Kornel Benko
a51847f33f Cmake build: Split use of 3RDPARTY_BUILD to build individual libs
The split is now analogous to automake. The individual libs are handled
analogously to already handled boost.
automake config setting			cmake config settings
--with-included-iconv			-DLYX_EXTERNAL_ICONV=OFF
--with-included-zlib			-DLYX_EXTERNAL_Z=OFF
--with--included-hunspell		-DLYX_EXTERNAL_HUNSPELL=OFF
2016-07-05 16:07:03 +02:00
Georg Baum
5ef180842c Ensure that iconv and zlib are always found
If the included thirdparty libs are requested, use them, even on unix. This is
consistent with autotools (but the recommended way is of course to use the
system libs). If the included thirdparty libs are not requested then try to find
libiconv and zlib also on windows. This will lead to an error unless the libs are
found via manually added include and link paths, but this is wanted since
libiconv and zlib are not optional.
2016-07-02 11:09:26 +02:00
Georg Baum
03cfeae00a Make LyX compiled by MSVC 2015 run on Vista again
Patch and tests from Dima Ruinskiy, comments by me. For details see discussion
in bug 10186.
2016-07-01 22:05:55 +02:00
Georg Baum
48fd76d4bf Fix windows dependencies download
The paths and servers have changed, and a MSVC 2013 version is not provided
anymore.
2016-06-19 12:47:30 +02:00
Georg Baum
e307944d18 Require gcc 4.6
See also 5de30b1210
2016-06-15 22:04:51 +02:00
Kornel Benko
a71fba47ab Cmake windows build: Discard use of configCompiler.h.msvc
This file doubles the struggle when inventing new configuration tests.
Hopefully we get soon a confirmation if the withdraw is OK.
2016-06-15 11:29:09 +02:00
Kornel Benko
48bad4b581 Cmake build: Correct wrong comment 2016-06-11 12:44:15 +02:00
Kornel Benko
24a7dd45dc Cmake build: Determine availability of 'std::regex' if using clang compiler 2016-06-11 12:23:33 +02:00
Kornel Benko
f792837531 Cmake build: Finetune some destination data paths on UNIX 2016-06-10 13:40:38 +02:00
Georg Baum
2047ea5eb4 Replace Boost.Signals with Boost.Signals2
Boost.Signals is deprecated. This fixes bug #9943.
The only thing left to do is to rewrite (or get rid of) the boost -mt test
in config/lyxinclude.m4 not to use signals anymore.
2016-06-09 22:25:34 +02:00
Kornel Benko
8019732b39 Cmake build: Check for QPA_XCB when QT_USES_X11 is known
Since QT_USES_X11 is determined in ConfigureChecks
we have to check after this call
2016-06-08 09:21:48 +02:00
Georg Baum
273c67d8aa Require a C++11 compiler
As discussed on the list. If no C++11 compiler is found configuration stops
with an error. There are now unneeded parts of boost, the will be removed in
a second commit.
2016-06-07 20:34:52 +02:00
Kornel Benko
9dd695b17a Cmake build: Correct some installation paths 2016-06-07 14:38:20 +02:00
Kornel Benko
06539caccb Cmake build: Refactor determination of destination paths. 2016-06-06 08:29:07 +02:00
Kornel Benko
b5c87f2963 Cmake build: Set new installation paths
For a suffixed version (with suffix 2.3) and installation dir (/usr/local)
the new paths are:
binary -> /usr/local/bin
system-lib -> /usr/local/share/lyx2.3
fonts -> /usr/local/fonts/truetype/lyx2.3
manuals -> /usr/local/man/man1
locales -> /usr/local/share/locale
tex -> /usr/local/texmf/tex/latex/lyx2.3
2016-06-05 22:59:13 +02:00
Kornel Benko
7c0eba4d75 Cmake build: Allow user defined suffix for program files 2016-06-05 16:26:59 +02:00
Georg Baum
c2433d8b8f Implement gcc version check for cmake 2016-06-05 15:54:29 +02:00
Kornel Benko
4aa88e982a Use guard for QT5/XCB also for cmake build.
See commit d4428ceb81
from Enrico Forestieri
2016-04-09 11:53:55 +02:00
Kornel Benko
a413d667ca Set C++11 option defaulting to 'AUTO' as it is on autotools too.
Nothing changes for already cached values.
With fresh build-dir and in 'AUTO'-mode we try to determine if the c++ compiler
is able to use this feature.
2016-02-11 09:03:07 +01:00
Peter Kümmel
03e7e5cfb3 improve configuration with cmake-gui 2016-01-22 12:47:23 +01:00
Peter Kümmel
6e6f9ac3d0 man: use dummy path on Windows 2016-01-20 19:39:48 +01:00
Peter Kümmel
6dcecd9199 msvc: always build 3rdparty libs 2016-01-20 19:39:48 +01:00
Peter Kümmel
6e3a4ecfe7 mingw.bat: circumvent critical python detection
LyX could be build with a double click on mingw.bat.
2016-01-13 15:46:44 +01:00
Peter Kümmel
407bb15bde add batch file for MinGW build on Windows 2016-01-12 20:10:51 +01:00
Peter Kümmel
3c3141dc23 3rdparty/boost: build with cmake 2015-12-20 13:41:00 +01:00
Kornel Benko
435db257e6 Remove 3rdparty-build for iconv and zlib on unix. 2015-12-20 11:49:38 +01:00
Peter Kümmel
a3646a42a9 fix build for 3rdparty dir out of src/ 2015-12-15 13:20:13 +01:00