Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Correctely search for pcre and pthread on windows.
[simgrid.git] / buildtools / Cmake / Modules / FindPcreWin.cmake
diff --git a/buildtools/Cmake/Modules/FindPcreWin.cmake b/buildtools/Cmake/Modules/FindPcreWin.cmake
new file mode 100644 (file)
index 0000000..f2e1ad3
--- /dev/null
@@ -0,0 +1,42 @@
+# LIB libpcre.dll
+find_library(PATH_PCRE_LIB 
+       NAMES pcre
+    HINTS
+    $ENV{SIMGRID_PCRE_LIBRARY_PATH}
+    $ENV{PCRE_LIBRARY_PATH}
+    PATH_SUFFIXES bin/ GnuWin32/bin
+    )
+
+find_path(PATH_PCRE_H "pcre.h"
+    HINTS
+    $ENV{SIMGRID_PCRE_LIBRARY_PATH}
+    $ENV{PCRE_LIBRARY_PATH}
+    PATH_SUFFIXES include/ GnuWin32/include
+    )
+    
+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(PATH_PCRE_LIB AND PATH_PCRE_H)
+       string(REGEX REPLACE "/pcre.h" "" PATH_PCRE_H "${PATH_PCRE_H}")
+          string(REGEX MATCH "-I${PATH_PCRE_H} " operation "${CMAKE_C_FLAGS}")
+          if(NOT operation)
+                       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${PATH_PCRE_H} ")
+          endif(NOT operation)    
+else(PATH_PCRE_LIB)
+          message(FATAL_ERROR "Please install the pcre package before using SimGrid.")
+endif(PATH_PCRE_LIB AND PATH_PCRE_H)
+
+mark_as_advanced(PATH_PCRE_H)
+mark_as_advanced(PATH_PCRE_LIB)
\ No newline at end of file