colorizing and output tweaks
[boost:zeuners-boost-cmake.git] / tools / build / CMake / BoostExternals.cmake
1 # Copyright (C) Troy Straszheim
2 #
3 # Distributed under the Boost Software License, Version 1.0. 
4 # See accompanying file LICENSE_1_0.txt or copy at 
5 #   http://www.boost.org/LICENSE_1_0.txt 
6 #
7
8 message(STATUS "")
9 colormsg(_HIBLUE_ "Looking for (optional) dependencies on the system")
10
11 macro(boost_external_report NAME)
12   string(TOUPPER ${NAME} VARNAME)
13   set(VARNAMES ${ARGV})
14   list(REMOVE_AT VARNAMES 0)
15   set(SUCCESS ${${VARNAME}_FOUND})
16   if(NOT SUCCESS) 
17     message(STATUS "${NAME} not found, some libraries or features will be disabled.")
18     message(STATUS "See the documentation for ${NAME} or manually set these variables:")
19   endif()
20   foreach(variable ${VARNAMES})
21     boost_report_value(${VARNAME}_${variable})
22   endforeach()
23 endmacro()
24
25 #
26 #  Some externals default to OFF
27 #
28 option(WITH_VALGRIND "Run tests under valgrind" OFF)
29
30 #
31 #
32 #
33 foreach(external
34     BZip2
35     Doxygen
36     Expat
37     ICU
38     MPI
39     Python
40     Xsltproc
41     Valgrind
42     ZLib
43     )
44   message(STATUS "")
45   string(TOUPPER "${external}" EXTERNAL)
46   option(WITH_${EXTERNAL} "Attempt to find and configure ${external}" ON)
47   if(WITH_${EXTERNAL})
48     colormsg(HICYAN "${external}:")
49     include(${CMAKE_SOURCE_DIR}/tools/build/CMake/externals/${external}.cmake)
50   else()
51     set(${EXTERNAL}_FOUND FALSE CACHE BOOL "${external} found" FORCE)
52     colormsg(HIRED "${external}:" RED "disabled, since WITH_${EXTERNAL}=OFF")
53   endif()
54 endforeach()
55 message(STATUS "")