early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,11 @@
--- a/metis/GKlib/gk_arch.h Wed Dec 21 18:34:18 2016
+++ b/metis/GKlib/gk_arch.h Wed Dec 21 18:30:49 2016
@@ -58,7 +58,7 @@
#define PTRDIFF_MAX INT64_MAX
#endif
-#ifdef __MSC__
+#if defined(__MSC__) && (_MSC_VER < 1900)
/* MSC does not have rint() function */
#define rint(x) ((int)((x)+0.5))

View File

@@ -0,0 +1,15 @@
--- a/libparmetis/CMakeLists.txt Sat Mar 30 17:24:50 2013
+++ b/libparmetis/CMakeLists.txt Wed Dec 21 19:40:28 2016
@@ -5,10 +5,10 @@
# Create libparmetis
add_library(parmetis ${ParMETIS_LIBRARY_TYPE} ${parmetis_sources})
# Link with metis and MPI libraries.
-target_link_libraries(parmetis metis ${MPI_LIBRARIES})
+target_link_libraries(parmetis ${METIS_LIBRARY} ${MPI_LIBRARIES})
set_target_properties(parmetis PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}")
install(TARGETS parmetis
LIBRARY DESTINATION lib
- RUNTIME DESTINATION lib
+ RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib)

View File

@@ -0,0 +1,11 @@
--- a/metis/libmetis/metislib.h Sat Mar 30 17:24:45 2013
+++ b/metis/libmetis/metislib.h Wed Dec 21 18:30:59 2016
@@ -31,7 +31,7 @@
#include <proto.h>
-#if defined(COMPILER_MSC)
+#if defined(COMPILER_MSC) && (_MSC_VER < 1900)
#if defined(rint)
#undef rint
#endif

View File

@@ -0,0 +1,18 @@
--- a/CMakeLists.txt 2013-03-30 17:24:50.000000000 +0100
+++ b/CMakeLists.txt 2021-04-20 10:41:49.946801222 +0200
@@ -1,12 +1,12 @@
cmake_minimum_required(VERSION 2.8)
project(ParMETIS)
-set(GKLIB_PATH METIS/GKlib CACHE PATH "path to GKlib")
-set(METIS_PATH METIS CACHE PATH "path to METIS")
+set(GKLIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/metis/GKlib CACHE PATH "path to GKlib")
+set(METIS_PATH metis CACHE PATH "path to METIS")
# Symlink ./metis to wherever metis is. This allows files to be
# included from metis/libmetis/.
-execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${METIS_PATH} metis)
+#execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${METIS_PATH} metis)
# Search for MPI.
# GK commented this out as it seems to be creating problems

View File

@@ -0,0 +1,29 @@
--- a/CMakeLists.txt Sat Mar 30 17:24:50 2013
+++ b/CMakeLists.txt Wed Dec 21 19:38:12 2016
@@ -16,6 +16,9 @@
# endif()
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_COMPILE_FLAGS}")
+find_package(MPI REQUIRED)
+find_library(METIS_LIBRARY NAMES metis)
+
# Prepare libraries.
if(SHARED)
set(ParMETIS_LIBRARY_TYPE SHARED)
@@ -30,13 +33,13 @@
include_directories(include)
include_directories(${MPI_INCLUDE_PATH})
include_directories(${GKLIB_PATH})
-include_directories(${METIS_PATH}/include)
+# include_directories(${METIS_PATH}/include)
# List of directories that cmake will look for CMakeLists.txt
-add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
+# add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
add_subdirectory(include)
add_subdirectory(libparmetis)
-add_subdirectory(programs)
+# add_subdirectory(programs)
# This is for testing during development and is not being distributed
#add_subdirectory(test)

36
externals/vcpkg/ports/parmetis/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,36 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
set(ADDITIONAL_OPTIONS -DSHARED=OFF)
vcpkg_download_distfile(ARCHIVE
URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
FILENAME "parmetis-4.0.3.tar.gz"
SHA512 454a91921ca35c981df11c9846a11963ff8fd8407a25179453af33f8fe69493f6dd7f2a0b8feed9a7d3f121e45b715749dd7a94873eaac2bae4cad1e535ca132
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
fix-metis-vs14-math.patch
fix-gklib-vs14-math.patch
fix-root-cmakelist.patch
fix-libparmetis-cmakelist.patch
use_stdint.patch
fix-root-cmakelist-2.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
${ADDITIONAL_OPTIONS}
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/parmetis)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/parmetis/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/parmetis/copyright)

View File

@@ -0,0 +1,22 @@
diff --git a/metis/GKlib/ms_stdint.h b/metis/GKlib/ms_stdint.h
index 7e200dc..0d07a7a 100644
--- a/metis/GKlib/ms_stdint.h
+++ b/metis/GKlib/ms_stdint.h
@@ -42,6 +42,10 @@
#include <limits.h>
+#if(_MSC_VER >= 1900)
+ #include <stdint.h>
+#else
+
// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}'
// or compiler give many errors like this:
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
@@ -218,5 +222,6 @@ typedef uint64_t uintmax_t;
#endif // __STDC_CONSTANT_MACROS ]
+#endif
#endif // _MSC_STDINT_H_ ]

11
externals/vcpkg/ports/parmetis/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,11 @@
{
"name": "parmetis",
"version-string": "4.0.3",
"port-version": 5,
"description": "Parallel Graph Partitioning and Fill-reducing Matrix Ordering",
"homepage": "https://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview",
"dependencies": [
"metis",
"mpi"
]
}