⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findboost.cmake

📁 Gaussian Mixture Algorithm
💻 CMAKE
📖 第 1 页 / 共 2 页
字号:
# - Try to find Boost include dirs and libraries# Usage of this module as follows:##     SET(Boost_USE_STATIC_LIBS ON)#     SET(Boost_USE_MULTITHREAD OFF)#     FIND_PACKAGE( Boost 1.34.1 COMPONENTS date_time filesystem iostreams ... )## The Boost_ADDITIONAL_VERSIONS variable can be used to specify a list of# 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.## 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, 1.35.1, 1.36, # 1.36.0, 1.36.1## The components list needs to be the actual names of boost libraries, that is# the part of the actual library files that differ on different libraries. So# its "date_time" for "libboost_date_time...". Anything else will result in# errors## You can provide a minimum version number that should be used. If you provide this # version number and specify the REQUIRED attribute, this module will fail if it# can't find the specified or a later version. If you specify a version number this is# automatically put into the considered list of version numbers and thus doesn't need# to be specified in the Boost_ADDITIONAL_VERSIONS variable## Variables used by this module, they can change the default behaviour and need to be set# before calling find_package:#  Boost_USE_MULTITHREAD         Can be set to OFF to use the non-multithreaded#                                boost libraries. Defaults to ON.#  Boost_USE_STATIC_LIBS         Can be set to ON to force the use of the static#                                boost libraries. Defaults to OFF.#  Boost_ADDITIONAL_VERSIONS     A list of version numbers to use for searching#                                the boost include directory. The default list#                                of version numbers is:#                                1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, #                                1.35, 1.35.0, 1.35.1, 1.36, 1.36.0, 1.36.1#                                If you want to look for an older or newer#                                version set this variable to a list of#                                strings, where each string contains a number, i.e.#                                SET(Boost_ADDITIONAL_VERSIONS "0.99.0" "1.35.0")#  BOOST_ROOT or BOOSTROOT       Preferred installation prefix for searching for Boost,#                                set this if the module has problems finding the proper Boost installation#  BOOST_INCLUDEDIR              Set this to the include directory of Boost, if the#                                module has problems finding the proper Boost installation#  BOOST_LIBRARYDIR              Set this to the lib directory of Boost, if the#                                module has problems finding the proper Boost installation##  The last three variables are available also as environment variables### Variables defined by this module:##  Boost_FOUND                          System has Boost, this means the include dir was found,#                                       as well as all the libraries specified in the COMPONENTS list#  Boost_INCLUDE_DIRS                   Boost include directories, not cached#  Boost_INCLUDE_DIR                    This is almost the same as above, but this one is cached and may be#                                       modified by advanced users#  Boost_LIBRARIES                      Link these to use the Boost libraries that you specified, not cached#  Boost_LIBRARY_DIRS                   The path to where the Boost library files are.#  Boost_VERSION                        The version number of the boost libraries that have been found,#                                       same as in version.hpp from Boost#  Boost_LIB_VERSION                    The version number in filename form as its appended to the library filenames#  Boost_MAJOR_VERSION                  major version number of boost#  Boost_MINOR_VERSION                  minor version number of boost#  Boost_SUBMINOR_VERSION               subminor version number of boost#  Boost_LIB_DIAGNOSTIC_DEFINITIONS     Only set on windows. Can be used with add_definitions #                                       to print diagnostic information about the automatic #                                       linking done on windows.# For each component you list the following variables are set.# ATTENTION: The component names need to be in lower case, just as the boost# library names however the cmake variables use upper case for the component# part. So you'd get Boost_SERIALIZATION_FOUND for example.##  Boost_${COMPONENT}_FOUND             True IF the Boost library "component" was found.#  Boost_${COMPONENT}_LIBRARY           The absolute path of the Boost library "component".#  Boost_${COMPONENT}_LIBRARY_DEBUG     The absolute path of the debug version of the#                                       Boost library "component".#  Boost_${COMPONENT}_LIBRARY_RELEASE   The absolute path of the release version of the#                                       Boost library "component"##  Copyright (c) 2006-2008 Andreas Schneider <mail@cynapses.org>#  Copyright (c) 2007      Wengo#  Copyright (c) 2007      Mike Jackson#  Copyright (c) 2008      Andreas Pakulat <apaku@gmx.de>##  Redistribution AND use is allowed according to the terms of the New#  BSD license.#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.#OPTION(Boost_USE_MULTITHREADED   "Use the multithreaded versions of the Boost libraries" ON)if (Boost_FIND_VERSION_EXACT)  if (Boost_FIND_VERSION_PATCH)    set( _boost_TEST_VERSIONS       "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}")  else (Boost_FIND_VERSION_PATCH)    set( _boost_TEST_VERSIONS       "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.0"      "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")  endif (Boost_FIND_VERSION_PATCH)else (Boost_FIND_VERSION_EXACT)  set( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}     "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"     "1.34" "1.33.1" "1.33.0" "1.33" )endif (Boost_FIND_VERSION_EXACT)# The reason that we failed to find Boost. This will be set to a# user-friendly message when we fail to find some necessary piece of# Boost.set(Boost_ERROR_REASON)############################################## Check the existence of the libraries.############################################## This macro was taken directly from the FindQt4.cmake file that is included# with the CMake distribution. This is NOT my work. All work was done by the# original authors of the FindQt4.cmake file. Only minor modifications were# made to remove references to Qt and make this file more generally applicable#########################################################################MACRO (_Boost_ADJUST_LIB_VARS basename)  IF (Boost_INCLUDE_DIR )    IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)      # if the generator supports configuration types then set      # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value      IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)        SET(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})      ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)        # if there are no configuration types and CMAKE_BUILD_TYPE has no value        # then just use the release libraries        SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )      ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)      SET(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})    ENDIF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)    # if only the release version was found, set the debug variable also to the release version    IF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)      SET(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})      SET(Boost_${basename}_LIBRARY       ${Boost_${basename}_LIBRARY_RELEASE})      SET(Boost_${basename}_LIBRARIES     ${Boost_${basename}_LIBRARY_RELEASE})    ENDIF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)    # if only the debug version was found, set the release variable also to the debug version    IF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)      SET(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})      SET(Boost_${basename}_LIBRARY         ${Boost_${basename}_LIBRARY_DEBUG})      SET(Boost_${basename}_LIBRARIES       ${Boost_${basename}_LIBRARY_DEBUG})    ENDIF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)        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_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")      SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found")    ENDIF (Boost_${basename}_LIBRARY)  ENDIF (Boost_INCLUDE_DIR )  # Make variables changeble to the advanced user  MARK_AS_ADVANCED(      Boost_${basename}_LIBRARY      Boost_${basename}_LIBRARY_RELEASE      Boost_${basename}_LIBRARY_DEBUG  )ENDMACRO (_Boost_ADJUST_LIB_VARS)#-------------------------------------------------------------------------------SET( _boost_IN_CACHE TRUE)IF(Boost_INCLUDE_DIR)  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})    STRING(TOUPPER ${COMPONENT} COMPONENT)    IF(NOT Boost_${COMPONENT}_FOUND)      SET( _boost_IN_CACHE FALSE)    ENDIF(NOT Boost_${COMPONENT}_FOUND)  ENDFOREACH(COMPONENT)ELSE(Boost_INCLUDE_DIR)  SET( _boost_IN_CACHE FALSE)ENDIF(Boost_INCLUDE_DIR)IF (_boost_IN_CACHE)  # in cache already  SET(Boost_FOUND TRUE)  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})    STRING(TOUPPER ${COMPONENT} COMPONENT)    _Boost_ADJUST_LIB_VARS( ${COMPONENT} )    SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${COMPONENT}_LIBRARY})  ENDFOREACH(COMPONENT)  SET(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})  IF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0")    MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")    MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")    MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")  ENDIF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0")ELSE (_boost_IN_CACHE)  # Need to search for boost  IF(WIN32)    # In windows, automatic linking is performed, so you do not have    # to specify the libraries.  If you are linking to a dynamic    # runtime, then you can choose to link to either a static or a    # dynamic Boost library, the default is to do a static link.  You    # can alter this for a specific library "whatever" by defining    # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be    # linked dynamically.  Alternatively you can force all Boost    # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.      # This feature can be disabled for Boost library "whatever" by    # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining    # BOOST_ALL_NO_LIB.      # If you want to observe which libraries are being linked against    # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking    # code to emit a #pragma message each time a library is selected    # for linking.    SET(Boost_LIB_DIAGNOSTIC_DEFINITIONS       "-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")  ENDIF(WIN32)  SET(_boost_INCLUDE_SEARCH_DIRS    C:/boost/include    "C:/boost"    "$ENV{ProgramFiles}/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}"    "$ENV{ProgramFiles}/Boost"    /sw/local/include  )  SET(_boost_LIBRARIES_SEARCH_DIRS    C:/boost/lib    "C:/boost"    "$ENV{ProgramFiles}/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}/lib"    "$ENV{ProgramFiles}/Boost"    /sw/local/lib  )  # If BOOST_ROOT was defined in the environment, use it.  if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")    set(BOOST_ROOT $ENV{BOOST_ROOT})  endif(NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")  # If BOOSTROOT was defined in the environment, use it.  if (NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")    set(BOOST_ROOT $ENV{BOOSTROOT})  endif(NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")  # If BOOST_INCLUDEDIR was defined in the environment, use it.  IF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )    set(BOOST_INCLUDEDIR $ENV{BOOST_INCLUDEDIR})  ENDIF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )  # If BOOST_LIBRARYDIR was defined in the environment, use it.  IF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )    set(BOOST_LIBRARYDIR $ENV{BOOST_LIBRARYDIR})  ENDIF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )  IF( BOOST_ROOT )    file(TO_CMAKE_PATH ${BOOST_ROOT} BOOST_ROOT)    SET(_boost_INCLUDE_SEARCH_DIRS       ${BOOST_ROOT}/include       ${BOOST_ROOT}      ${_boost_INCLUDE_SEARCH_DIRS})    SET(_boost_LIBRARIES_SEARCH_DIRS       ${BOOST_ROOT}/lib       ${BOOST_ROOT}/stage/lib       ${_boost_LIBRARIES_SEARCH_DIRS})  ENDIF( BOOST_ROOT )  IF( BOOST_INCLUDEDIR )    file(TO_CMAKE_PATH ${BOOST_INCLUDEDIR} BOOST_INCLUDEDIR)    SET(_boost_INCLUDE_SEARCH_DIRS       ${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})  ENDIF( BOOST_INCLUDEDIR )  IF( BOOST_LIBRARYDIR )    file(TO_CMAKE_PATH ${BOOST_LIBRARYDIR} BOOST_LIBRARYDIR)    SET(_boost_LIBRARIES_SEARCH_DIRS       ${BOOST_LIBRARYDIR} ${_boost_LIBRARIES_SEARCH_DIRS})  ENDIF( BOOST_LIBRARYDIR )  # Try to find Boost by stepping backwards through the Boost versions  # we know about.  FOREACH(_boost_VER ${_boost_TEST_VERSIONS})    IF( NOT Boost_INCLUDE_DIR )      # Add in a path suffix, based on the required version, ideally      # we could read this from version.hpp, but for that to work we'd      # need to know the include dir already      if (WIN32 AND NOT CYGWIN)        set(_boost_PATH_SUFFIX boost_${_boost_VER})      else (WIN32 AND NOT CYGWIN)        set(_boost_PATH_SUFFIX boost-${_boost_VER})      endif (WIN32 AND NOT CYGWIN)      IF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")          STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3"             _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})      ELSEIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+")          STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2"             _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})      ENDIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")      FIND_PATH(Boost_INCLUDE_DIR          NAMES         boost/config.hpp          HINTS         ${_boost_INCLUDE_SEARCH_DIRS}          PATH_SUFFIXES ${_boost_PATH_SUFFIX}      )    ENDIF( NOT Boost_INCLUDE_DIR )  ENDFOREACH(_boost_VER)  IF(Boost_INCLUDE_DIR)    # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -