瀏覽代碼

HPCC-20024 Build fails on Ubuntu 18.04 with default CMake settings

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 7 年之前
父節點
當前提交
b9b917ee40
共有 2 個文件被更改,包括 7 次插入1 次删除
  1. 6 0
      cmake_modules/FindBOOST_REGEX.cmake
  2. 1 1
      rtl/eclrtl/CMakeLists.txt

+ 6 - 0
cmake_modules/FindBOOST_REGEX.cmake

@@ -110,6 +110,12 @@ IF (NOT BOOST_REGEX_FOUND)
         link_directories(${BOOST_REGEX_LIBRARY_DIR})
         set (BOOST_REGEX_LIBRARIES "")  # the actual library to use is controlled by boost header files
       ENDIF()
+      IF(EXISTS "${BOOST_REGEX_INCLUDE_DIR}/boost/version.hpp")
+        FILE (STRINGS "${BOOST_REGEX_INCLUDE_DIR}/boost/version.hpp" BOOST_REGEX_VERSION REGEX "#define *BOOST_VERSION [0-9]*")
+        STRING(REGEX REPLACE "#define *BOOST_VERSION *" "" BOOST_REGEX_VERSION "${BOOST_REGEX_VERSION}")
+        MESSAGE("BOOST_REGEX_VERSION is ${BOOST_REGEX_VERSION}")
+      ENDIF()
+      
     ENDIF()
     MARK_AS_ADVANCED(BOOST_REGEX_INCLUDE_DIR BOOST_REGEX_LIBRARIES)
   ENDIF (WIN32 AND USE_NATIVE_LIBRARIES)

+ 1 - 1
rtl/eclrtl/CMakeLists.txt

@@ -80,7 +80,7 @@ include_directories (
 ADD_DEFINITIONS( -D_USRDLL -DECLRTL_EXPORTS )
 
 if (USE_BOOST_REGEX)
-    if ((CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) AND NOT ICU_REQUIRES_CPP11)
+    if ((CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) AND (${BOOST_REGEX_VERSION} LESS 105700) AND NOT ICU_REQUIRES_CPP11)
         set_source_files_properties(eclregex.cpp PROPERTIES COMPILE_FLAGS -std=c++98)
     endif ()