]> git.lyx.org Git - features.git/commitdiff
Revert "Amend 3093789e for cmake build"
authorKornel Benko <kornel@lyx.org>
Mon, 30 Nov 2020 09:17:40 +0000 (10:17 +0100)
committerKornel Benko <kornel@lyx.org>
Mon, 30 Nov 2020 09:19:22 +0000 (10:19 +0100)
This reverts commit b3d43404f4649e1a5539f1a819a07f8ae16fad7f.

14 files changed:
3rdparty/boost/libs/CMakeLists.txt [new file with mode: 0644]
3rdparty/boost/libs/regex/CMakeLists.txt [new file with mode: 0644]
3rdparty/boost/libs/regex/src/CMakeLists.txt [new file with mode: 0755]
CMakeLists.txt
INSTALL.cmake
development/cmake/configCompiler.h.cmake
development/cmake/modules/FindCXX11Compiler.cmake
src/client/CMakeLists.txt
src/frontends/CMakeLists.txt
src/frontends/tests/CMakeLists.txt
src/support/CMakeLists.txt
src/support/tests/CMakeLists.txt
src/tests/CMakeLists.txt
src/tex2lyx/CMakeLists.txt

diff --git a/3rdparty/boost/libs/CMakeLists.txt b/3rdparty/boost/libs/CMakeLists.txt
new file mode 100644 (file)
index 0000000..84da81e
--- /dev/null
@@ -0,0 +1,9 @@
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# Copyright (c) 2010-2011 Peter Kümmel, <syntheticpp@gmx.net>
+#
+
+project(boost)
+
+message(STATUS "Using std regex")
diff --git a/3rdparty/boost/libs/regex/CMakeLists.txt b/3rdparty/boost/libs/regex/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0b09b77
--- /dev/null
@@ -0,0 +1,26 @@
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# Copyright (c) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
+#
+
+project(boost_regex)
+
+set(boost_regex_sources
+       cpp_regex_traits.cpp
+       c_regex_traits.cpp
+       cregex.cpp
+       fileiter.cpp
+       instances.cpp
+       regex.cpp
+       regex_raw_buffer.cpp
+       regex_traits_defaults.cpp
+       static_mutex.cpp
+       w32_regex_traits.cpp)
+
+lyx_add_path(boost_regex_sources ${TOP_SRC_DIR}/3rdparty/boost/libs/regex/src)
+
+add_library(boost_regex STATIC ${boost_regex_sources})
+
+set_target_properties(boost_regex PROPERTIES FOLDER "3rd_party")
+
diff --git a/3rdparty/boost/libs/regex/src/CMakeLists.txt b/3rdparty/boost/libs/regex/src/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..5ec05a2
--- /dev/null
@@ -0,0 +1,39 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+# Look for the ICU library. If we find it, we'll compile in support for ICU
+include(FindICU)
+set(BOOST_REGEX_LIBRARIES)
+if (ICU_FOUND AND ICU_I18N_FOUND)
+  add_definitions(-DBOOST_HAS_ICU=1)
+  include_directories(${ICU_INCLUDE_DIRS})
+  set(BOOST_REGEX_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+boost_add_library(boost_regex
+   c_regex_traits.cpp
+   cpp_regex_traits.cpp
+   cregex.cpp
+   fileiter.cpp
+   instances.cpp
+   posix_api.cpp
+   regex.cpp
+   regex_debug.cpp
+   regex_raw_buffer.cpp
+   regex_traits_defaults.cpp
+   static_mutex.cpp
+   w32_regex_traits.cpp
+   wc_regex_traits.cpp
+   wide_posix_api.cpp
+   winstances.cpp 
+   usinstances.cpp 
+   LINK_LIBS ${BOOST_REGEX_LIBRARIES}
+   SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1)
+
+
+
+
+
index 59c9d7c5777486c3fd54a0f3285a3cb6ede99928..02a1b3000db773d74ea4fdf8114472b846107f4f 100644 (file)
@@ -231,6 +231,7 @@ LYX_COMBO(EXTERNAL_MYTHES   "OFF := Build 3rdparty lib mytheslib" AUTO OFF ON)
 
 # GCC specific
 LYX_OPTION(PROFILE              "Build with options for gprof" ${DefaultLyxProfile} GCC)
+LYX_OPTION(EXTERNAL_BOOST       "Use external boost" ${DefaultExternalLibs} GCC)
 LYX_OPTION(PROGRAM_SUFFIX       "Append version suffix to binaries" ON GCC)
 LYX_OPTION(DEBUG_GLIBC          "Enable libstdc++ debug mode" OFF GCC)
 LYX_OPTION(DEBUG_GLIBC_PEDANTIC "Enable libstdc++ pedantic debug mode" OFF GCC)
@@ -274,6 +275,11 @@ if (LYX_ENABLE_VALGRIND_TESTS)
                message(FATAL_ERROR "Cannot use valgrind tests, executable valgrind is missing. Please disable LYX_ENABLE_VALGRIND_TESTS")
        endif()
 endif()
+if (LYX_DEBUG_GLIBC OR LYX_DEBUG_GLIBC_PEDANTIC OR LYX_STDLIB_DEBUG)
+  if (LYX_EXTERNAL_BOOST)
+    message(FATAL_ERROR "Using external boost not compatible with debug mode for stdlib")
+  endif()
+endif()
 
 if(LYX_DMG)
        set(LYX_BUNDLE ON)
@@ -927,6 +933,13 @@ if(NOT LYX_EXTERNAL_DTL)
   add_subdirectory(3rdparty/dtl)
 endif()
 
+# Set only include path.
+# Use internal boost, which is known to exist
+# we don't need any libraries
+set(Lyx_Boost_Libraries)
+add_definitions(-DBOOST_USER_CONFIG=<config.h>)
+include_directories(${TOP_SRC_DIR}/3rdparty/boost)
+
 if(WIN32)
        if(LYX_CONSOLE)
                set(LYX_QTMAIN_LIBRARY)
@@ -978,9 +991,9 @@ if(LYX_PCH)
                                COMPILE_FLAGS "/Ycconfig.h /Fp\$(IntDir)/config.pch")
                        set(${name_}_sources ${${name_}_sources} ${TOP_BINARY_DIR}/config_pch.cpp
                                ${TOP_BINARY_DIR}/pcheaders.h)
-                       set(CMAKE_CXX_FLAGS_DEBUG       "${CMAKE_CXX_FLAGS_DEBUG} /DLYX_PCH_STL /DLYX_PCH_QT")
-                       set(CMAKE_CXX_FLAGS_RELEASE     "${CMAKE_CXX_FLAGS_RELEASE} /DLYX_PCH_STL /DLYX_PCH_QT")
-                       set(CMAKE_CXX_FLAGS_MINSIZEREL  "${CMAKE_CXX_FLAGS_MINSIZEREL} /DLYX_PCH_STL")
+                       set(CMAKE_CXX_FLAGS_DEBUG       "${CMAKE_CXX_FLAGS_DEBUG} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT")
+                       set(CMAKE_CXX_FLAGS_RELEASE     "${CMAKE_CXX_FLAGS_RELEASE} /DLYX_PCH_STL /DLYX_PCH_BOOST /DLYX_PCH_QT")
+                       set(CMAKE_CXX_FLAGS_MINSIZEREL  "${CMAKE_CXX_FLAGS_MINSIZEREL} /DLYX_PCH_STL /DLYX_PCH_BOOST")
                endmacro(lyx_add_msvc_pch)
                macro(lyx_add_gcc_pch name_)
                endmacro()
@@ -988,7 +1001,7 @@ if(LYX_PCH)
                macro(lyx_add_msvc_pch name_)
                endmacro()
                macro(lyx_add_gcc_pch name_)
-                       add_definitions(-DLYX_PCH_STL -DLYX_PCH_QT)
+                       add_definitions(-DLYX_PCH_STL -DLYX_PCH_BOOST -DLYX_PCH_QT)
                        ADD_PRECOMPILED_HEADER(${name_} ${TOP_BINARY_DIR}/config_pch.cpp ${TOP_BINARY_DIR}/config.h.gch)
                endmacro()
        endif()
index 5d4ed1c2cb69139367c8699a9be38dda1c4eb058..e0e7afde4cb740ee5ae1e4e20e8ef36ce42c91d7 100644 (file)
@@ -171,6 +171,7 @@ Build options
 
     # GCC specific 
     -- LYX_PROFILE              = OFF    : Build with options for gprof
+    -- LYX_EXTERNAL_BOOST       = OFF    : Use external boost
     -- LYX_PROGRAM_SUFFIX       = ON     : Append version suffix to binaries
     -- LYX_DEBUG_GLIBC          = OFF    : Enable libstdc++ debug mode
     -- LYX_DEBUG_GLIBC_PEDANTIC = OFF    : Enable libstdc++ pedantic debug mode
@@ -243,7 +244,7 @@ Visual Studio C++
     * for the 'Debug' and 'Release' build all precompiled headers are enabled
       to compile without pch (non file merge mode) This could be used to check
       if all necessary headers are included.
-        * use 'MinSizeRel' which only precompiles the STL headers
+        * use 'MinSizeRel' which only precompiles the STL and Boost headers
         * use 'RelWithDebInfo' which does not use any precompiled headers
 
 
