Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove option for pcre from cmake files and from sources.
[simgrid.git] / buildtools / Cmake / Modules / FindPCRE.cmake
index d57c59e..0b3db37 100644 (file)
@@ -1,6 +1,7 @@
 find_library(PATH_PCRE_LIB 
        NAMES pcre
     HINTS
 find_library(PATH_PCRE_LIB 
        NAMES pcre
     HINTS
+    $ENV{SIMGRID_PCRE_LIBRARY_PATH}
     $ENV{LD_LIBRARY_PATH}
     $ENV{PCRE_LIBRARY_PATH}
     PATH_SUFFIXES lib/ GnuWin32/lib
     $ENV{LD_LIBRARY_PATH}
     $ENV{PCRE_LIBRARY_PATH}
     PATH_SUFFIXES lib/ GnuWin32/lib
@@ -11,8 +12,18 @@ find_library(PATH_PCRE_LIB
     /sw
     /usr)
     
     /sw
     /usr)
     
+string(REGEX MATCH ".dll.a" operation "${PATH_PCRE_LIB}")
+
+if(NOT operation)
+    if(WIN32)
+           set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-DPCRE_STATIC ")
+    endif(WIN32)
+endif(NOT operation)
+
+
 find_path(PATH_PCRE_H "pcre.h"
     HINTS
 find_path(PATH_PCRE_H "pcre.h"
     HINTS
+    $ENV{SIMGRID_PCRE_LIBRARY_PATH}
     $ENV{LD_LIBRARY_PATH}
     $ENV{PCRE_LIBRARY_PATH}
     PATH_SUFFIXES include/ GnuWin32/include
     $ENV{LD_LIBRARY_PATH}
     $ENV{PCRE_LIBRARY_PATH}
     PATH_SUFFIXES include/ GnuWin32/include
@@ -22,8 +33,6 @@ find_path(PATH_PCRE_H "pcre.h"
     /opt/csw
     /sw
     /usr)
     /opt/csw
     /sw
     /usr)
-    
-set(HAVE_PCRE_LIB 0)
 
 message(STATUS "Looking for pcre.h")
 if(PATH_PCRE_H)
 
 message(STATUS "Looking for pcre.h")
 if(PATH_PCRE_H)
@@ -39,6 +48,27 @@ else(PATH_PCRE_LIB)
 message(STATUS "Looking for lib pcre - not found")
 endif(PATH_PCRE_LIB)
 
 message(STATUS "Looking for lib pcre - not found")
 endif(PATH_PCRE_LIB)
 
+if(WIN32)
+    find_path(PATH_PCRE_LICENCE "LICENCE"
+        HINTS
+        $ENV{SIMGRID_PCRE_LIBRARY_PATH}
+        $ENV{LD_LIBRARY_PATH}
+        $ENV{PCRE_LIBRARY_PATH}
+        PATH_SUFFIXES GnuWin32
+        PATHS
+        /opt
+        /opt/local
+        /opt/csw
+        /sw
+        /usr)
+    message(STATUS "Looking for pcre licence")
+    if(PATH_PCRE_LICENCE)
+    message(STATUS "Looking for pcre licence - found")
+    else(PATH_PCRE_LICENCE)
+    message(STATUS "Looking for pcre licence - not found")
+    endif(PATH_PCRE_LICENCE)
+endif(WIN32)
+
 if(PATH_PCRE_LIB AND PATH_PCRE_H)
        string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
        string(REGEX REPLACE "/pcre.h" "" PATH_PCRE_H "${PATH_PCRE_H}")
 if(PATH_PCRE_LIB AND PATH_PCRE_H)
        string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
        string(REGEX REPLACE "/pcre.h" "" PATH_PCRE_H "${PATH_PCRE_H}")
@@ -50,13 +80,8 @@ if(PATH_PCRE_LIB AND PATH_PCRE_H)
           if(NOT operation)
                        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${PATH_PCRE_H} ")
           endif(NOT operation)    
           if(NOT operation)
                        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${PATH_PCRE_H} ")
           endif(NOT operation)    
-       set(HAVE_PCRE_LIB 1)
 else(PATH_PCRE_LIB)
 else(PATH_PCRE_LIB)
-               if(enable_pcre STREQUAL "ON")
-                       message(FATAL_ERROR "Please install the libpcre3-dev package or equivalent before using it.")
-               else(enable_pcre STREQUAL "ON")
-                       message(STATUS "Warning: You should install libpcre (please install the libpcre3-dev package or equivalent).")
-               endif(enable_pcre STREQUAL "ON")
+          message(FATAL_ERROR "Please install the libpcre3-dev package or equivalent before using SimGrid.")
 endif(PATH_PCRE_LIB AND PATH_PCRE_H)
     
 mark_as_advanced(PATH_PCRE_H)
 endif(PATH_PCRE_LIB AND PATH_PCRE_H)
     
 mark_as_advanced(PATH_PCRE_H)