Index: FindBoostPython.cmake =================================================================== --- FindBoostPython.cmake (revision 732453) +++ FindBoostPython.cmake (working copy) @@ -20,18 +20,35 @@ include(CheckIncludeFileCXX) include(CheckLibraryExists) +#finding boost and pythonlibs (not the interpreter) +find_package(Boost) +find_package(PythonLibs) + # reset vars set(BOOST_PYTHON_INCLUDES) set(BOOST_PYTHON_LIBS) # handy arrays -set(PYTHON_VERSIONS "python;python2.5;python2.4;python2.3;python2.2") +set(PYTHON_VERSIONS "python;python2.5;python25;python2.4;python24;python2.3;python23;python2.2;python22") set(PYTHON_INCLUDE_DIRS "/usr/include/$pyver;/usr/local/include/$pyver;/usr/$pyver/include;/usr/local/$pyver/include;$prefix/include/$pyver;$prefix/$pyver/include") set(PYTHON_LIBRARY_DIRS "/usr/lib;/usr/local/lib;/usr/lib/$pyver/config") +if (WIN32) + set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_PATH};${PYTHON_INCLUDE_DIRS}" ) + set(PYTHON_LIBRARY_DIRS "${PYTHON_INCLUDE_PATH}/../libs;${PYTHON_LIBRARY_DIRS}") +endif (WIN32) set(PYTHON_LIBS "boost_python-gcc-mt;boost_python-mt;boost_python-gcc-mt-1_33;boost_python-gcc-mt-1_33_1;boost_python;boost_python-gcc-mt-1_32") -# 1st: check for boost/shared_ptr.hpp -check_include_file_cxx(boost/shared_ptr.hpp HAVE_BOOST_SHARED_PTR_HPP) +if (Boost_FOUND) + # 1st: check for boost/shared_ptr.hpp + set(my_BOOST_ROOT $ENV{BOOST_ROOT}) + if(WIN32 AND NOT my_BOOST_ROOT) + set(my_BOOST_ROOT ${CMAKE_INSTALL_PREFIX}) + endif(WIN32 AND NOT my_BOOST_ROOT) + if (my_BOOST_ROOT) + set(CMAKE_REQUIRED_INCLUDES "${my_BOOST_ROOT}/include") + endif (my_BOOST_ROOT) + check_include_file_cxx(boost/shared_ptr.hpp HAVE_BOOST_SHARED_PTR_HPP) +endif (Boost_FOUND) if(HAVE_BOOST_SHARED_PTR_HPP) @@ -61,8 +78,8 @@ if(NOT _found) - set(CMAKE_REQUIRED_FLAGS "-L${_pylibdir}") - set(CMAKE_REQUIRED_INCLUDES ${_pydir}) + set(CMAKE_REQUIRED_FLAGS "-L${_pylibdir} -L${CMAKE_INSTALL_PREFIX}/bin") + set(CMAKE_REQUIRED_INCLUDES ${_pydir} ${my_BOOST_ROOT}/include) set(CMAKE_REQUIRED_LIBRARIES ${_pblib} ${_pyver}) check_cxx_source_compiles(" @@ -77,20 +94,20 @@ // python lib dir: ${_pylibdir} // boost python lib: ${_pblib} -" boost_python_${_pylibdir}_${_pydir}_${_pblib}_compile ) +" bp_${_pylibdir}_${_pydir}_${_pblib}_${_pyver}_compile ) set(CMAKE_REQUIRED_FLAGS) set(CMAKE_REQUIRED_INCLUDES) set(CMAKE_REQUIRED_LIBRARIES) - if(boost_python_${_pylibdir}_${_pydir}_${_pblib}_compile) + if(bp_${_pylibdir}_${_pydir}_${_pblib}_${_pyver}_compile) set(_found TRUE) set(BOOST_PYTHON_INCLUDES ${_pydir}) - set(BOOST_PYTHON_LIBS "-l${_pyver} -L${_pylibdir} -l${_pblib}") + set(BOOST_PYTHON_LIBS " -L${_pylibdir} -L${CMAKE_INSTALL_PREFIX}/bin -l${_pyver} -l${_pblib}") - endif(boost_python_${_pylibdir}_${_pydir}_${_pblib}_compile) + endif(bp_${_pylibdir}_${_pydir}_${_pblib}_${_pyver}_compile) endif(NOT _found)