Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Eigen header-only library #26

Merged
merged 3 commits into from
Sep 21, 2016
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ports/eigen/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Source: eigen
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quoting for the EXAMPLES.md file :

Second, determine a suitable package name. This should be ASCII, lowercase, and recognizable to someone who knows the library's "human name". If the library is already packaged in another package manager, prefer that name.

Eigen is known as:

  • Eigen3 as CMake package (see FindEigen3.cmake and Eigen3Config.cmake distributed by the project).
  • libeigen3-dev in Debian-based systems.
  • eigen3 in FreeBSD [1]
  • eigen3 in MacPorts [2]
  • eigen in homebrew [3]
  • eigen3 in fedora [4]
  • eigen in Gentoo [5]
  • eigen3 in MINGW [6]

Given that (except for homebrew and gentoo's portage) the Eigen package is always called eigen3, it could make sense to call it eigen3 also in vcpkg?

[1] : https://svnweb.freebsd.org/ports/head/math/eigen3/
[2] : https://trac.macports.org/browser/trunk/dports/math/eigen3/Portfile
[3] : http://brewformulas.org/Eigen
[4] : http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=eigen3
[5] : https://packages.gentoo.org/packages/dev-cpp/eigen
[6] : https://github.com/msys2/MINGW-packages/tree/44faea9dde7642988ed6e837d6a39d8effaea3f4/mingw-w64-eigen3

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this should definitely be renamed to eigen3! Great detective work.

Version: 3.2.9
Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
19 changes: 19 additions & 0 deletions ports/eigen/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
URL "http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2"
FILENAME "eigen-3.2.9.tar.bz2"
MD5 de11bfbfe2fd2dc4b32e8f416f58ee98
)
vcpkg_extract_source_archive(${ARCHIVE})

# Put the licence file where vcpkg expects it
file(RENAME ${CURRENT_BUILDTREES_DIR}/src/eigen-eigen-dc6cfdf9bcec ${CURRENT_BUILDTREES_DIR}/src/eigen)
file(COPY ${CURRENT_BUILDTREES_DIR}/src/eigen/COPYING.README DESTINATION ${CURRENT_PACKAGES_DIR}/share/eigen/COPYING.README)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/eigen/COPYING.README ${CURRENT_PACKAGES_DIR}/share/eigen/copyright)

file(GLOB_RECURSE GARBAGE ${CURRENT_BUILDTREES_DIR}/src/eigen/Eigen/CMakeLists.*)
file(REMOVE ${GARBAGE})

# Copy the eigen header files
file(COPY ${CURRENT_BUILDTREES_DIR}/src/eigen/Eigen/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/Eigen/)
vcpkg_copy_pdbs()