mirror of https://github.com/microsoft/vcpkg.git
[lapack,coin-or-ipopt,openblas] Misc fixes, new test port (#50767)
This commit is contained in:
parent
44bc1b8422
commit
bba8b52f6d
|
|
@ -13,9 +13,9 @@ file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SO
|
|||
|
||||
set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"")
|
||||
|
||||
vcpkg_configure_make(
|
||||
vcpkg_make_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
AUTOCONFIG
|
||||
AUTORECONF
|
||||
OPTIONS
|
||||
#--with-pardiso
|
||||
--without-spral
|
||||
|
|
@ -29,11 +29,11 @@ vcpkg_configure_make(
|
|||
--disable-java
|
||||
)
|
||||
|
||||
vcpkg_install_make()
|
||||
vcpkg_make_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
{
|
||||
"name": "coin-or-ipopt",
|
||||
"version-date": "2023-02-01",
|
||||
"port-version": 1,
|
||||
"description": "Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale nonlinear optimization",
|
||||
"homepage": "https://github.com/coin-or/Ipopt",
|
||||
"license": "EPL-2.0",
|
||||
"dependencies": [
|
||||
"coinutils",
|
||||
"intel-mkl"
|
||||
"lapack",
|
||||
{
|
||||
"name": "vcpkg-make",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ libdir=${prefix}/lib
|
|||
|
||||
Name: LAPACK
|
||||
Description: Implementation of LAPACK
|
||||
Version:
|
||||
Requires: @requires@
|
||||
Libs: @libs@
|
||||
Cflags: @cflags@
|
||||
Version: 0
|
||||
Requires: @pc_requires@
|
||||
Libs: @pc_libs@
|
||||
Cflags: @pc_cflags@
|
||||
|
|
|
|||
|
|
@ -1,22 +1,21 @@
|
|||
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(BLA_STATIC ON)
|
||||
else()
|
||||
set(BLA_STATIC OFF)
|
||||
endif()
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLA_STATIC)
|
||||
|
||||
# See explanation of which lapack implementation is chosen in portfile.cmake in the blas port
|
||||
|
||||
set(BLA_VENDOR Generic)
|
||||
set(installed_wrapper "${CURRENT_INSTALLED_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake")
|
||||
set(installed_module "${CURRENT_INSTALLED_DIR}/share/lapack/FindLAPACK.cmake")
|
||||
set(pc_requires "")
|
||||
set(pc_libs "")
|
||||
set(pc_cflags "")
|
||||
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
|
||||
# Use Apple's accelerate framework where available
|
||||
set(BLA_VENDOR Apple)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||
set(libs "-framework Accelerate")
|
||||
set(cflags "-framework Accelerate")
|
||||
set(pc_libs "-framework Accelerate")
|
||||
set(pc_cflags "-framework Accelerate")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
|
|
@ -25,19 +24,28 @@ if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
|
|||
elseif(VCPKG_TARGET_IS_UWP
|
||||
OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
|
||||
OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT VCPKG_TARGET_IS_MINGW))
|
||||
# Use clapack
|
||||
configure_file("${CURRENT_INSTALLED_DIR}/share/clapack/wrapper/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" COPYONLY)
|
||||
configure_file("${CURRENT_INSTALLED_DIR}/share/clapack/FindLAPACK.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/FindLAPACK.cmake" COPYONLY)
|
||||
set(libs "-llapack -llibf2c")
|
||||
set(pc_libs "-L\${libdir} -llapack")
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
string(APPEND pc_libs " -llibf2c")
|
||||
else()
|
||||
string(APPEND pc_libs " -lf2c")
|
||||
endif()
|
||||
set(pc_requires "blas")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
endif()
|
||||
else()
|
||||
# Use lapack-reference
|
||||
configure_file("${CURRENT_INSTALLED_DIR}/share/lapack-reference/wrapper/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/vcpkg-cmake-wrapper.cmake" COPYONLY)
|
||||
configure_file("${CURRENT_INSTALLED_DIR}/share/lapack-reference/FindLAPACK.cmake" "${CURRENT_PACKAGES_DIR}/share/lapack/FindLAPACK.cmake" COPYONLY)
|
||||
set(requires "lapack-reference")
|
||||
set(pc_requires "lapack-reference")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/lapack.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/lapack.pc" @ONLY)
|
||||
endif()
|
||||
endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!",
|
||||
"name": "lapack",
|
||||
"version-date": "2023-06-10",
|
||||
"port-version": 3,
|
||||
"port-version": 4,
|
||||
"description": "Metapackage for packages which provide LAPACK",
|
||||
"license": null,
|
||||
"supports": "!android",
|
||||
|
|
|
|||
|
|
@ -92,9 +92,10 @@ chronoengine:arm64-linux=fail
|
|||
clamav:arm64-windows=fail
|
||||
clapack:arm-neon-android=skip # These skips/pass need to match the decision tree for which backends we use; see ports/blas/portfile.cmake
|
||||
clapack:arm64-android=skip
|
||||
clapack:arm64-linux=skip
|
||||
clapack:arm64-osx=skip
|
||||
clapack:arm64-windows-static-md=pass
|
||||
clapack:arm64-windows-static=pass
|
||||
clapack:arm64-windows=pass
|
||||
clapack:x64-android=skip
|
||||
clapack:x64-linux=skip
|
||||
clapack:x64-windows-release=skip
|
||||
|
|
@ -114,8 +115,6 @@ clockutils:x64-android=fail
|
|||
clrng:arm-neon-android=fail
|
||||
cmake:arm64-linux=fail
|
||||
coin:arm64-linux=fail
|
||||
coin-or-ipopt:x64-windows-static-md=fail
|
||||
coin-or-ipopt:x64-windows-static=fail
|
||||
coroutine:arm-neon-android=fail
|
||||
coroutine:arm64-android=fail
|
||||
coroutine:arm64-osx=fail
|
||||
|
|
@ -221,6 +220,7 @@ gegl:arm64-osx=fail
|
|||
gemmlowp:arm-neon-android=fail
|
||||
gemmlowp:arm64-android=fail
|
||||
gemmlowp:x64-android=fail
|
||||
geogram:arm64-linux=fail
|
||||
gherkin-c:arm-neon-android=fail
|
||||
gherkin-c:arm64-android=fail
|
||||
gherkin-c:arm64-windows-static-md=skip # Conflicts with libevent
|
||||
|
|
@ -271,6 +271,7 @@ hwloc:x64-android=fail
|
|||
iceoryx:arm-neon-android=fail
|
||||
iceoryx:arm64-android=fail
|
||||
iceoryx:x64-android=fail
|
||||
igraph:arm64-linux=fail
|
||||
ijg-libjpeg:arm64-linux=skip
|
||||
imcce-openfa:arm64-linux=fail
|
||||
isal:x64-android=fail
|
||||
|
|
@ -300,12 +301,17 @@ kfr:arm64-linux=fail
|
|||
krb5:arm64-linux=fail
|
||||
lapack-reference:arm-neon-android=fail # These skips/pass need to match the decision tree for which backends we use; see ports/blas/portfile.cmake
|
||||
lapack-reference:arm64-android=fail
|
||||
lapack-reference:arm64-linux=pass
|
||||
lapack-reference:arm64-osx=skip
|
||||
lapack-reference:arm64-windows-static-md=skip
|
||||
lapack-reference:arm64-windows=skip
|
||||
lapack-reference:x64-android=fail
|
||||
lapack-reference:x64-linux=pass
|
||||
lapack-reference:x64-windows-release=pass
|
||||
lapack-reference:x64-windows-static-md=skip
|
||||
lapack-reference:x64-windows-static=skip
|
||||
lapack-reference:x64-windows=pass
|
||||
lapack-reference:x86-windows=pass
|
||||
libaiff:arm64-linux=fail
|
||||
libaiff:x64-linux=fail
|
||||
libcamera:arm64-linux=fail
|
||||
|
|
@ -492,6 +498,7 @@ ntf-core:x64-windows-static-md=fail
|
|||
ntf-core:x64-windows-static=fail
|
||||
ntf-core:x64-windows=fail
|
||||
ntf-core:x86-windows=fail
|
||||
octave:arm64-linux=fail
|
||||
octave:arm64-osx=fail
|
||||
ogdf:arm64-linux=fail
|
||||
ogre-next:arm-neon-android=fail # std::string issue, https://github.com/microsoft/vcpkg/pull/41293#issuecomment-2942853561
|
||||
|
|
@ -507,7 +514,6 @@ onnxruntime:x64-linux=fail
|
|||
onnxruntime:x64-windows-release=fail
|
||||
onnxruntime:x64-windows=fail
|
||||
openal-soft:arm64-linux=fail
|
||||
openblas:arm64-linux=fail
|
||||
openblas:x64-windows-static-md=pass
|
||||
openblas:x64-windows-static=pass
|
||||
opencc:x64-android=fail # opencc/deps/rapidjson-1.1.0/rapidjson.h: Unknown machine endianess detected
|
||||
|
|
@ -670,6 +676,7 @@ tgui:x64-android=fail
|
|||
tinycthread:arm-neon-android=fail
|
||||
tinycthread:arm64-android=fail
|
||||
tinycthread:x64-android=fail
|
||||
torch-th:arm64-linux=fail
|
||||
torch-th:arm64-windows-static-md=fail
|
||||
torch-th:arm64-windows=fail
|
||||
torch-th:x64-windows-static=fail
|
||||
|
|
@ -784,6 +791,7 @@ vcpkg-ci-arrow:x64-windows=pass
|
|||
vcpkg-ci-aurora-au:arm64-linux=pass
|
||||
vcpkg-ci-aurora-au:x64-linux=pass
|
||||
vcpkg-ci-blas:arm64-android=pass # openblas
|
||||
vcpkg-ci-blas:arm64-linux=pass # openblas
|
||||
vcpkg-ci-blas:arm64-osx=pass # accelerate framework
|
||||
vcpkg-ci-blas:arm64-windows-static-md=pass # openblas
|
||||
vcpkg-ci-blas:arm64-windows=pass # openblas
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ coin[openal]:arm64-linux=feature-fails
|
|||
coin-or-cbc:arm64-linux=cascade
|
||||
coin-or-cgl:arm64-linux=cascade
|
||||
coin-or-clp:arm64-linux=cascade
|
||||
coin-or-ipopt((!windows & !linux) | !x64) = cascade
|
||||
coin-or-ipopt(android) = cascade
|
||||
coin-or-osi:arm64-linux=cascade
|
||||
coinutils:arm64-linux=cascade
|
||||
colmap:arm64-linux=cascade
|
||||
|
|
@ -577,7 +577,6 @@ kfr[capi](windows)=feature-fails # feature emits DLL even when built static
|
|||
kissfft[openmp]:arm64-osx=feature-fails # No openmp on osx
|
||||
kissfft[tools]:arm64-linux=feature-fails
|
||||
krb5:arm64-linux=fail
|
||||
lapack:arm64-linux=cascade
|
||||
lapack-reference:arm64-linux=fail
|
||||
lapack-reference:arm64-windows=cascade
|
||||
lapack-reference[blas-select,cblas,noblas]=options # Cannot built feature 'cblas' together with feature 'noblas'. cblas requires blas.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO coin-or/Ipopt
|
||||
REF ec43e37a06054246764fb116e50e3e30c9ada089
|
||||
SHA512 f5b30e81b4a1a178e9a0e2b51b4832f07441b2c3e9a2aa61a6f07807f94185998e985fcf3c34d96fbfde78f07b69f2e0a0675e1e478a4e668da6da60521e0fd6
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
set(ENV{PKG_CONFIG} "${PKGCONFIG}")
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${CURRENT_PORT_DIR}/project"
|
||||
OPTIONS
|
||||
"-DIPOPT_PATH=${SOURCE_PATH}"
|
||||
)
|
||||
vcpkg_cmake_build()
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
cmake_minimum_required(VERSION 3.30)
|
||||
project(ipopt-test)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(PC_ipopt ipopt IMPORTED_TARGET REQUIRED)
|
||||
|
||||
add_executable(simple-pkgconfig
|
||||
"${IPOPT_PATH}/examples/Cpp_example/cpp_example.cpp"
|
||||
"${IPOPT_PATH}/examples/Cpp_example/MyNLP.cpp"
|
||||
)
|
||||
target_link_libraries(simple-pkgconfig PRIVATE PkgConfig::PC_ipopt)
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"name": "vcpkg-ci-coin-or-ipopt",
|
||||
"version-string": "ci",
|
||||
"description": "Validation port",
|
||||
"homepage": "https://github.com/microsoft/vcpkg",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "coin-or-ipopt",
|
||||
"default-features": false
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
"features": [
|
||||
"dynamic-arch"
|
||||
],
|
||||
"platform": "linux"
|
||||
"platform": "linux & !arm"
|
||||
},
|
||||
{
|
||||
"name": "openblas",
|
||||
|
|
|
|||
|
|
@ -1902,7 +1902,7 @@
|
|||
},
|
||||
"coin-or-ipopt": {
|
||||
"baseline": "2023-02-01",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"coin-or-osi": {
|
||||
"baseline": "2024-04-16",
|
||||
|
|
@ -4546,7 +4546,7 @@
|
|||
},
|
||||
"lapack": {
|
||||
"baseline": "2023-06-10",
|
||||
"port-version": 3
|
||||
"port-version": 4
|
||||
},
|
||||
"lapack-reference": {
|
||||
"baseline": "3.12.1",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cab6a5d031125dbefcd3bd335c661469d61c760f",
|
||||
"version-date": "2023-02-01",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "8f3393d37ff448cd73bb3bdf00b812a0a38e2a9c",
|
||||
"version-date": "2023-02-01",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "be339b1d1e93fff43b1c2517794dc185819a27fc",
|
||||
"version-date": "2023-06-10",
|
||||
"port-version": 4
|
||||
},
|
||||
{
|
||||
"git-tree": "12ac83a3627b42dd68a96751ec39051b89761656",
|
||||
"version-date": "2023-06-10",
|
||||
|
|
|
|||
Loading…
Reference in New Issue