lyx_mirror/development/cmake/config.h.cmake
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

133 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_STD_REGEX 1
// Define if callstack can be printed
#cmakedefine LYX_CALLSTACK_PRINTING 1
// Define if std::string uses copy-on-write
#cmakedefine STD_STRING_USES_COW 1
// use libc++ provided by llvm instead of GNU libstdc++
#cmakedefine USE_LLVM_LIBCPP 1
// use GNU libstdc++ with C++11 ABI
#cmakedefine USE_GLIBCXX_CXX11_ABI 1
#cmakedefine Z_PREFIX 1
${Include_used_spellchecker}
#cmakedefine AIKSAURUSLIB_FOUND 1
#ifdef AIKSAURUSLIB_FOUND
#define HAVE_LIBAIKSAURUS 1
#define AIKSAURUS_H_LOCATION "${AIKSAURUSLIB_H}"
#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