aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Short <andrewjshort@gmail.com>2017-05-07 15:16:29 +1000
committerGitHub <noreply@github.com>2017-05-07 15:16:29 +1000
commit594446c72b8c1d6c8f44678e847685683446e477 (patch)
tree2b8b298757075c935402c074493f110e87ada135
parent68159355be589c14f464d57429a705567457c917 (diff)
downloadvcpkg-594446c72b8c1d6c8f44678e847685683446e477.tar.gz
vcpkg-594446c72b8c1d6c8f44678e847685683446e477.zip
Use CMake to build Eigen3
Since 3.3.3, Eigen has included an INTERFACE target. Use CMake to build Eigen so the generated target can be imported in your project using `target_link_libraries` rather than having to distribute `FindEigen3.cmake` with your project. find_package(Eigen3) target_link_libraries(myproject Eigen3::Eigen)
-rw-r--r--ports/eigen3/portfile.cmake18
1 files changed, 5 insertions, 13 deletions
diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake
index 5b80225d8..c3c0b695a 100644
--- a/ports/eigen3/portfile.cmake
+++ b/ports/eigen3/portfile.cmake
@@ -8,20 +8,12 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
-file(GLOB_RECURSE GARBAGE ${SOURCE_PATH}/Eigen/CMakeLists.* ${SOURCE_PATH}/unsupported/Eigen/CMakeLists.*)
-if(GARBAGE)
- file(REMOVE ${GARBAGE})
-endif()
+
+vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH})
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
# Put the licence file where vcpkg expects it
file(COPY ${SOURCE_PATH}/COPYING.README DESTINATION ${CURRENT_PACKAGES_DIR}/share/eigen3)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/eigen3/COPYING.README ${CURRENT_PACKAGES_DIR}/share/eigen3/copyright)
-
-# Copy the eigen header files
-file(COPY ${SOURCE_PATH}/Eigen ${SOURCE_PATH}/signature_of_eigen3_matrix_library
- DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/unsupported/Eigen
- DESTINATION ${CURRENT_PACKAGES_DIR}/include/unsupported)
-
-# Copy signature file so tools can locate the eigen headers
-file(COPY DESTINATION ${CURRENT_PACKAGES_DIR}/include)