From 594446c72b8c1d6c8f44678e847685683446e477 Mon Sep 17 00:00:00 2001 From: Andrew Short Date: Sun, 7 May 2017 15:16:29 +1000 Subject: [PATCH 1/2] 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) --- ports/eigen3/portfile.cmake | 18 +++++------------- 1 file 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) From 8e28f8c35156d6de6058208a3869e5ced4d8e388 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 10 May 2017 13:19:44 -0700 Subject: [PATCH 2/2] [eigen3] Bump version --- ports/eigen3/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL index 0b3b1a7e0..6c16d8b4b 100644 --- a/ports/eigen3/CONTROL +++ b/ports/eigen3/CONTROL @@ -1,3 +1,3 @@ Source: eigen3 -Version: 3.3.3 +Version: 3.3.3-1 Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.