lyx_mirror/development/cmake/config.h.cmake
Georg Baum be41e2d16f 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-12 21:24:05 +02:00

138 lines
2.5 KiB
CMake

/*
* \file config.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* This is the compilation configuration file for LyX.
* It was generated by cmake.
* You might want to change some of the defaults if something goes wrong
* during the compilation.
*/
#ifndef _CONFIG_H
#define _CONFIG_H
// obligatory flags
#define QT_NO_STL 1
#define QT_NO_KEYWORDS 1
#define HAVE_ICONV 1
#include "configCompiler.h"
#ifdef LYX_ENABLE_PCH
#include "pcheaders.h"
#endif
#cmakedefine LYX_DEVEL_VERSION 1
#if defined(LYX_DEVEL_VERSION)
#define DEVEL_VERSION 1
#else
#undef DEVEL_VERSION
#endif
#cmakedefine PACKAGE "${PACKAGE}"
#cmakedefine PACKAGE_VERSION "${PACKAGE_VERSION}"
#define PACKAGE_STRING "LyX ${PACKAGE_VERSION}"
#cmakedefine PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}"
#cmakedefine VERSION_INFO "${VERSION_INFO}"
#cmakedefine LYX_DIR_VER "${LYX_DIR_VER}"
#cmakedefine LYX_USERDIR_VER "${LYX_USERDIR_VER}"
#define LYX_MAJOR_VERSION ${LYX_MAJOR_VERSION}
#define LYX_MINOR_VERSION ${LYX_MINOR_VERSION}
#define PROGRAM_SUFFIX "${PROGRAM_SUFFIX}"
#define LYX_ABS_INSTALLED_DATADIR "${LYX_ABS_INSTALLED_DATADIR}"
#define LYX_ABS_INSTALLED_LOCALEDIR "${LYX_ABS_INSTALLED_LOCALEDIR}"
#define LYX_ABS_TOP_SRCDIR "${TOP_SRC_DIR}"
#cmakedefine USE_POSIX_PACKAGING 1
#cmakedefine USE_WINDOWS_PACKAGING 1
#cmakedefine USE_MACOSX_PACKAGING 1
#cmakedefine PATH_MAX ${PATH_MAX}
#cmakedefine WORDS_BIGENDIAN 1
#cmakedefine LYX_MERGE_FILES 1
#cmakedefine LYX_USE_TR1 1
#cmakedefine LYX_USE_TR1_REGEX 1
// use GNU libstdc++ with C++11 ABI
#cmakedefine USE_GLIBCXX_CXX11_ABI 1
#cmakedefine Z_PREFIX 1
#cmakedefine ASPELL_FOUND 1
#ifdef ASPELL_FOUND
#define USE_ASPELL 1
#endif
#cmakedefine AIKSAURUSLIB_FOUND 1
#ifdef AIKSAURUSLIB_FOUND
#define HAVE_LIBAIKSAURUS 1
#define AIKSAURUS_H_LOCATION "${AIKSAURUSLIB_H}"
#endif
#cmakedefine ENCHANT_FOUND 1
#ifdef ENCHANT_FOUND
#define USE_ENCHANT 1
#endif
#cmakedefine HUNSPELL_FOUND 1
#ifdef HUNSPELL_FOUND
#define USE_HUNSPELL 1
#endif
#cmakedefine LYX_NLS 1
#ifdef LYX_NLS
#define ENABLE_NLS 1
#endif
#endif // config.h guard
// Unguarded cleanup of global namespace:
#ifdef ColorMode
#undef ColorMode
#endif
#ifdef FocusOut
#undef FocusOut
#endif
#ifdef FocusIn
#undef FocusIn
#endif
#ifdef KeyRelease
#undef KeyRelease
#endif
#ifdef CursorShape
#undef CursorShape
#endif
#ifdef IGNORE
#undef IGNORE
#endif
#ifdef GrayScale
#undef GrayScale
#endif
#ifdef Status
#undef Status
#endif
#ifdef IN
#undef IN
#endif
#ifdef KeyPress
#undef KeyPress
#endif