ECMUseFindModules¶
Selectively use some of the find modules provided by extra-cmake-modules.
This module is automatically available once extra-cmake-modules has been
found, so it is not necessary to include(ECMUseFindModules)
explicitly.
ecm_use_find_modules(DIR <dir>
MODULES module1.cmake [module2.cmake [...]]
[NO_OVERRIDE])
This allows selective use of the find modules provided by ECM, including
deferring to CMake’s versions of those modules if it has them. Rather than
adding ${ECM_FIND_MODULE_DIR}
to CMAKE_MODULE_PATH
, you use
ecm_use_find_modules()
to copy the modules you want to a local (build)
directory, and add that to CMAKE_MODULE_PATH
.
The find modules given to MODULES
will be copied to the directory given by DIR
(which should be located in ${CMAKE_BINARY_DIR}
and added to
CMAKE_MODULE_PATH
). If NO_OVERRIDE
is given, only modules not also
provided by CMake will be copied.
Example:
find_package(ECM REQUIRED)
ecm_use_find_modules(
DIR ${CMAKE_BINARY_DIR}/cmake
MODULES FindEGL.cmake
NO_OVERRIDE
)
set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}/cmake)
This example will make FindEGL.cmake
available in your project, but only
as long as it is not yet part of CMake. Calls to find_package(EGL)
will
then make use of this copied module (or the CMake module if it exists).
Another possible use for this macro is to take copies of find modules that can be installed along with config files if they are required as a dependency (for example, if targets provided by the find module are in the link interface of a library).
Since pre-1.0.0.