Преглед изворни кода

macOS client tools with MacPorts support

Signed-off-by: Dan S. Camper <dan.camper@lexisnexisrisk.com>
Dan S. Camper пре 6 година
родитељ
комит
b4f96acb07

+ 6 - 2
cmake_modules/FindAPR.cmake

@@ -31,12 +31,14 @@ FIND_PATH(APR_INCLUDE_DIR apr.h
 /usr/local/include/apr-1.0
 /usr/include/apr-1
 /usr/include/apr-1.0
+/opt/local/include/apr-1
+/opt/local/include/apr-1.0
 )
 
 SET(APR_NAMES ${APR_NAMES} apr-1)
 FIND_LIBRARY(APR_LIBRARY
   NAMES ${APR_NAMES}
-  PATHS /usr/lib /usr/local/lib
+  PATHS /usr/lib /usr/local/lib /opt/local/lib
   )
 
 IF (APR_LIBRARY AND APR_INCLUDE_DIR)
@@ -73,12 +75,14 @@ FIND_PATH(APRUTIL_INCLUDE_DIR apu.h
 /usr/local/include/apr-1.0
 /usr/include/apr-1
 /usr/include/apr-1.0
+/opt/local/include/apr-1
+/opt/local/include/apr-1.0
 )
 
 SET(APRUTIL_NAMES ${APRUTIL_NAMES} aprutil-1)
 FIND_LIBRARY(APRUTIL_LIBRARY
   NAMES ${APRUTIL_NAMES}
-  PATHS /usr/lib /usr/local/lib
+  PATHS /usr/lib /usr/local/lib /opt/local/lib
   )
 
 IF (APRUTIL_LIBRARY AND APRUTIL_INCLUDE_DIR)

+ 2 - 2
cmake_modules/FindCBLAS.cmake

@@ -30,7 +30,7 @@ if(NOT CBLAS_FOUND)
         CBLAS_LIBRARIES 
         CBLAS_INCLUDE_DIR)
 
-    if (APPLE)
+    if (APPLE AND ${CMAKE_SYSTEM_VERSION} VERSION_LESS "18.2.0") # 18.2.0 is macOS Mojave (10.14)
       set(LIB_TO_DO ${CBLAS_LIBRARIES})
 
       set(CBLAS_DEPS_LIBS "")
@@ -54,7 +54,7 @@ if(NOT CBLAS_FOUND)
           set(LIB_TO_DO "${otoolOut}")
         endif()
       endforeach()
-    endif(APPLE)
+    endif()
 
     mark_as_advanced(CBLAS_INCLUDE_DIR CBLAS_LIBRARIES)
 endif()

+ 5 - 0
cmake_modules/FindLIBARCHIVE.cmake

@@ -36,6 +36,11 @@ IF (NOT LIBARCHIVE_FOUND)
 
     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)
+  ELSEIF(APPLE)
+    # We want to ignore any libraries provided by the OS
+    SET (libarchive_lib "archive")
+    FIND_PATH(LIBARCHIVE_INCLUDE_DIR NAMES archive.h /opt/local/include /usr/local/include /usr/local/Cellar)
+    FIND_LIBRARY(LIBARCHIVE_LIBRARIES NAMES ${libarchive_lib} PATHS /opt/local/lib /usr/local/lib /usr/local/Cellar NO_DEFAULT_PATH)
   ELSE()
     SET (libarchive_lib "archive")
     FIND_PATH (LIBARCHIVE_INCLUDE_DIR NAMES archive.h)

+ 6 - 2
cmake_modules/FindOPENSSL.cmake

@@ -25,7 +25,7 @@
 IF (NOT OPENSSL_FOUND)
   IF (WIN32)
     SET (ssl_lib "libssl.lib")
-  ELSEIF ("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" )
+  ELSEIF (APPLE)
     SET (ssl_lib "libssl.dylib")
   ELSE()
     SET (ssl_lib "libssl.so")
@@ -46,7 +46,11 @@ IF (NOT OPENSSL_FOUND)
     ELSE()
       SET (osdir "unknown")
     ENDIF()
-    IF (NOT ("${osdir}" STREQUAL "unknown"))
+    IF (APPLE)
+      # We want to ignore any libraries provided by the OS
+      FIND_PATH (OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h PATHS /opt/local/include /usr/local/include NO_DEFAULT_PATH)
+      FIND_LIBRARY (OPENSSL_LIBRARIES NAMES ${ssl_lib} PATHS /opt/local/lib /usr/local/lib NO_DEFAULT_PATH)
+    ELSEIF (NOT ("${osdir}" STREQUAL "unknown"))
       FIND_PATH (OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h PATHS "${EXTERNALS_DIRECTORY}/openssl/1.1/${osdir}/include" NO_DEFAULT_PATH)
       FIND_LIBRARY (OPENSSL_LIBRARIES NAMES ${ssl_lib} PATHS "${EXTERNALS_DIRECTORY}/openssl/1.1/${osdir}/lib" NO_DEFAULT_PATH)
     ENDIF()

