From 2cbd9dd49806d686a40841b6d888a83c816efccf Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Fri, 7 Sep 2018 15:50:19 -0400 Subject: [PATCH] cmake: Support source include with add_subdirectory and find_package use This commit allows the sources of the project to be included in a parent project CMakeLists.txt and support use of "find_package(Eigen3 CONFIG REQUIRED)" Here is an example allowing to test the changes. It is not particularly useful in itself. This change will allow to support one of the scenario allowing to create custom 3D Slicer application bundling associated plugins. /tmp/eigen-git-mirror # Eigen sources /tmp/test/CMakeLists.txt: cmake_minimum_required(VERSION 3.12) project(test) add_subdirectory("/tmp/eigen-git-mirror" "eigen-git-mirror") find_package(Eigen3 CONFIG REQUIRED) and configuring it using: mkdir /tmp/test-build && cd $_ cmake \ -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:BOOL=1 \ -DEigen3_DIR:PATH=/tmp/test-build/eigen-git-mirror \ /tmp/test Co-authored-by: Pablo Hernandez --- CMakeLists.txt | 1 + cmake/Eigen3Config.cmake.in | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) --- cmake/Eigen3Config.cmake.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmake') diff --git a/cmake/Eigen3Config.cmake.in b/cmake/Eigen3Config.cmake.in index c5c546887..0a1ac61c9 100644 --- a/cmake/Eigen3Config.cmake.in +++ b/cmake/Eigen3Config.cmake.in @@ -3,7 +3,9 @@ @PACKAGE_INIT@ -include ("${CMAKE_CURRENT_LIST_DIR}/Eigen3Targets.cmake") +if (NOT TARGET eigen) + include ("${CMAKE_CURRENT_LIST_DIR}/Eigen3Targets.cmake") +endif () # Legacy variables, do *not* use. May be removed in the future. -- cgit v1.2.3