]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Mark a number of coverity false positives.
[lyx.git] / CMakeLists.txt
index 4d410b75b0fadcbb8077be56beb60e4a991d0f7c..1a52accec9286be40096d41271ba2aab2a7cdb03 100644 (file)
@@ -260,17 +260,28 @@ if(NOT CXX11COMPILER_FOUND)
 endif()
 set(LYX_GCC11_MODE)
 if(UNIX OR MINGW)
-       execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-       message(STATUS "Using GCC version ${GCC_VERSION}")
-       if(GCC_VERSION VERSION_LESS 4.9)
-               if(GCC_VERSION VERSION_LESS 4.3)
-                       message(FATAL_ERROR "gcc >= 4.3 is required.")
-               endif()
-               # <regex> in gcc is unusable in versions less than 4.9.0
-               # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
-               set(LYX_USE_STD_REGEX 0)
+       if (CMAKE_CXX_COMPILER_ID MATCHES "^[cC]lang$")
+         # ignore the GCC_VERSION for clang
+         # and use the resulting CXX11_STD_REGEX found in FindCXX11Compiler.cmake
+         message(STATUS "Using clang")
+         if(CXX11_STD_REGEX)
+           set(LYX_USE_STD_REGEX 1)
+         else()
+           set(LYX_USE_STD_REGEX 0)
+         endif()
        else()
-               set(LYX_USE_STD_REGEX 1)
+         execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+         message(STATUS "Using GCC version ${GCC_VERSION}")
+         if(GCC_VERSION VERSION_LESS 4.9)
+                 if(GCC_VERSION VERSION_LESS 4.3)
+                         message(FATAL_ERROR "gcc >= 4.3 is required.")
+                 endif()
+                 # <regex> in gcc is unusable in versions less than 4.9.0
+                 # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
+                 set(LYX_USE_STD_REGEX 0)
+         else()
+                 set(LYX_USE_STD_REGEX 1)
+         endif()
        endif()
        set(LYX_GCC11_MODE "${CXX11_FLAG}")
 else()
@@ -430,7 +441,13 @@ if(LYX_INSTALL_PREFIX)
 endif()
 set(LYX_INSTALL_PREFIX ${LYX_INSTALL_PREFIX} CACHE PATH "LyX user's choice install prefix" FORCE)
 
-string(REGEX REPLACE "/lyx${LYX_INSTALL_SUFFIX}$" "/share" SYSTEM_DATADIR ${CMAKE_INSTALL_PREFIX})
+if(UNIX)
+  set(SYSTEM_DATADIR "${CMAKE_INSTALL_PREFIX}/share")
+elseif(CMAKE_INSTALL_PREFIX MATCHES "/lyx${LYX_INSTALL_SUFFIX}$")
+  string(REGEX REPLACE "/lyx${LYX_INSTALL_SUFFIX}$" "/share" SYSTEM_DATADIR ${CMAKE_INSTALL_PREFIX})
+else()
+  set(SYSTEM_DATADIR "${CMAKE_INSTALL_PREFIX}")
+endif()
 
 if(LYX_PACKAGE_SUFFIX)
        set(PACKAGE ${PACKAGE_BASE}${LYX_INSTALL_SUFFIX})
@@ -701,10 +718,8 @@ endif()
 
 if(LYX_EXTERNAL_BOOST)
        message(STATUS "Searching for boost")
-       if(LYX_USE_STD_REGEX)
-               find_package(Boost COMPONENTS signals)
-       else()
-               find_package(Boost COMPONENTS signals regex)
+       if(NOT LYX_USE_STD_REGEX)
+               find_package(Boost COMPONENTS regex)
        endif()
        if(Boost_FOUND)
                message(STATUS "Boost found")
@@ -721,13 +736,10 @@ if(LYX_EXTERNAL_BOOST)
                message(FATAL_ERROR "Boost not found" ${Boost_ERROR_REASON})
        endif()
 else()
-       if(LYX_USE_STD_REGEX)
-               set(Lyx_Boost_Libraries boost_signals)
-       else()
-               set(Lyx_Boost_Libraries boost_signals boost_regex)
+       if(NOT LYX_USE_STD_REGEX)
+               set(Lyx_Boost_Libraries boost_regex)
        endif()
        add_definitions(-DBOOST_USER_CONFIG="<config.h>")
-       add_definitions(-DBOOST_SIGNALS_NO_DEPRECATION_WARNING=1)
        include_directories(${TOP_SRC_DIR}/3rdparty/boost)
        add_subdirectory(3rdparty/boost "${TOP_BINARY_DIR}/3rdparty/boost")
 endif()