Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Need only this flag with the library libpcre.dll.a
[simgrid.git] / buildtools / Cmake / Modules / FindPCRE.cmake
index 45eddfe..69e8af8 100644 (file)
@@ -1,6 +1,7 @@
 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
@@ -10,9 +11,19 @@ find_library(PATH_PCRE_LIB
     /opt/csw
     /sw
     /usr)
-    
+message(status "PATH_PCRE_LIB ${PATH_PCRE_LIB}")
+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
+    $ENV{SIMGRID_PCRE_LIBRARY_PATH}
     $ENV{LD_LIBRARY_PATH}
     $ENV{PCRE_LIBRARY_PATH}
     PATH_SUFFIXES include/ GnuWin32/include
@@ -22,8 +33,44 @@ find_path(PATH_PCRE_H "pcre.h"
     /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 - found")
+else(PATH_PCRE_H)
+message(STATUS "Looking for pcre.h - not found")
+endif(PATH_PCRE_H)
+
+message(STATUS "Looking for lib pcre")
+if(PATH_PCRE_LIB)
+message(STATUS "Looking for lib pcre - found")
+else(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}")
@@ -37,22 +84,12 @@ if(PATH_PCRE_LIB AND PATH_PCRE_H)
           endif(NOT operation)    
        set(HAVE_PCRE_LIB 1)
 else(PATH_PCRE_LIB)
-               message(STATUS "Warning : You should install libpcre (please install the libpcre3-dev package or equivalent)")
+               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")
 endif(PATH_PCRE_LIB AND PATH_PCRE_H)
     
-message(STATUS "Looking for pcre.h")
-if(PATH_PCRE_H)
-message(STATUS "Looking for pcre.h - found")
-else(PATH_PCRE_H)
-message(STATUS "Looking for pcre.h - not found")
-endif(PATH_PCRE_H)
-
-message(STATUS "Looking for lib pcre")
-if(PATH_PCRE_LIB)
-message(STATUS "Looking for lib pcre - found")
-else(PATH_PCRE_LIB)
-message(STATUS "Looking for lib pcre - not found")
-endif(PATH_PCRE_LIB)
-
 mark_as_advanced(PATH_PCRE_H)
 mark_as_advanced(PATH_PCRE_LIB)
\ No newline at end of file