Browse Source

HPCC-14118 Update third party libraries and settings to support VS2015

Update BOOST to 1.60.0. Rebuild libarchive with VS2015
Also add new CMake policy to support CMake 3.x
xwang2713 9 years ago
parent
commit
bab8a3143f

+ 11 - 1
cmake_modules/FindBOOST_REGEX.cmake

@@ -43,7 +43,17 @@ IF (NOT BOOST_REGEX_FOUND)
         SET (boost_regex_lib "libboost_regex-mt.a")
       ENDIF()
     ELSEIF(WIN32)
-      SET (boost_regex_lib "boost_regex-vc90-mt-1_57.lib")
+      IF (MSVC14)
+         SET (boost_regex_lib "boost_regex-vc140-mt-1_60.lib")
+      ELSEIF (MSVC12)
+         SET (boost_regex_lib "boost_regex-vc120-mt-1_57.lib")
+      ELSEIF (MSVC10)
+         SET (boost_regex_lib "boost_regex-vc100-mt-1_57.lib")
+      ELSEIF (MSVC90)
+         SET (boost_regex_lib "boost_regex-vc90-mt-1_57.lib")
+      ELSE ()
+         SET (boost_regex_lib "boost_regex-mt.lib")
+      ENDIF()
     ENDIF()
     IF (NOT "${EXTERNALS_DIRECTORY}" STREQUAL "")
       IF (UNIX)

+ 3 - 0
cmake_modules/FindLIBARCHIVE.cmake

@@ -30,6 +30,9 @@ IF (NOT LIBARCHIVE_FOUND)
     ELSE ()
         SET (osdir "Win32")
     ENDIF ()
+    IF (MSVC_VERSION GREATER 1800)
+        SET (osdir "${osdir}_VS2015")
+    ENDIF ()
 
     FIND_PATH (LIBARCHIVE_INCLUDE_DIR NAMES archive.h PATHS "${EXTERNALS_DIRECTORY}/libarchive/${libarchive_ver}/include" NO_DEFAULT_PATH)
     FIND_LIBRARY (LIBARCHIVE_LIBRARIES NAMES ${libarchive_lib} PATHS "${EXTERNALS_DIRECTORY}/libarchive/${libarchive_ver}/lib/${osdir}" NO_DEFAULT_PATH)

+ 1 - 0
cmake_modules/commonSetup.cmake

@@ -40,6 +40,7 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
   cmake_policy ( SET CMP0011 NEW )
   if (NOT (CMAKE_MAJOR_VERSION LESS 3))
     cmake_policy ( SET CMP0026 OLD )
+    cmake_policy ( SET CMP0054 NEW )
   endif()
   option(CLIENTTOOLS "Enable the building/inclusion of a Client Tools component." ON)
   option(PLATFORM "Enable the building/inclusion of a Platform component." ON)

+ 1 - 5
lib2/CMakeLists.txt

@@ -26,11 +26,7 @@ if (APPLE)
 elseif (WIN32)
     #TODO:  Should find these dlls not assume them.
     if (NOT USE_NATIVE_LIBRARIES)
-      if (${ARCH64BIT} EQUAL 1)
-        find_file (BOOST_REGEX_BIN "boost_regex-vc90-mt-1_57.dll" "${EXTERNALS_DIRECTORY}/boost/windows-x86_64/lib" NO_DEFAULT_PATH)
-      else()
-        find_file (BOOST_REGEX_BIN "boost_regex-vc90-mt-1_57.dll" "${EXTERNALS_DIRECTORY}/boost/windows-i386/lib" NO_DEFAULT_PATH)
-      endif()
+      set (BOOST_REGEX_BIN "${BOOST_REGEX_LIBRARY_DIR}/${boost_regex_lib}")
     endif (NOT USE_NATIVE_LIBRARIES)
     if (${ARCH64BIT} EQUAL 1)
       find_file (ICU_DT_BIN "icudt54.dll" "${EXTERNALS_DIRECTORY}/icu/bin64" NO_DEFAULT_PATH)