vcpkg/ports/igraph/portfile.cmake
Szabolcs Horvát 33e7e68c10
[igraph] update to 0.9.5 (#21346)
* [igraph] update to 0.9.5

* [igraph] x-add-version for 0.9.5

* [igraph] get rid of deprecated functions

* [igraph] format-manifest

* [igraph] x-add-version

* Update ports/igraph/portfile.cmake

Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>

* [igraph] x-add-version

Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com>
2021-11-15 16:46:23 -08:00

65 lines
2.5 KiB
CMake

# We use the release tarball from GitHub instead of the sources in the repo because:
# - igraph will not compile from the git sources unless there is an actual git repository to back it. This is because it detects the version from git tags. The release tarball has the version hard-coded.
# - The release tarball contains pre-generated parser sources, which eliminates the dependency on bison/flex.
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/igraph/igraph/releases/download/0.9.5/igraph-0.9.5.tar.gz"
FILENAME "igraph-0.9.5.tar.gz"
SHA512 2eb562bb898ff19f8e4ebb2d9f3393000b66154cb87318999bbb920793657e4e3a0b52d10bc8cbe4d2c3a5d27258fd8156df97f778065a92b969bfcb7d9fc28c
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
graphml IGRAPH_GRAPHML_SUPPORT
openmp IGRAPH_OPENMP_SUPPORT
)
# Allow cross-compilation. See https://igraph.org/c/html/latest/igraph-Installation.html#igraph-Installation-cross-compiling
set(ARITH_H "")
if (VCPKG_TARGET_IS_OSX)
set(ARITH_H ${CURRENT_PORT_DIR}/arith_osx.h)
elseif (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(ARITH_H ${CURRENT_PORT_DIR}/arith_win32.h)
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(ARITH_H ${CURRENT_PORT_DIR}/arith_win64.h)
endif()
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DIGRAPH_ENABLE_LTO=AUTO
# ARPACK not yet available in vcpkg.
-DIGRAPH_USE_INTERNAL_ARPACK=ON
# OpenBLAS provides BLAS/LAPACK but some tests fail with OpenBLAS on Windows.
# See https://github.com/igraph/igraph/issues/1491
-DIGRAPH_USE_INTERNAL_BLAS=ON
-DIGRAPH_USE_INTERNAL_LAPACK=ON
-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
# GLPK is not yet available in vcpkg.
-DIGRAPH_USE_INTERNAL_GLPK=ON
# Currently, external GMP provides no performance or functionality benefits.
-DIGRAPH_USE_INTERNAL_GMP=ON
-DF2C_EXTERNAL_ARITH_HEADER=${ARITH_H}
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/igraph)
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_fixup_pkgconfig()