summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/hana/cmake/FindMPL11.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/hana/cmake/FindMPL11.cmake')
-rw-r--r--src/boost/libs/hana/cmake/FindMPL11.cmake48
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)