index 232771aa97ea14b9b30b717341135579d0e476cc..9fce467818c48898e25349ee69f5e879fe91163c 100644 (file)
 #undef HAVE_MKDIR // use _mkdir instead
 #endif
 
+#define BOOST_ALL_NO_LIB 1
+
 #ifdef _DEBUG
 #  define ENABLE_ASSERTIONS 1
 #endif
 
+#ifndef ENABLE_ASSERTIONS
+#  define BOOST_DISABLE_ASSERTS 1
+#endif
+#define BOOST_ENABLE_ASSERT_HANDLER 1
+
+//#define BOOST_DISABLE_THREADS 1
+#define BOOST_NO_WSTRING 1
+
 #ifdef __CYGWIN__
 #  define _DEFAULT_SOURCE
+#  define BOOST_POSIX 1
+#  define BOOST_POSIX_API 1
+#  define BOOST_POSIX_PATH 1
 #endif
 
 #if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4
index 112ea128486efa4d1595ec390d369886b7706f3d..01d6e6c44c8e69213b29f4a6d77aee7d3eb2cb38 100644 (file)
@@ -36,7 +36,7 @@ INCLUDE(FindPackageHandleStandardArgs)
 
 # get cmake-known std numbers
 # Detection of c++20 works well, but our code is not ready for it yet.
-# We currently get errors from our code.
+# We currently get errors with internal boost and also from our code.
 set(_max_std_num 17)
 lyxgetknowncmakestd(${_max_std_num} tmpnums)
 
index 9a809c9e127f9dc79834e800e144c232da1ddf2e..95535e0a61707495d26871db21f8eff45a56e221 100644 (file)
@@ -16,12 +16,14 @@ list(REMOVE_ITEM _lyxclient_sources "${TOP_SRC_DIR}/src/client/lyxclient.cpp")
 
 include_directories(BEFORE
        "${TOP_SRC_DIR}/src/client"
+       "${TOP_SRC_DIR}/3rdparty/boost"
        ${ZLIB_INCLUDE_DIR})
 
 add_executable(${_lyxclient} ${_lyxclient_sources} ${_lyxclient_headers})
 
 target_link_libraries(${_lyxclient}
        support
+       ${Lyx_Boost_Libraries}
        ${ICONV_LIBRARY}
        ${QT_QTCORE_LIBRARY}
        ${QT_QTGUI_LIBRARY})
index 3ef216851108fafe39f76eb365bc561bc1b27570..97e1265dc827da543e9d40e9fdc3523977408330 100644 (file)
@@ -22,7 +22,7 @@ else()
 endif()
 set_target_properties(frontends PROPERTIES FOLDER "applications/LyX")
 
-#target_link_libraries(frontends)
+target_link_libraries(frontends ${Lyx_Boost_Libraries})
 
 project_source_group("${GROUP_CODE}" frontends_sources frontends_headers)
 
index e7f8efb7e8d857e1a8be4c1d7339e39d1bd4970e..f7712e5f18b59630a4b0ff9865fb5237f67f4cdc 100644 (file)
@@ -7,8 +7,8 @@ project(testFrontends)
 
 set(TESTS "test_biblio")
 
-add_executable(biblio biblio.cpp)
-#target_link_libraries(biblio)
+add_executable(biblio biblio.cpp boost.cpp)
+target_link_libraries(biblio ${Lyx_Boost_Libraries})
 add_dependencies(lyx_run_tests biblio)
 set_target_properties(biblio PROPERTIES FOLDER "tests/frontends")
 
index b851aef287b75c114a65c344f226fc21cc30b56b..99b43838dcf34e795520c32d01be25e1581a5c04 100644 (file)
@@ -82,7 +82,7 @@ set_target_properties(support PROPERTIES FOLDER "applications/LyX")
 
 qt_use_modules(support Core Gui)
 
-target_link_libraries(support ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARY})
+target_link_libraries(support ${Lyx_Boost_Libraries} ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARY})
 
 lyx_add_gcc_pch(support)
 
index 9ba00b028ad98d747e20f21496f0592e977a094e..e5ef4fa6a8f8ef65e13e57c7f0c26062f7ec80ba 100644 (file)
@@ -14,7 +14,7 @@ macro(sources _program)
        set(${_program}_SOURCES ${_tmplist})
        add_executable(${_program} ${_tmplist})
        target_link_libraries(${_program} support
-               ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
+               ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
                ${ZLIB_LIBRARY} ${ICONV_LIBRARY})
        lyx_target_link_libraries(${_program} Magic)
        if(CYGWIN)
@@ -39,7 +39,7 @@ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/regfiles")
 
 set(_depends)
 foreach(_src ${check_PROGRAMS})
-       sources(${_src} ${_src}.cpp dummy_functions.cpp)
+       sources(${_src} ${_src}.cpp dummy_functions.cpp boost.cpp)
        string(REPLACE "check_" "" _srcx ${_src})
        set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
        if (MSVC AND EXISTS "${src_data_file}.MSVC")
index 23b78c6061beb3e83522476afd29ea048d76a1b2..957e4c0cd77edef8c0b046a67d9047eefe42b8b9 100644 (file)
@@ -8,7 +8,7 @@ set(check_layout_SOURCES)
 foreach(_f insets/InsetLayout.cpp CiteEnginesList.cpp Color.cpp Counters.cpp Floating.cpp
        FloatList.cpp FontInfo.cpp Layout.cpp LayoutFile.cpp Lexer.cpp
        ModuleList.cpp Spacing.cpp TextClass.cpp tests/check_layout.cpp
-       tests/dummy_functions.cpp)
+       tests/boost.cpp tests/dummy_functions.cpp)
   list(APPEND check_layout_SOURCES "${TOP_SRC_DIR}/src/${_f}")
 endforeach()
 
@@ -17,7 +17,7 @@ include_directories(${TOP_SRC_DIR}/src/support/tests)
 add_executable(check_layout ${check_layout_SOURCES})
 
 target_link_libraries(check_layout support
-  ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
+  ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
   ${ZLIB_LIBRARY} ${ICONV_LIBRARY})
 if(CYGWIN)
     target_link_libraries(check_layout shlwapi)
@@ -67,7 +67,7 @@ endforeach()
 set(check_ExternalTransforms_SOURCES)
 foreach(_f graphics/GraphicsParams.cpp insets/ExternalTransforms.cpp
        tests/check_ExternalTransforms.cpp
-       tests/dummy_functions.cpp)
+       tests/boost.cpp tests/dummy_functions.cpp)
     list(APPEND check_ExternalTransforms_SOURCES ${TOP_SRC_DIR}/src/${_f})
 endforeach()
 
@@ -75,7 +75,7 @@ include_directories(${TOP_SRC_DIR}/src/tests)
 add_executable(check_ExternalTransforms ${check_ExternalTransforms_SOURCES})
 
 target_link_libraries(check_ExternalTransforms support
-       ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
+       ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
 lyx_target_link_libraries(check_ExternalTransforms Magic)
 
 add_dependencies(lyx_run_tests check_ExternalTransforms)
@@ -90,13 +90,13 @@ add_test(NAME "check_ExternalTransforms"
 add_dependencies(lyx_run_tests check_ExternalTransforms)
 
 set(check_Length_SOURCES)
-foreach(_f tests/check_Length.cpp tests/dummy_functions.cpp)
+foreach(_f tests/check_Length.cpp tests/boost.cpp tests/dummy_functions.cpp)
   list(APPEND check_Length_SOURCES ${TOP_SRC_DIR}/src/${_f})
 endforeach()
 add_executable(check_Length ${check_Length_SOURCES})
 
 target_link_libraries(check_Length support
-       ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
+       ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
 lyx_target_link_libraries(check_Length Magic)
 
 add_dependencies(lyx_run_tests check_Length)
@@ -112,13 +112,13 @@ add_dependencies(lyx_run_tests check_Length)
 
 include_directories(${TOP_SRC_DIR}/src/tests)
 set(check_ListingsCaption_SOURCES)
-foreach(_f tests/check_ListingsCaption.cpp tests/dummy_functions.cpp)
+foreach(_f tests/check_ListingsCaption.cpp tests/boost.cpp tests/dummy_functions.cpp)
   list(APPEND check_ListingsCaption_SOURCES ${TOP_SRC_DIR}/src/${_f})
 endforeach()
 add_executable(check_ListingsCaption ${check_ListingsCaption_SOURCES})
 
 target_link_libraries(check_ListingsCaption support
-       ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
+       ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
 lyx_target_link_libraries(check_ListingsCaption Magic)
 
 add_dependencies(lyx_run_tests check_ListingsCaption)
index 382857614a4a89d2e4c8e964cb8c42589f604ed3..2a68e7115090d938517dd509bfffe63788942892 100644 (file)
@@ -45,6 +45,7 @@ set_target_properties(${_tex2lyx} PROPERTIES
 
 target_link_libraries(${_tex2lyx}
        support
+       ${Lyx_Boost_Libraries}
        ${QT_QTCORE_LIBRARY}
        ${QT_QTGUI_LIBRARY}
        ${ICONV_LIBRARY})