diff options
Diffstat (limited to 'src/boost/libs/hana/cmake/FindMPL11.cmake')
-rw-r--r-- | src/boost/libs/hana/cmake/FindMPL11.cmake | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/boost/libs/hana/cmake/FindMPL11.cmake b/src/boost/libs/hana/cmake/FindMPL11.cmake new file mode 100644 index 000000000..5b8b3c4e0 --- /dev/null +++ b/src/boost/libs/hana/cmake/FindMPL11.cmake @@ -0,0 +1,48 @@ +# Copyright Louis Dionne 2013-2017 +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) +# +# +# This CMake module finds the MPL11 include directory. This module sets the +# following CMake variables: +# +# MPL11_FOUND +# Set to 1 when the MPL11 include directory is found, 0 otherwise. +# +# MPL11_INCLUDE_DIR +# If the MPL11 include directory is found, this is set to the path of that +# directory. Otherwise, this is not set. +# +# +# The following variables can be used to customize the behavior of the module: +# +# MPL11_INCLUDE_DIR +# The path to the MPL11 include directory. When set, this will be used as-is. +# +# MPL11_CLONE_IF_MISSING +# If the MPL11 include directory can't be found and this is set to true, +# the MPL11 project will be cloned locally. + +if (NOT EXISTS "${MPL11_INCLUDE_DIR}") + find_path(MPL11_INCLUDE_DIR NAMES boost/mpl11/mpl11.hpp + DOC "MPL11 library header files") +endif() + +if (NOT EXISTS "${MPL11_INCLUDE_DIR}" AND MPL11_CLONE_IF_MISSING) + include(ExternalProject) + ExternalProject_Add(MPL11 EXCLUDE_FROM_ALL 1 + GIT_REPOSITORY https://github.com/ldionne/mpl11 + TIMEOUT 5 + CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} + PREFIX "${CMAKE_CURRENT_BINARY_DIR}" + BUILD_COMMAND "" # Disable build step + INSTALL_COMMAND "" # Disable install step + TEST_COMMAND "" # Disable test step + ) + + ExternalProject_Get_Property(MPL11 SOURCE_DIR) + set(MPL11_INCLUDE_DIR "${SOURCE_DIR}/include") +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(MPL11 DEFAULT_MSG MPL11_INCLUDE_DIR) |