[salome-medcoupling] Add new port (#32916)

* [salome-configuration|medcoupling] new ports

* format manifest

* v db

* remove trace

* v db

* fix dep

* v db

* Apply suggestions from code review

Co-authored-by: jim wang <122244446+jimwang118@users.noreply.github.com>

* v db

* adjust SALOME_WITH_MPI depending on HDF5

* remove nuking of CMAKE_PREFIX_PATH from salome

* v db

* fix post build

* v db

* Fix med-fichier config on linux

* add supports

* format manifest

* v db

* don't want to investigate linux failure further

---------

Co-authored-by: jim wang <122244446+jimwang118@users.noreply.github.com>
This commit is contained in:
Alexander Neumann 2023-08-07 18:59:40 +02:00 committed by GitHub
parent ec183f8ab6
commit a109b7ccb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 201 additions and 1 deletions

View File

@ -0,0 +1,20 @@
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH_CONFIG
URL "https://git.salome-platform.org/gitpub/tools/configuration.git"
REF "25f724f7a6c0000330a40c3851dcd8bc2493e1fa"
)
file(COPY "${SOURCE_PATH_CONFIG}/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH_CONFIG}/copyright/CEA_EDF.txt")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" [[set(SALOME_CONFIGURATION_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")]])
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake/SalomeMacros.cmake" contents)
if(HDF5_WITH_PARALLEL)
string(PREPEND contents "set(SALOME_USE_MPI ON)\n")
endif()
string(REPLACE [[SET(CMAKE_PREFIX_PATH "${${_envvar}}")]] "" contents "${contents}")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake/SalomeMacros.cmake" "${contents}")

View File

@ -0,0 +1,15 @@
{
"name": "salome-configuration",
"version": "9.10.0",
"description": "Configuration files and other utilities for SALOME platform",
"homepage": "https://www.salome-platform.org",
"license": "LGPL-2.1-or-later",
"supports": "windows | linux",
"dependencies": [
{
"$comment": "This is a dummy dependency to inject SALOME_USE_MPI depending on HDF5_WITH_PARALLEL",
"name": "hdf5",
"default-features": false
}
]
}

View File

@ -37,7 +37,7 @@ if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileConfig.cmake" "/cmake/" "/share/MEDFile/")
else()
vcpkg_cmake_config_fixup(PACKAGE_NAME MEDFile CONFIG_PATH share/cmake/medfile-4.1.1)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileConfig.cmake" "/cmake/medfile-4.1.1" "/share/MEDFile/")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileConfig.cmake" "share/cmake/medfile-${VERSION}" "share/MEDFile")
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")

View File

