On Tue, Apr 8, 2008 at 5:54 AM, Andreas Pakulat <[EMAIL PROTECTED]> wrote: > New version uploaded.
I've looked through this module a bit, and it looks like it's in great shape. I have a few suggestions, implemented in the attached FindBoost.cmake; the diff against "v9" from the bug tracker follows. The changes I made where: - Fixed setting of Boost_LIBRARIES when the QUIET option is passed to FIND_PACKAGE - Made non-user-configurable cache entries INTERNAL; mark other options advanced - Minor formatting changes for some of the output. I don't have a Windows machine easily available, so I'd like to take it for a spin on Windows as well. - Doug --- /u/dgregor/Downloads/FindBoost_v9.cmake.txt 2008-04-08 05:49:48.000000000 -0 400 +++ FindBoost.cmake 2008-04-08 16:37:34.000000000 -0400 @@ -9,7 +9,7 @@ # boost version numbers that should be taken into account when searching # for the libraries. Unfortunately boost puts the version number into the # actual filename for the libraries, so this might be needed in the future -# when new boost versions are released. +# when new Boost versions are released. # # Currently this module searches for the following version numbers: # 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0 @@ -145,7 +145,7 @@ IF (Boost_${basename}_LIBRARY) SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library") GET_FILENAME_COMPONENT(Boost_LIBRARY_DIRS "${Boost_${basename}_LIBRARY}" PATH) - SET(Boost_${basename}_FOUND ON CACHE BOOL "Was the boost boost ${basename } library found") + SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Was the boost boost ${base name} library found") ENDIF (Boost_${basename}_LIBRARY) ENDIF (Boost_INCLUDE_DIR ) @@ -311,8 +311,8 @@ STRING(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSI ON "${_boost_VERSION_HPP_CONTENTS}") STRING(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Bo ost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}") - SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE STRING "The library versio n string for boost libraries") - SET(Boost_VERSION ${Boost_VERSION} CACHE STRING "The version number for boo st libraries") + SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE INTERNAL "The library vers ion string for boost libraries") + SET(Boost_VERSION ${Boost_VERSION} CACHE INTERNAL "The version number for b oost libraries") IF(NOT "${Boost_VERSION}" STREQUAL "0") MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") @@ -512,19 +512,23 @@ IF (Boost_FOUND) IF (NOT Boost_FIND_QUIETLY) - MESSAGE(STATUS "Found The Following Boost Libraries:") - FOREACH ( COMPONENT ${Boost_FIND_COMPONENTS} ) - STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT ) - IF ( Boost_${UPPERCOMPONENT}_FOUND ) - MESSAGE (STATUS " ${COMPONENT}") - SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIB RARY}) - ENDIF ( Boost_${UPPERCOMPONENT}_FOUND ) - ENDFOREACH(COMPONENT) - MESSAGE(STATUS "Boost Version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERS ION}.${Boost_SUBMINOR_VERSION}") + MESSAGE(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERS ION}.${Boost_SUBMINOR_VERSION}") + ENDIF(NOT Boost_FIND_QUIETLY) + IF (NOT Boost_FIND_QUIETLY) + MESSAGE(STATUS "Found the following Boost libraries:") ENDIF(NOT Boost_FIND_QUIETLY) + FOREACH ( COMPONENT ${Boost_FIND_COMPONENTS} ) + STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT ) + IF ( Boost_${UPPERCOMPONENT}_FOUND ) + IF (NOT Boost_FIND_QUIETLY) + MESSAGE (STATUS " ${COMPONENT}") + ENDIF(NOT Boost_FIND_QUIETLY) + SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRA RY}) + ENDIF ( Boost_${UPPERCOMPONENT}_FOUND ) + ENDFOREACH(COMPONENT) ELSE (Boost_FOUND) IF (Boost_FIND_REQUIRED) - MESSAGE(STATUS "Boost Version required: ${Boost_FIND_VERSION}. Found: $ {Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + MESSAGE(STATUS "Boost version required: ${Boost_FIND_VERSION}. Found: $ {Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") MESSAGE(FATAL_ERROR "Couldn't find the Boost libraries and/or include i rectory, or the version found is too old. Please install the Boost libraries AND development packages. You can set BOOST_ROOT, BOOST_INCLUDEDIR and BOOST_LIBRAR YDIR to help find Boost.") ENDIF(Boost_FIND_REQUIRED) ENDIF(Boost_FOUND) @@ -535,9 +539,10 @@ ENDIF(WIN32) # show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the advan ced view - MARK_AS_ADVANCED(Boost_INCLUDE_DIRS - Boost_LIBRARIES + MARK_AS_ADVANCED(Boost_INCLUDE_DIR + Boost_INCLUDE_DIRS Boost_LIBRARY_DIRS + Boost_USE_MULTITHREADED ) ENDIF(_boost_IN_CACHE)
FindBoost.cmake
Description: Binary data
_______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake