check for per python version libboost_python library
authorDiane Trout <diane@caltech.edu>
Fri, 17 Aug 2007 19:33:49 +0000 (19:33 +0000)
committerDiane Trout <diane@caltech.edu>
Fri, 17 Aug 2007 19:33:49 +0000 (19:33 +0000)
Ok, so this probably isn't useful for anyone but me yet, as I hacked
boost-cmake to add the python version number to libboost_python .

Though I will try to get boost.python to include it in the main branch.

makelib/FindBoost.cmake

index 440de2de720ae37917a24a2205ce36061bb2d884..dd2dab97f0ce24fa9e8fcef2600b6a704e5eaee0 100644 (file)
@@ -14,6 +14,10 @@ FIND_PATH(BOOST_INCLUDE_DIR boost/weak_ptr.hpp
                             C:\\Boost\\Include\\boost-1_34
                             C:\\Boost\\include\\boost-1_33_1 )
 
                             C:\\Boost\\Include\\boost-1_34
                             C:\\Boost\\include\\boost-1_33_1 )
 
+FIND_PACKAGE(PythonInterp)
+IF(PYTHONINTERP_FOUND)
+  STRING(REGEX MATCH "[0-9]\\.[0-9]$" PYVER ${PYTHON_EXECUTABLE})
+ENDIF(PYTHONINTERP_FOUND)
 
 IF(MINGW)
   SET (BOOST_ROOT C:\\Boost)
 
 IF(MINGW)
   SET (BOOST_ROOT C:\\Boost)
@@ -33,14 +37,20 @@ IF(MINGW)
                 libboost_program_options-mgw-sd
                 libboost_program_options-mgw34-sd-1_34
                 PATHS ${BOOST_ROOT}\\lib )
                 libboost_program_options-mgw-sd
                 libboost_program_options-mgw34-sd-1_34
                 PATHS ${BOOST_ROOT}\\lib )
-  FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES
-                libboost_python-mgw
-                libboost_python-mgw34-1_34
-                PATHS ${BOOST_ROOT}\\lib )
-  FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
-                libboost_python-mgw-d
-                libboost_python-mgw34-d-1_34
-                PATHS ${BOOST_ROOT}\\lib )
+  IF(PYTHONINTERP_FOUND)
+    FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES
+                  libboost_python${PYVER}-mgw
+                  libboost_python${PYVER}-mgw34-1_34
+                  libboost_python-mgw
+                  libboost_python-mgw34-1_34
+                  PATHS ${BOOST_ROOT}\\lib )
+    FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
+                  libboost_python${PYVER}-mgw-d
+                  libboost_python${PYVER}-mgw34-d-1_34
+                  libboost_python-mgw-d
+                  libboost_python-mgw34-d-1_34
+                  PATHS ${BOOST_ROOT}\\lib )
+  ENDIF(PYTHONINTERP_FOUND)
   FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES
                 libboost_serialization-mgw
                 libboost_serialization-mgw34-1_34
   FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES
                 libboost_serialization-mgw
                 libboost_serialization-mgw34-1_34
@@ -68,14 +78,25 @@ FIND_LIBRARY( BOOST_PROGRAM_OPTIONS_LIBRARY NAMES
               boost_program_options
               boost_program_options-40
               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
               boost_program_options
               boost_program_options-40
               PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
-FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES 
-              boost_python
-              boost_python-40
-              PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
-FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
-              boost_python-d
-              boost_python-40-d
-              PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
+IF(PYTHONINTERP_FOUND)
+  FIND_LIBRARY( BOOST_PYTHON_LIBRARY NAMES 
+                boost_python${PYVER}
+                boost_python${PYVER}-40
+                boost_python${PYVER}-gcc40-1_34
+                boost_python
+                boost_python-40
+                boost_python-gcc40-1_34
+                PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
+  FIND_LIBRARY( BOOST_PYTHON_LIBRARY_DEBUG NAMES 
+                boost_python${PYVER}-d
+                boost_python${PYVER}-40-d
+                boost_python${PYVER}-gcc40-d
+                boost_python${PYVER}-gcc40-d-1_34
+                boost_python-d
+                boost_python-40-d
+                boost_python-gcc40-d-1_34
+                PATHS /usr/lib /usr/local/lib C:\\Boost\\lib )
+ENDIF(PYTHONINTERP_FOUND)
 FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES 
               boost_serialization
               boost_serialization-40
 FIND_LIBRARY( BOOST_SERIALIZATION_LIBRARY NAMES 
               boost_serialization
               boost_serialization-40