@ -1,6 +1,7 @@
{
"name": "salome-med-fichier",
"version": "4.1.1",
"port-version": 1,
"description": "med-fichier provides a low level C API for fine-grained access to the structure of MED files (.med)",
"homepage": "https://www.salome-platform.org",
"license": "LGPL-3.0-or-later",

View File

@ -0,0 +1,13 @@
diff --git a/src/MEDCoupling/MEDCouplingMemArray.cxx b/src/MEDCoupling/MEDCouplingMemArray.cxx
index 60d040806..8cb6748d2 100644
--- a/src/MEDCoupling/MEDCouplingMemArray.cxx
+++ b/src/MEDCoupling/MEDCouplingMemArray.cxx
@@ -44,6 +44,8 @@ using namespace MEDCoupling;
template class MEDCOUPLING_EXPORT MEDCoupling::MemArray<mcIdType>;
template class MEDCOUPLING_EXPORT MEDCoupling::MemArray<double>;
+template class MEDCOUPLING_EXPORT MEDCoupling::MemArray<Int32>;
+template class MEDCOUPLING_EXPORT MEDCoupling::MemArray<Int64>;
template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplate<mcIdType>;
template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplate<double>;
template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplateClassic<Int32>;

View File

@ -0,0 +1,71 @@
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
# Fixing static builds requires fixing/removing _declspec(dllexport|dllimport)
# in the EXPORTS macros.
endif()
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL "https://git.salome-platform.org/gitpub/tools/medcoupling.git"
REF "fe2e38d301902c626f644907e00e499552bb2fa5"
PATCHES
win.patch
fix-missing-symbols.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MEDCOUPLING_BUILD_STATIC)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
"-DCONFIGURATION_ROOT_DIR=${SALOME_CONFIGURATION_ROOT_DIR}"
-DMEDCOUPLING_BUILD_TESTS=OFF
-DMEDCOUPLING_BUILD_PY_TESTS=OFF
-DMEDCOUPLING_BUILD_DOC=OFF
-DMEDCOUPLING_BUILD_STATIC=${MEDCOUPLING_BUILD_STATIC}
-DMEDCOUPLING_ENABLE_PYTHON=OFF
-DMEDCOUPLING_ENABLE_RENUMBER=OFF
-DMEDCOUPLING_METIS_V5=ON
-DMETIS_LIBRARIES=metis # this is a target
-DSCOTCH_LIBRARIES=SCOTCH::scotch
)
vcpkg_cmake_install()
file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/lib/*.dll")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
foreach(dll_file IN LISTS dll_files)
string(REPLACE "/lib/" "/bin/" new_loc "${dll_file}")
file(RENAME "${dll_file}" "${new_loc}")
endforeach()
if(NOT VCPKG_BUILD_TYPE)
file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
foreach(dll_file IN LISTS dll_files)
string(REPLACE "/lib/" "/bin/" new_loc "${dll_file}")
file(RENAME "${dll_file}" "${new_loc}")
endforeach()
endif()
vcpkg_cmake_config_fixup(PACKAGE_NAME MEDCoupling CONFIG_PATH "cmake_files")
if(VCPKG_TARGET_IS_WINDOWS)
set(file "${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingTargets-release.cmake")
file(READ "${file}" contents)
string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}")
file(WRITE "${file}" "${contents}")
if(NOT VCPKG_BUILD_TYPE)
set(file "${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingTargets-debug.cmake")
file(READ "${file}" contents)
string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}")
file(WRITE "${file}" "${contents}")
endif()
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingConfig.cmake" "/cmake_files" "/share/MEDCoupling")
vcpkg_copy_tools(TOOL_NAMES medpartitioner AUTO_CLEAN)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share")

View File

@ -0,0 +1,30 @@
{
"name": "salome-medcoupling",
"version": "9.10.0",
"description": "salome-medcoupling is a part of SALOME platform to manipulate meshes and fields in memory, and use salome-med format for files.",
"homepage": "https://www.salome-platform.org",
"license": "GPL-2.0-or-later",
"supports": "!(windows & static)",
"dependencies": [
"boost-chrono",
"boost-date-time",
"boost-filesystem",
"boost-regex",
"boost-serialization",
"boost-system",
"boost-thread",
"libxml2",
"metis",
"salome-configuration",
"salome-med-fichier",
"scotch",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -0,0 +1,18 @@
diff --git a/src/MEDPartitioner/CMakeLists.txt b/src/MEDPartitioner/CMakeLists.txt
index e088a0ed4..048505267 100644
--- a/src/MEDPartitioner/CMakeLists.txt
+++ b/src/MEDPartitioner/CMakeLists.txt
@@ -114,8 +114,12 @@ SET(medpartitionercpp_LDFLAGS
interpkernel
medcouplingcpp
medloader
- -lpthread
)
+
+if(NOT WIN32)
+ list(APPEND medpartitionercpp_LDFLAGS -lpthread)
+endif()
+
IF(MEDCOUPLING_PARTITIONER_PARMETIS)
SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_ParMetisGraph.hxx)
SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_ParMetisGraph.cxx MEDPARTITIONER_MetisGraph.cxx)

View File

@ -1150,6 +1150,7 @@ rtlsdr:x64-uwp=fail
rttr:arm-neon-android=fail
rttr:arm64-android=fail
rttr:x64-android=fail
salome-medcoupling:x64-linux=fail
scintilla:arm-neon-android=fail
scintilla:arm64-android=fail
scintilla:x64-android=fail

View File

@ -7352,8 +7352,16 @@
"baseline": "2018-09-21",
"port-version": 3
},
"salome-configuration": {
"baseline": "9.10.0",
"port-version": 0
},
"salome-med-fichier": {
"baseline": "4.1.1",
"port-version": 1
},
"salome-medcoupling": {
"baseline": "9.10.0",
"port-version": 0
},
"sassc": {

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "2cbf34b9ab5a63d3b341c3a8c3e1b0cf48c1c6d9",
"version": "9.10.0",
"port-version": 0
}
]
}

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "26a3c208d3498e3c40c3f423f2493d1df53d49db",
"version": "4.1.1",
"port-version": 1
},
{
"git-tree": "20cd7a3c38b2cef44fa45511e39c82488bb3aa0b",
"version": "4.1.1",

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "5b007fe28cfb58ed83464e901ce70e8a1ef4bfa5",
"version": "9.10.0",
"port-version": 0
}
]
}