+ 4 - 1
cmake_modules/commonSetup.cmake

@@ -178,7 +178,10 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
     set(LIBMEMCACHED_MINVERSION "1.0.10")
     if(USE_LIBMEMCACHED)
       if(WIN32)
-        message(STATUS "libmemcached not available on windows.  Disabling for build")
+        message(STATUS "libmemcached not available on Windows.  Disabling for build")
+        set(USE_LIBMEMCACHED OFF)
+      elseif(APPLE)
+        message(STATUS "libmemcached not available on macOS.  Disabling for build")
         set(USE_LIBMEMCACHED OFF)
       else()
         find_package(LIBMEMCACHED ${LIBMEMCACHED_MINVERSION} REQUIRED)

+ 1 - 1
plugins/cassandra/CMakeLists.txt

@@ -70,7 +70,7 @@ if(USE_CASSANDRA)
   install(CODE "set(ENV{LD_LIBRARY_PATH} \"\$ENV{LD_LIBRARY_PATH}:${PROJECT_BINARY_DIR}:${PROJECT_BINARY_DIR}/.libs:${PROJECT_BINARY_DIR}/cassandra\")")
   if(APPLE)
     install(
-      FILES ${LIBUV_LIBRARY} ${PROJECT_BINARY_DIR}/libuv/.libs/libuv.1${CMAKE_SHARED_LIBRARY_SUFFIX}
+      FILES ${LIBUV_LIBRARY} ${PROJECT_BINARY_DIR}/.libs/libuv.1${CMAKE_SHARED_LIBRARY_SUFFIX}
       DESTINATION ${LIB_DIR}
       COMPONENT Runtime)
   else()

+ 3 - 3
plugins/unicodelib/unicodelib.cpp

@@ -218,7 +218,7 @@ int doUnicodeCompareAtStrength(unsigned src1Len, UChar const * src1, unsigned sr
     UErrorCode error = U_ZERO_ERROR;
     Collator * coll = Collator::createInstance(error);
     coll->setStrength(strength);
-#if U_ICU_VERSION_MAJOR_NUM>=58
+#if U_ICU_VERSION_MAJOR_NUM>=59
     Collator::EComparisonResult ret = coll->compare((char16_t *)src1, src1Len, (char16_t *)src2, src2Len);
 #else
     Collator::EComparisonResult ret = coll->compare(src1, src1Len, src2, src2Len);
@@ -233,7 +233,7 @@ int doUnicodeLocaleCompareAtStrength(unsigned src1Len, UChar const * src1, unsig
     Locale locale(localename);
     Collator * coll = Collator::createInstance(locale, error);
     coll->setStrength(strength);
-#if U_ICU_VERSION_MAJOR_NUM>=58
+#if U_ICU_VERSION_MAJOR_NUM>=59
     Collator::EComparisonResult ret = coll->compare((char16_t *)src1, src1Len, (char16_t *)src2, src2Len);
 #else
     Collator::EComparisonResult ret = coll->compare(src1, src1Len, src2, src2Len);
@@ -1011,7 +1011,7 @@ static void appendUnicode(MemoryBuffer & result, const UnicodeString & source, i
 {
     result.append((unsigned)length);
     UChar * target = (UChar *)result.reserve(length * sizeof(UChar));
-#if U_ICU_VERSION_MAJOR_NUM>=58
+#if U_ICU_VERSION_MAJOR_NUM>=59
     source.extractBetween(from, from+length, (char16_t *) target, 0);
 #else
     source.extractBetween(from, from+length, target, 0);

+ 2 - 2
rtl/eclrtl/eclregex.cpp

@@ -277,7 +277,7 @@ public:
     {
         matched = false;
 
-#if U_ICU_VERSION_MAJOR_NUM>=58
+#if U_ICU_VERSION_MAJOR_NUM>=59
         sample.setTo((const char16_t *) (_str + _from), _len);
 #else
         sample.setTo(_str + _from, _len);
@@ -404,7 +404,7 @@ public:
         UErrorCode uerr = U_ZERO_ERROR;
         UnicodeString uStrSearch;
 
-#if U_ICU_VERSION_MAJOR_NUM>=58
+#if U_ICU_VERSION_MAJOR_NUM>=59
         uStrSearch.setTo((const char16_t *) _search, _srcLen);
 #else
         uStrSearch.setTo(_search, _srcLen);