Salome HOME
Merge from V5_1_main 10/06/2010
[modules/kernel.git] / salome_adm / cmake_files / FindBOOST.cmake
index d46eb032aae0adb688e54e4a74823ea24c340f24..c8998192214cb96f405ae87903be5eaadf9d963b 100644 (file)
@@ -1,4 +1,4 @@
-#  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+#  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -19,6 +19,7 @@
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+
 # ------
 
 MESSAGE(STATUS "Check for boost ...")
@@ -53,6 +54,9 @@ IF(BOOST_STATUS)
     SET(BOOST_ROOT_USER ${WITH_BOOST})
   ELSE(WITH_BOOST)
     SET(BOOST_ROOT_USER $ENV{BOOST_ROOT})
+    IF(NOT BOOST_ROOT_USER)
+      SET(BOOST_ROOT_USER $ENV{BOOSTDIR})
+    ENDIF(NOT BOOST_ROOT_USER)
   ENDIF(WITH_BOOST)
 ENDIF(BOOST_STATUS)
 
@@ -103,27 +107,28 @@ ENDIF(BOOST_STATUS)
 
 IF(BOOST_STATUS)
   SET(BOOST_LIBS)
-  IF(WINDOWS)
-    IF(CMAKE_BUILD_TYPE STREQUAL Debug)
-      SET(EXTENSION -gd)
-    ELSE(CMAKE_BUILD_TYPE STREQUAL Debug)
-      SET(EXTENSION)
-    ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
-    FOREACH(name thread date_time signals filesystem system)
+  FOREACH(name thread date_time signals filesystem system regex)
+    IF(WINDOWS)
+      IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+       SET(EXTENSION -gd)
+      ELSE(CMAKE_BUILD_TYPE STREQUAL Debug)
+       SET(EXTENSION)
+      ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
       SET(LIB_NAMES)
-      FOREACH(version 1_35 1_38)
+      FOREACH(version 1_35 1_38 1_42)
        SET(LIB_NAMES ${LIB_NAMES} libboost_${name}-vc90-mt${EXTENSION}-${version})
-      ENDFOREACH(version 1_35 1_38)
-      FIND_LIBRARY(BOOST_LIB_${name} NAMES ${LIB_NAMES} PATHS ${BOOST_LIB_PATHS})
-      IF(NOT BOOST_LIB_${name})
-       SET(BOOST_STATUS 0)
-      ENDIF(NOT BOOST_LIB_${name})
-      SET(BOOST_LIBS ${BOOST_LIBS} ${BOOST_LIB_${name}})
-    ENDFOREACH(name thread date_time signals filesystem system)
-  ELSE(WINDOWS)
-    FIND_LIBRARY(BOOST_LIB_THREAD boost_thread ${BOOST_LIB_PATHS})
-    SET(BOOST_LIBS ${BOOST_LIBS} ${BOOST_LIB_THREAD})
-  ENDIF(WINDOWS)
+      ENDFOREACH(version 1_35 1_38 1_42)
+      FIND_LIBRARY(BOOST_LIB_${name} NAMES ${LIB_NAMES} PATHS ${BOOST_LIB_PATHS} ${BOOST_FIND_PATHS_OPTION})
+    ELSE(WINDOWS)
+      FIND_LIBRARY(BOOST_LIB_${name} boost_${name} PATHS ${BOOST_LIB_PATHS} ${BOOST_FIND_PATHS_OPTION})
+    ENDIF(WINDOWS)
+    IF(NOT BOOST_LIB_${name})
+      SET(BOOST_STATUS 0)
+    ENDIF(NOT BOOST_LIB_${name})
+    STRING(TOUPPER ${name} upname)
+    SET(BOOST_LIB_${upname} ${BOOST_LIB_${name}})
+    SET(BOOST_LIBS ${BOOST_LIBS} ${BOOST_LIB_${name}})
+  ENDFOREACH(name thread date_time signals filesystem system)
 ENDIF(BOOST_STATUS)
 
 # ------