]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Change ordering of libraries to check for POSIX regular expression support.
authorAndres Mejia <amejia004@gmail.com>
Sat, 2 Feb 2013 04:54:33 +0000 (23:54 -0500)
committerAndres Mejia <amejia004@gmail.com>
Sat, 2 Feb 2013 04:54:33 +0000 (23:54 -0500)
New ordering is now LIBC followed by LIBREGEX followed by LIBPCREPOSIX.

CMakeLists.txt

index 3f12737d6aa501b78fec792f8a7bbbb1888ad31e..5dc5d1bd110e109f9cd0007bf53b5afd6801dc7d 100644 (file)
@@ -912,32 +912,7 @@ MARK_AS_ADVANCED(CLEAR LIBXML2_LIBRARIES)
 #
 # POSIX Regular Expression support
 #
-IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
-  #
-  # If requested, try finding library for PCREPOSIX
-  #
-  FIND_PACKAGE(PCREPOSIX)
-  IF(PCREPOSIX_FOUND)
-    SET(HAVE_LIBPCREPOSIX 1)
-    SET(HAVE_LIBPCRE 1)
-    SET(HAVE_PCREPOSIX_H 1)
-    INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR})
-    LIST(APPEND ADDITIONAL_LIBS ${PCREPOSIX_LIBRARIES})
-    # Test if a macro is needed for the library.
-    TRY_MACRO_FOR_LIBRARY(
-      "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}"
-      COMPILES
-      "#include <pcreposix.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
-      "WITHOUT_PCRE_STATIC;PCRE_STATIC")
-    IF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
-      ADD_DEFINITIONS(-DPCRE_STATIC)
-    ENDIF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
-  ENDIF(PCREPOSIX_FOUND)
-  MARK_AS_ADVANCED(CLEAR PCRE_INCLUDE_DIR)
-  MARK_AS_ADVANCED(CLEAR PCREPOSIX_LIBRARIES)
-ENDIF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
-
-IF(NOT PCREPOSIX_FOUND AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
+IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
   #
   # If PCREPOSIX is not found or not requested, try using regex
   # from libc or libregex
@@ -982,7 +957,36 @@ IF(NOT PCREPOSIX_FOUND AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
       CMAKE_POP_CHECK_STATE()  # Restore the state of the variables
     ENDIF(NOT HAVE_REGCOMP_LIBC)
   ENDIF(REGEX_INCLUDE_DIR)
-ENDIF(NOT PCREPOSIX_FOUND AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
+  IF(HAVE_REGCOMP_LIBC OR HAVE_REGCOMP_LIBREGEX)
+    SET(FOUND_POSIX_REGEX_LIB 1)
+  ENDIF(HAVE_REGCOMP_LIBC OR HAVE_REGCOMP_LIBREGEX)
+ENDIF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
+
+IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
+  #
+  # If requested, try finding library for PCREPOSIX
+  #
+  FIND_PACKAGE(PCREPOSIX)
+  IF(PCREPOSIX_FOUND)
+    SET(HAVE_LIBPCREPOSIX 1)
+    SET(HAVE_LIBPCRE 1)
+    SET(HAVE_PCREPOSIX_H 1)
+    INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR})
+    LIST(APPEND ADDITIONAL_LIBS ${PCREPOSIX_LIBRARIES})
+    # Test if a macro is needed for the library.
+    TRY_MACRO_FOR_LIBRARY(
+      "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}"
+      COMPILES
+      "#include <pcreposix.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
+      "WITHOUT_PCRE_STATIC;PCRE_STATIC")
+    IF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+      ADD_DEFINITIONS(-DPCRE_STATIC)
+    ENDIF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+  ENDIF(PCREPOSIX_FOUND)
+  MARK_AS_ADVANCED(CLEAR PCRE_INCLUDE_DIR)
+  MARK_AS_ADVANCED(CLEAR PCREPOSIX_LIBRARIES)
+ENDIF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
+
 #
 # Check functions
 #