Commit Graph

74 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
d7e2ca377f Get rid of QPA_XCB define
Since the platform is selected at run time (e.g. xcb vs. Wayland), it
is not a good idea to decide at compile time what code is run. Another
example is on macOS, where having xcb libraries available will lead to
lauching the Xquartz whenever LyX is running.

With this patch, things are separated:
- the code is run when run-time platform is "xcb".
- the support code is compiled in when xcb header and libraries are
  available.

The cmake code is courtesy of Kornel Benko.

Fixes ticket #13086.

(cherry picked from commit 18c310a8cf)
(cherry picked from commit f1fddd86ef)
(cherry picked from commit 3bc4554e57)
(cherry picked from commit 8c14748e78)
2024-08-31 15:07:29 +02:00
Yuriy Skalko
f3ec89cfa1 Always use std::regex
Since now minimum supported GCC is 4.9.
2020-11-27 12:39:59 +02:00
Kornel Benko
43b81becc6 Cmake config: Rename some variables to match the ones used by automake
LYX_RELEASE_VERSION renamed to LYX_RELEASE_VERSION
and got the new value of
LYX_RELEASE_PATCH
from configure.ac too
2020-01-17 14:25:57 +01:00
Kornel Benko
08afacc239 Cmake build: Adapt use of some variables
1.) Rename LYX_PATCH_VERSION to LYX_RELEASE_VERSION.
  This matches the use in automake.
2.) Don't display LYX_DATE at configure time.
  This value is evaluated later at build time
2018-06-03 09:16:55 +02:00
Jean-Marc Lasgouttes
63a4e82874 Add support for enchant 2.x
As of enchant 2.x, it is required to create a Broker instance instead
of relying on a static one provided by the library.

Add autoconf and cmake (courtesy of Kornel) tests that check whether
one can indeed instantiate a Broker object, and act on the result in a
new broker() helper function.

Fixes bug #10986.
2018-01-30 12:11:22 +01: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
15babdc0f1 Amend 0e50ad8 'move mythes sources to 3rdparty' for cmake build. 2017-03-06 19:31:23 +01:00
Kornel Benko
2d49342ce3 Cmake build: Amend 41e409f8: Use std::call_once only if it is actually available 2016-08-07 11:32:53 +02:00
Kornel Benko
8a15df6d65 Amend cb0c881 2016-07-10 22:14:08 +02:00
Kornel Benko
2da1c956e4 Cmake build: Check for make_unique and PATH_MAX symbols added. 2016-06-12 19:56:31 +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
13bf0f3275 Ammend 4aa88e9 2016-04-09 12:21:16 +02:00
Kornel Benko
46d2344902 Cmake build: Adapt detection of C++11 mode to automake 2015-09-03 11:15:10 +02:00
Kornel Benko
a911b1cc65 Cmake build: Define LYX_USE_CXX11 iff using c++11 extensions after commit 329eae5605. 2015-05-20 12:07:41 +02:00
Georg Baum
51cc8aa9f6 Fix build with GNU libstdc++ C++11 ABI
The GNU libstdc++ that ships witch gcc 5 can be used with the same ABI as
older versions, or with a new ABI which is conformant to the C++11 standard.
LyX did not build if the latter was used:
https://kojipkgs.fedoraproject.org//work/tasks/1267/9651267/build.log

This is now fixed by detecting the ABI version and disabling the wrong forward
declarations. At the same time, STD_STRING_USES_COW is switched off for the
C++11 ABI version, because the std::basic_string implementation is now C++11
conformant. Since the GNU libstdc++ can also used by other compilers such as
clang, we must not test for the compiler version.
2015-05-08 21:12:42 +02: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
7796ad3a36 Improve llvm libc++ detection
The old detection did only work if CFLAGS contained -std=c++11, since ciso646
was only included for __cplusplus > 199711.
Thanks to Koernel for the cmake part.
2014-12-21 17:26:21 +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
Kornel Benko
07683c1f0d Cmake build: 'callstack printing' detection.
Instead of depending on compiler we try to check for working
API as is done now for automake build too.
2014-11-09 12:59:14 +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
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
Kornel Benko
f82883b097 Cmake build: Unify defines for spellchecker in config.h 2014-05-13 14:52:11 +02:00
Vincent van Ravesteijn
a3c864102a CMake: Remove libintl 2013-05-30 22:10:01 +02:00
Vincent van Ravesteijn
4738ba0f1a qt5: Fix use of zlib using config.h 2013-05-14 17:34:53 +02:00
Kornel Benko
24206e2c67 Cmake build:
Partially revert 75d63ad1f2
It caused recompiling everything at each commit.
Now use definition of LYX_DATE only when compiling version.cpp
2012-10-15 13:16:08 +02:00
Kornel Benko
8217df8a68 Cmake build:
Handle option "LYX_DEVEL_VERSION" to add the preprocesor definition of DEVEL_VERSION
The effect should be alike the configure parameter "--enable-build-type=dev"
2012-10-09 21:52:17 +02:00
Kornel Benko
45b61c6ecf 1.) Corrected internal compilation for Libintl
2.) Changed cmake-files accordingly
Patch from Jean-Marc Lasgouttes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38606 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-06 19:24:54 +00:00
Kornel Benko
4a8698c808 Define LYX_(MAJOR|MINOR)_VERSION also for cmake build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37580 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 06:16:12 +00:00
Peter Kümmel
99160cd715 cmkae: more cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34966 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 09:46:46 +00:00
Peter Kümmel
23cfb00ef1 cmake: more cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34964 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 07:38:00 +00:00
Peter Kümmel
9060f01aa8 cmake: split out FindHunspell.cmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34961 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-18 06:47:01 +00:00
Peter Kümmel
f151f3a30f cmake: sync with branch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34953 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 22:24:08 +00:00
Peter Kümmel
56a7a67783 add first version of .lyx file encryption. It's disabled by default and could out-of-the-box only by compiled on Linux with cmake and with openssl-devel packeges.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34931 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 12:26:11 +00:00
Peter Kümmel
a24a1e3bfe cmake: fix merged build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34905 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-15 14:25:59 +00:00
Peter Kümmel
69036ced37 TR1: move TR1 check to config.h / buildsystem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34729 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-30 10:53:45 +00:00
Peter Kümmel
38628558a6 cmake: more merged build fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34274 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-23 09:10:35 +00:00
Kornel Benko
2e1e1de8d0 Missing definition of PACKAGE_STRING
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34070 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-07 12:30:43 +00:00
Peter Kümmel
3f379915a6 CMake: fix merged build, seems GCC could not handle the namespaces correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33272 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-30 11:34:28 +00:00
Kornel Benko
a897a1189a Remove now unneeded checks for mythes and aiksaurus.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29579 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-09 06:57:25 +00:00
Kornel Benko
1b0d8fd5f1 Added support for Aiksaurus-build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29399 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-25 13:43:52 +00:00
Kornel Benko
ced1b3530b Added libmythes to lyx-build
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29334 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-19 15:04:20 +00:00
Peter Kümmel
2ef89683a3 development/cmake/CMakeLists.txt
Expanded parsing of configure.ac to get also the BUGREPORT value
		Added creation of red hat- and debian-packages

	Kornel


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28483 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-13 21:37:08 +00:00
Peter Kümmel
fb3d47a14d Changes:
development/cmake/CMakeLists.txt
		Use lowercase for PACKAGE iff (USE_POSIX_PACKAGING)
		Set correct PROGRAM_SUFFIX,
			CMakeLists.txt in subdirectories depend now on it
		Define PACKAGE_BASE depending on  PACKAGING type
			for use in subsequent directories
	development/cmake/config.h.cmake
		typo: PPROGRAM_SUFFIX --> PROGRAM_SUFFIX
	development/cmake/src/tex2lyx/CMakeLists.txt +
	+ development/cmake/src/CMakeLists.txt +
	+ development/cmake/src/client/CMakeLists.txt +
	+ development/cmake/man/CMakeLists.txt
		added desired version-info to executables and manuals
			tex2lyx, lyx, lyxclient respectivelly

	Kornel



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28438 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-10 22:21:39 +00:00
Peter Kümmel
510c918c6c Kornel's cmake install changes:
New files:
        Directories:
		development/cmake/po
		development/cmake/man
        Files:
		development/cmake/po/CMakeLists.txt
			Creates lyx.pot and *.gmo-files;
			Installs ${_lang} as ${LYX_ABS_INSTALLED_DATADIR}/${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES/lyx.mo
		development/cmake/man/CMakeLists.txt
			Handling of lyx-manuals.
		development/cmake/modules/FindLyXGettext.cmake
			Original: (GNU) FindGettext.cmake
			Changed the installation subdirectory of .gmo-files.
			Previously installing into "/usr/local/share/lyx2.0" led
				   to e.g. /usr/local/share/lyx2.0/share/locale/de/LC_MESSAGES/lyx.mo
				   now     /usr/local/share/lyx2.0/locale/de/LC_MESSAGES/lyx.mo
Changes:
        development/cmake/Install.cmake
                macro lyx_install _parent_src_dir
                        searches now through directories specified as simple regular expression.
                        Until now we had to specify explicitly each directory for each language.
                Mode of the DESTINATION/lyx2lyx is now corect
                Installation of the .gmo files

	development/cmake/config.h.cmake:
		Changed some #cmakedefine to #define, because config_file() did not
        	substitute the desired values in config.h.
        	Some typos corrected (TOP_SRCDIR -> TOP_SRC_DIR)

        development/cmake/configCompiler.h.cmake
                Removed doubly defined ENABLE_NLS, HAVE_LC_MESSAGES
                Installation directory still hardcoded, users need to to set environment
                variable LYX_LOCALEDIR to get the corect translations.

	development/cmake/CMakeLists.txt
		Setting correct values to LYX_ABS_INSTALLED_DATADIR,
        		LYX_ABS_INSTALLED_LOCALEDIR, LYX_ABS_TOP_SRCDIR.
			Now the lyx-executable searches on the installed places for it's data,
        		so no need to set environment anymore.
		New variable: LYX_LOCALEDIR. We need it later in FindLyXGettext.cmake,
		    	because we cannot use the absolute path LYX_ABS_INSTALLED_LOCALEDIR.
			(We need relative path when packaging to different root-directory).
                Use of module FindLyXGettext.cmake: This is a modified version
		       	of (GNU) FindGettext.cmake
                Include the new development/cmake/po directory
		Include the new development/cmake/man directory

        development/cmake/po/CMakeLists.txt
                Creation of lyx.pot and apropriate .gmo files
                Creating lyx.pot file
                        I had to use perl to simulate the unix "cat" command. Maybe Jose can
                        write the corect statement in python





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27973 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-28 13:35:29 +00:00
Peter Kümmel
f712b9840f cmake: add endian check, thx to Jose and pdv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26469 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 19:43:52 +00:00
Enrico Forestieri
bc72d3fc58 Automate setting of LYX_DIR_XXx and LYX_USERDIR_XXx environment variable names.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25898 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-26 10:45:38 +00:00
Peter Kümmel
eec779b2c9 cmake: buffer msvc's compiler settings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21908 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 10:29:25 +00:00
André Pönitz
d65a564adf remove special handling of Package.cpp[.in]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19840 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 21:29:56 +00:00
Peter Kümmel
329d8d1332 update to new version.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19628 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-18 12:09:08 +00:00
Jürgen Spitzmüller
c3d9485c5a * configure.ac:
* development/cmake/config.h.cmake:
* development/scons/SConstruct:
	- fix casing of __FreeBSD__ macro, also check for __FreeBSD_kernel__
	  (fixes bug 3537)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19066 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-13 14:21:50 +00:00