1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
# Copyright (C) 2010 Florent Lamiraux, Thomas Moulard, JRL, CNRS/AIST.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# SEARCH_FOR_BOOST
# -----------------
#
# This macro deals with Visual Studio Fortran incompatibilities
# and add detected flags to the pkg-config file automatically.
#
# The components to be detected is controlled by BOOST_COMPONENTS. If
# this variable is not defined, it defaults to the following component
# list:
# - Filesystem
# - Program_options
# - System
# - Thread
# - Unit_test_framework
#
MACRO(SEARCH_FOR_BOOST)
SET(Boost_USE_STATIC_LIBS OFF)
SET(Boost_USE_MULTITHREAD ON)
IF(NOT DEFINED BOOST_COMPONENTS)
SET(BOOST_COMPONENTS
filesystem system thread program_options unit_test_framework)
ENDIF(NOT DEFINED BOOST_COMPONENTS)
FIND_PACKAGE(Boost 1.40 COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
IF(NOT Boost_FOUND)
MESSAGE(
FATAL_ERROR "Failed to detect Boost with the following components:\n"
${COMPONENTS})
ENDIF(NOT Boost_FOUND)
PKG_CONFIG_APPEND_CFLAGS("-I${Boost_INCLUDE_DIR}")
PKG_CONFIG_APPEND_LIBRARY_DIR("${Boost_LIBRARY_DIRS}")
LIST(APPEND LOGGING_WATCHED_VARIABLES
Boost_USE_MULTITHREADED
Boost_USE_STATIC_LIBS
Boost_ADDITIONAL_VERSIONS
Boost_DEBUG
Boost_COMPILER
BOOST_ROOT
BOOSTROOT
BOOST_INCLUDEDIR
BOOST_LIBRARYDIR
Boost_FOUND
Boost_INCLUDE_DIRS
Boost_INCLUDE_DIR
Boost_LIBRARIES
Boost_LIBRARY_DIRS
Boost_VERSION
Boost_LIB_VERSION
Boost_MAJOR_VERSION
Boost_MINOR_VERSION
Boost_SUBMINOR_VERSION
Boost_LIB_DIAGNOSTIC_DEFINITIONS
)
FOREACH(COMPONENT ${BOOST_COMPONENTS})
LIST(APPEND LOGGING_WATCHED_VARIABLES
Boost_${COMPONENT}_FOUND
Boost_${COMPONENT}_LIBRARY
Boost_${COMPONENT}_LIBRARY_DEBUG
Boost_${COMPONENT}_LIBRARY_RELEASE
)
ENDFOREACH()
ENDMACRO(SEARCH_FOR_BOOST)
|