cmake_find_package
This is the reference page for cmake_find_package
generator.
Go to Integrations/CMake if you want to learn how to integrate your project or recipes with CMake.
The cmake_find_package
generator creates a file for each requirement specified in the conanfile.
The name of the files follow the pattern Find<package_name>.cmake
. So for the zlib/1.2.11@conan/stable
package,
a Findzlib.cmake
file will be generated.
Variables in Find{name}.cmake
Being {name} the package name:
NAME |
VALUE |
---|---|
{name}_FOUND |
Set to 1 |
{name}_VERSION |
Package version |
{name}_INCLUDE_DIRS |
Containing all the include directories of the package |
{name}_INCLUDES |
Same as the XXX_INCLUDE_DIRS |
{name}_DEFINITIONS |
Definitions of the library |
{name}_LIBRARIES |
Library paths to link |
{name}_LIBS |
Same as XXX_LIBRARIES |
Target in Find<package_name>.cmake
A target named {name}::{name}
target is generated with the following properties adjusted:
INTERFACE_INCLUDE_DIRECTORIES
: Containing all the include directories of the package.INTERFACE_LINK_LIBRARIES
: Library paths to link.INTERFACE_COMPILE_DEFINITIONS
: Definitions of the library.
The targets are transitive. So, if your project depends on a packages A
and B
, and at the same time
A
depends on C
, the A
target will contain automatically the properties of the C
dependency, so
in your CMakeLists.txt file you only need to find_package(A)
and find_package(B)
.