已合并
[sync] PR-4: update to version 5.1.0.4 #6
[sync] PR-4: update to version 5.1.0.4 #6
已合并
openeuler-ci-bot创建于 7月29日
共 11 个文件变更+154-137
@@ -0,0 +1 @@
1+*.gz filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,2 @@
1+[lfs]
2+ url = https://artlfs.openeuler.openatom.cn/src-openEuler/metis
@@ -0,0 +1,3 @@
1+version https://git-lfs.github.com/spec/v1
2+oid sha256:26b55bc1cfb2267a64f45240d280deeff19743f211eb9a00c68f2b0cb7be4aa3
3+size 4994764
Binary files do not support preview
@@ -1,5 +1,5 @@
1---- GKlib/Makefile.orig 2013-03-11 20:50:42.000000000 +01001+--- src/GKlib/Makefile.orig 2013-03-11 20:50:42.000000000 +0100
2-+++ GKlib/Makefile 2013-03-17 14:26:23.632867727 +01002++++ src/GKlib/Makefile 2013-03-17 14:26:23.632867727 +0100
3@@ -41,10 +41,10 @@3@@ -41,10 +41,10 @@
4 CONFIG_FLAGS += -DPCRE=$(pcre)4 CONFIG_FLAGS += -DPCRE=$(pcre)
5 endif5 endif
@@ -14,8 +14,8 @@
14 ifneq ($(prefix), not-set)14 ifneq ($(prefix), not-set)
15 CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix)15 CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix)
16 16 
17---- Makefile.origin 2013-03-30 17:24:45.000000000 +010017+--- src/Makefile.origin 2013-03-30 17:24:45.000000000 +0100
18-+++ Makefile 2013-04-14 20:04:38.887674462 +020018++++ src/Makefile 2013-04-14 20:04:38.887674462 +0200
19@@ -9,6 +9,11 @@19@@ -9,6 +9,11 @@
20 gklib_path = not-set20 gklib_path = not-set
21 shared = not-set21 shared = not-set
@@ -1,20 +1,31 @@
1---- libmetis/CMakeLists.orig.txt 2011-06-22 19:47:13.000000000 +02001+diff --git CMakeLists.txt CMakeLists.txt
2-+++ libmetis/CMakeLists.txt 2013-03-15 17:13:19.948911972 +01002+index 4ecefb8..72939d8 100644
3-@@ -4,13 +4,14 @@3+--- CMakeLists.txt
4- file(GLOB metis_sources *.c)4++++ CMakeLists.txt
5- # Build libmetis.5+@@ -36,6 +36,8 @@ else()
6- add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})6+ set(METIS_LIBRARY_TYPE STATIC)
7-+set_target_properties(metis PROPERTIES SOVERSION 0)
8- if(UNIX)
9- target_link_libraries(metis m)
10 endif()7 endif()
11 8
12- if(METIS_INSTALL)9++include(GNUInstallDirs)
13- install(TARGETS metis10++
14-- LIBRARY DESTINATION lib11+ include(${GKLIB_PATH}/GKlibSystem.cmake)
15-- RUNTIME DESTINATION lib12+ # Add include directories.
16-- ARCHIVE DESTINATION lib)13+ #include_directories(${GKLIB_PATH})
17-+ LIBRARY DESTINATION lib${LIB_SUFFIX}14+diff --git src/libmetis/CMakeLists.txt src/libmetis/CMakeLists.txt
18-+ RUNTIME DESTINATION lib${LIB_SUFFIX}15+index 5e228c4..b8009b5 100644
19-+ ARCHIVE DESTINATION lib${LIB_SUFFIX})16+--- src/libmetis/CMakeLists.txt
20- endif()17++++ src/libmetis/CMakeLists.txt
18+@@ -8,5 +8,12 @@ $<INSTALL_INTERFACE:include>
19+ PRIVATE ${PROJECT_SOURCE_DIR}/src/GKlib ${PROJECT_BINARY_DIR}/src/include
20+ )
21+ target_link_libraries(metis PRIVATE $<$<BOOL:${UNIX}>:m>)
22++set_target_properties(metis PROPERTIES SOVERSION 0)
23++if(PCRE)
24++target_link_libraries(metis PRIVATE pcre2-posix)
25++endif(PCRE)
26+
27+-install(TARGETS metis)
28++install(TARGETS metis
29++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
30++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
31++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
@@ -1,5 +1,5 @@
1---- GKlib/GKlib.orig.h 2013-03-30 17:24:45.000000000 +01001+--- src/GKlib/GKlib.orig.h 2013-03-30 17:24:45.000000000 +0100
2-+++ GKlib/GKlib.h 2019-02-05 14:45:44.051629682 +01002++++ src/GKlib/GKlib.h 2019-02-05 14:45:44.051629682 +0100
3@@ -43,7 +43,7 @@3@@ -43,7 +43,7 @@
4 #include <sys/stat.h>4 #include <sys/stat.h>
5 5
@@ -9,8 +9,8 @@
9 #else9 #else
10 #if defined(USE_GKREGEX)10 #if defined(USE_GKREGEX)
11 #include "gkregex.h"11 #include "gkregex.h"
12---- GKlib/test/Makefile.in.orig.old 2013-03-30 17:24:45.000000000 +010012+--- src/GKlib/test/Makefile.in.orig.old 2013-03-30 17:24:45.000000000 +0100
13-+++ GKlib/test/Makefile.in.old 2019-02-05 15:04:35.009847901 +010013++++ src/GKlib/test/Makefile.in.old 2019-02-05 15:04:35.009847901 +0100
14@@ -196,7 +196,7 @@14@@ -196,7 +196,7 @@
15 15
16 #Libraries needed for linking16 #Libraries needed for linking
@@ -1,21 +1,11 @@
1---- GKlib/CMakeLists.orig.txt 2013-03-11 20:50:14.000000000 +01001+--- src/GKlib/CMakeLists.orig.txt 2013-03-11 20:50:14.000000000 +0100
2-+++ GKlib/CMakeLists.txt 2013-03-17 19:53:44.220827579 +01002++++ src/GKlib/CMakeLists.txt 2013-03-17 19:53:44.220827579 +0100
3-@@ -7,7 +7,7 @@3+@@ -5,7 +5,7 @@
4+
4 include(GKlibSystem.cmake)5 include(GKlibSystem.cmake)
5 6
6- include_directories(".")
7-add_library(GKlib STATIC ${GKlib_sources})7-add_library(GKlib STATIC ${GKlib_sources})
8+add_library(GKlib SHARED ${GKlib_sources})8+add_library(GKlib SHARED ${GKlib_sources})
9- if(UNIX)9+ target_link_libraries(GKlib PRIVATE $<$<BOOL:${UNIX}>:m>)
10- target_link_libraries(GKlib m)10+ target_include_directories(GKlib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
11- endif(UNIX)
12-@@ -16,6 +16,6 @@
13- add_subdirectory("test")
14 11
15- install(TARGETS GKlib
16-- ARCHIVE DESTINATION lib
17-- LIBRARY DESTINATION lib)
18--install(FILES ${GKlib_includes} DESTINATION include)
19-+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
20-+ LIBRARY DESTINATION lib${LIB_SUFFIX})
21-+install(FILES ${GKlib_includes} DESTINATION include/metis)
@@ -1,12 +0,0 @@
1---- include/metis.orig.h 2013-03-11 20:50:00.000000000 +0100
2-+++ include/metis.h 2013-03-16 12:14:59.117329640 +0100
3-@@ -30,7 +30,7 @@
4- GCC does provides these definitions in stdint.h, but it may require some
5- modifications on other architectures.
6- --------------------------------------------------------------------------*/
7--#define IDXTYPEWIDTH 32
8-+#define IDXTYPEWIDTH 64
9-
10-
11- /*--------------------------------------------------------------------------
12- 
Mmetis.spec+57-54
@@ -1,5 +1,3 @@
1-%undefine _ld_as_needed
2- 
3%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 641%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
4%global arch64 12%global arch64 1
5%else3%else
@@ -7,21 +5,20 @@
7%endif5%endif
8 6 
9Name: metis7Name: metis
10-Version: 5.1.08+Version: 5.1.0.4
11-Release: 29+Release: 1
12Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering10Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering
13License: Apache-2.011License: Apache-2.0
14-URL: http://glaros.dtc.umn.edu/gkhome/views/%{name}12+URL: https://karypis.github.io/glaros/software/metis/overview.html
15-Source0: http://glaros.dtc.umn.edu/gkhome/fetch/sw/%{name}/%{name}-%{version}.tar.gz13+Source0: https://github.com/scivision/METIS/archive/refs/tags/v%{version}/metis-%{version}.tar.gz
16 14 
17Patch0: %{name}-libmetis.patch15Patch0: %{name}-libmetis.patch
18Patch1: %{name}-shared-GKlib.patch16Patch1: %{name}-shared-GKlib.patch
19-Patch2: %{name}-width-datatype.patch
20Patch3: %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch17Patch3: %{name}-GKREGEX-GKRAND-LIBSUFFIX-fix.patch
21Patch4: %{name}_lib64.patch18Patch4: %{name}_lib64.patch
22Patch5: %{name}-pcre2.patch19Patch5: %{name}-pcre2.patch
23 20 
24-BuildRequires: make cmake gcc gcc-c++ pcre2-devel help2man chrpath21+BuildRequires: make cmake gcc gcc-c++ pcre2-devel help2man
25 22 
26%description23%description
27METIS is a set of serial programs for partitioning graphs, 24METIS is a set of serial programs for partitioning graphs,
@@ -68,65 +65,62 @@ OpenMP version (64bit INTEGER).
68%prep65%prep
69%setup -qc 66%setup -qc
70 67
71-pushd %{name}-%{version}68+pushd METIS-%{version}
72-%patch0 -p069+%patch -P0 -p0
73-%patch1 -p070+%patch -P1 -p0
74-%patch3 -p071+%patch -P3 -p0
75-%patch5 -p072+%patch -P5 -p0
76- 
77-## Remove default compiler flag
78-sed -e 's|-O3||g' -i GKlib/GKlibSystem.cmake
79popd73popd
80 74 
81%if 0%{?arch64}75%if 0%{?arch64}
82-%{__cp} -a %{name}-%{version} metis6476+%{__cp} -a METIS-%{version} metis64
77+pushd metis64
78+%patch -P4 -p0 -b.orig
79+popd
83%endif80%endif
84 81 
85- 
86%build82%build
87-PCRE_LDFLAGS="-lpcre2-posix"83+%define _vpath_srcdir METIS-%{version}
88- 84+%define _vpath_builddir METIS-%{version}/build
89-%cmake -S %{name}-%{version} -B %{name}-%{version}/build \85+%cmake \
90 -DCMAKE_BUILD_TYPE:STRING=Release \86 -DCMAKE_BUILD_TYPE:STRING=Release \
91- -DGKLIB_PATH=%{name}-%{version}/GKlib \87+ -DGKLIB_PATH=METIS-%{version}/src/GKlib \
92 -DSHARED:BOOL=TRUE \88 -DSHARED:BOOL=TRUE \
93 -DOPENMP:BOOL=ON \89 -DOPENMP:BOOL=ON \
94 -DPCRE:BOOL=ON \90 -DPCRE:BOOL=ON \
95 -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \91 -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \
96- -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \92+ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags}" \
97- -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \93+ -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags}" \
98 -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \94 -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
99 -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}95 -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}
100 96 
101-%make_build -C %{name}-%{version}/build97+%cmake_build
102 98 
103%if 0%{?arch64}99%if 0%{?arch64}
104-cd metis64100+%define _vpath_srcdir metis64
105-patch -p0 < %{PATCH2}101+%define _vpath_builddir metis64/build64
106-patch -p0 < %{PATCH4}102+%cmake \
107-cd ..
108-mkdir -p metis64/build64
109-PCRE_LDFLAGS="-lpcre2-posix"
110- 
111-%cmake -S metis64 -B metis64/build64 \
112 -DCMAKE_BUILD_TYPE:STRING=Release \103 -DCMAKE_BUILD_TYPE:STRING=Release \
113- -DGKLIB_PATH=metis64/GKlib \104+ -Dintsize:STRING=64 -Drealsize:STRING=64 \
105+ -DGKLIB_PATH=METIS-%{version}/src/GKlib \
114 -DSHARED:BOOL=TRUE \106 -DSHARED:BOOL=TRUE \
115 -DOPENMP:BOOL=ON \107 -DOPENMP:BOOL=ON \
116 -DPCRE:BOOL=ON \108 -DPCRE:BOOL=ON \
117 -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \109 -DCMAKE_C_FLAGS:STRING="%{optflags} -pthread" \
118- -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \110+ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags}" \
119- -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags} $PCRE_LDFLAGS" \111+ -DCMAKE_EXE_LINKER_FLAGS_RELEASE:STRING="%{__global_ldflags}" \
120 -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \112 -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
121- -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} ..113+ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}
122 114 
123-%make_build -C metis64/build64115+%cmake_build
124%endif116%endif
125 117 
126 118 
127%install119%install
128-pushd %{name}-%{version}/build120+%define _vpath_builddir METIS-%{version}/build
129-%make_install121+%cmake_install
122+ 
123+pushd METIS-%{version}/build
130 124 
131## Generate manpages from binaries125## Generate manpages from binaries
132LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \126LD_PRELOAD=%{buildroot}%{_libdir}/lib%{name}.so.0 \
@@ -154,8 +148,10 @@ popd
154%{__mv} %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis32.h148%{__mv} %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis32.h
155 149 
156%if 0%{?arch64}150%if 0%{?arch64}
151+%define _vpath_builddir metis64/build64
152+%cmake_install
153+ 
157pushd metis64/build64154pushd metis64/build64
158-%make_install
159# Save metis.h with IDXTYPEWIDTH = 64155# Save metis.h with IDXTYPEWIDTH = 64
160%{__mv} %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis64.h156%{__mv} %{buildroot}%{_includedir}/metis.h %{buildroot}%{_includedir}/metis64.h
161popd157popd
@@ -164,39 +160,43 @@ popd
164# Save metis.h with IDXTYPEWIDTH = 32160# Save metis.h with IDXTYPEWIDTH = 32
165%{__mv} %{buildroot}%{_includedir}/metis32.h %{buildroot}%{_includedir}/metis.h161%{__mv} %{buildroot}%{_includedir}/metis32.h %{buildroot}%{_includedir}/metis.h
166 162 
167-## Remove rpaths
168-chrpath -d %{buildroot}%{_bindir}/*
169- 
170- 
171%check163%check
172-%{__cp} -p %{buildroot}%{_bindir}/* %{name}-%{version}/graphs164+cp -p %{buildroot}%{_bindir}/*metis METIS-%{version}/src/graphs/
173-pushd %{name}-%{version}/graphs165+cp -p %{buildroot}%{_bindir}/graphchk METIS-%{version}/src/graphs/
166+cd METIS-%{version}/src/graphs
174LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph167LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph
175LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2168LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2
176LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4169LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4
177LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4170LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4
178LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph171LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph
172+cd ../../
173+%ctest --test-dir ./build
174+cd ../
179 175 
180%if 0%{?arch64}176%if 0%{?arch64}
177+cp -p %{buildroot}%{_bindir}/*metis64 metis64/src/graphs/
178+cp -p %{buildroot}%{_bindir}/graphchk64 metis64/src/graphs/
179+cd metis64/src/graphs
181LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis64 mdual.graph180LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./ndmetis64 mdual.graph
182LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis64 metis.mesh 2181LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./mpmetis64 metis.mesh 2
183LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 test.mgraph 4182LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 test.mgraph 4
184LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 copter2.graph 4183LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./gpmetis64 copter2.graph 4
185LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk64 4elt.graph184LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH ./graphchk64 4elt.graph
185+cd ../../
186+%ctest --test-dir ./build64
187+cd ../
186%endif188%endif
187-popd
188- 
189 189 
190%files190%files
191-%doc %{name}-%{version}/Changelog %{name}-%{version}/manual/manual.pdf191+%doc METIS-%{version}/src/Changelog METIS-%{version}/src/manual/manual.pdf
192-%license %{name}-%{version}/LICENSE.txt192+%license METIS-%{version}/src/LICENSE.txt
193%{_bindir}/cmpfillin193%{_bindir}/cmpfillin
194%{_bindir}/gpmetis194%{_bindir}/gpmetis
195%{_bindir}/graphchk195%{_bindir}/graphchk
196%{_bindir}/m2gmetis196%{_bindir}/m2gmetis
197%{_bindir}/mpmetis197%{_bindir}/mpmetis
198%{_bindir}/ndmetis198%{_bindir}/ndmetis
199-%{_mandir}/man1/*.1.gz199+%{_mandir}/man1/*.1*
200%{_libdir}/lib%{name}.so.*200%{_libdir}/lib%{name}.so.*
201 201 
202 202 
@@ -207,8 +207,8 @@ popd
207 207 
208%if 0%{?arch64}208%if 0%{?arch64}
209%files -n metis64209%files -n metis64
210-%doc metis64/Changelog metis64/manual/manual.pdf210+%doc metis64/src/Changelog metis64/src/manual/manual.pdf
211-%license metis64/LICENSE.txt211+%license metis64/src/LICENSE.txt
212%{_bindir}/cmpfillin64212%{_bindir}/cmpfillin64
213%{_bindir}/gpmetis64213%{_bindir}/gpmetis64
214%{_bindir}/graphchk64214%{_bindir}/graphchk64
@@ -225,6 +225,9 @@ popd
225 225 
226 226 
227%changelog227%changelog
228+* Thu Mar 06 2025 Funda Wang <fundawang@yeah.net> - 5.1.0.4-1
229+- update to 5.1.0.4
230+ 
228* Tue May 10 2022 caodongxia <caodongxia@h-partners.com> - 5.1.0-2231* Tue May 10 2022 caodongxia <caodongxia@h-partners.com> - 5.1.0-2
229- License compliance rectification232- License compliance rectification
230 233 
@@ -1,52 +1,71 @@
1---- libmetis/CMakeLists.orig.txt 2016-02-16 19:06:56.480139000 +01001+--- CMakeLists.txt.orig 2023-12-08 22:14:35.000000000 +0800
2-+++ libmetis/CMakeLists.txt 2016-02-16 19:07:55.511134162 +01002++++ CMakeLists.txt 2025-03-06 18:01:05.669488812 +0800
3-@@ -3,14 +3,14 @@3+@@ -45,6 +45,6 @@
4+ add_subdirectory(src/programs)
5+
6+ add_test(NAME GraphCheck
7+-COMMAND $<TARGET_FILE:graphchk> ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/tiny_01.graph)
8++COMMAND $<TARGET_FILE:graphchk64> ${CMAKE_CURRENT_SOURCE_DIR}/src/tests/tiny_01.graph)
9+
10+ file(GENERATE OUTPUT .gitignore CONTENT "*")
11+--- src/libmetis/CMakeLists.txt.orig 2025-03-06 18:01:05.669488812 +0800
12++++ src/libmetis/CMakeLists.txt 2025-03-06 18:01:49.455136221 +0800
13+@@ -1,19 +1,19 @@
4 # Find sources.14 # Find sources.
5 file(GLOB metis_sources *.c)15 file(GLOB metis_sources *.c)
6 # Build libmetis.16 # Build libmetis.
7-add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})17-add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
8--set_target_properties(metis PROPERTIES SOVERSION 0)18+-target_include_directories(metis PUBLIC
9+add_library(metis64 ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})19+add_library(metis64 ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
20++target_include_directories(metis64 PUBLIC
21+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
22+ $<INSTALL_INTERFACE:include>
23+ PRIVATE ${PROJECT_SOURCE_DIR}/src/GKlib ${PROJECT_BINARY_DIR}/src/include
24+ )
25+-target_link_libraries(metis PRIVATE $<$<BOOL:${UNIX}>:m>)
26+-set_target_properties(metis PROPERTIES SOVERSION 0)
27++target_link_libraries(metis64 PRIVATE $<$<BOOL:${UNIX}>:m>)
10+set_target_properties(metis64 PROPERTIES SOVERSION 0)28+set_target_properties(metis64 PROPERTIES SOVERSION 0)
11- if(UNIX)29+ if(PCRE)
12-- target_link_libraries(metis m)30+-target_link_libraries(metis PRIVATE pcre2-posix)
13-+ target_link_libraries(metis64 m)31++target_link_libraries(metis64 PRIVATE pcre2-posix)
32+ endif(PCRE)
33+
34+-install(TARGETS metis
35++install(TARGETS metis64
36+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
37+ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
38+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
39+--- src/programs/CMakeLists.txt.orig 2023-12-08 22:14:35.000000000 +0800
40++++ src/programs/CMakeLists.txt 2025-03-06 18:01:05.670488827 +0800
41+@@ -11,20 +11,20 @@
42+ endif(Subversion_FOUND)
14 endif()43 endif()
15 44
16- if(METIS_INSTALL)
17-- install(TARGETS metis
18-+ install(TARGETS metis64
19- LIBRARY DESTINATION lib${LIB_SUFFIX}
20- RUNTIME DESTINATION lib${LIB_SUFFIX}
21- ARCHIVE DESTINATION lib${LIB_SUFFIX})
22---- programs/CMakeLists.orig.txt 2013-03-30 17:24:45.000000000 +0100
23-+++ programs/CMakeLists.txt 2016-02-16 22:42:18.625946692 +0100
24-@@ -2,19 +2,19 @@
25- include_directories(../libmetis)
26- link_directories(/home/karypis/local/lib)
27- # Build program.
28-add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c)45-add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c)
29-add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)46-add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
30-add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c)47-add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c)
31-add_executable(m2gmetis m2gmetis.c cmdline_m2gmetis.c io.c)48-add_executable(m2gmetis m2gmetis.c cmdline_m2gmetis.c io.c)
32-add_executable(graphchk graphchk.c io.c)49-add_executable(graphchk graphchk.c io.c)
33-add_executable(cmpfillin cmpfillin.c io.c smbfactor.c)50-add_executable(cmpfillin cmpfillin.c io.c smbfactor.c)
34--foreach(prog gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin)
35-- target_link_libraries(${prog} metis)
36+add_executable(gpmetis64 gpmetis.c cmdline_gpmetis.c io.c stat.c)51+add_executable(gpmetis64 gpmetis.c cmdline_gpmetis.c io.c stat.c)
37+add_executable(ndmetis64 ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)52+add_executable(ndmetis64 ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
38+add_executable(mpmetis64 mpmetis.c cmdline_mpmetis.c io.c stat.c)53+add_executable(mpmetis64 mpmetis.c cmdline_mpmetis.c io.c stat.c)
39+add_executable(m2gmetis64 m2gmetis.c cmdline_m2gmetis.c io.c)54+add_executable(m2gmetis64 m2gmetis.c cmdline_m2gmetis.c io.c)
40+add_executable(graphchk64 graphchk.c io.c)55+add_executable(graphchk64 graphchk.c io.c)
41+add_executable(cmpfillin64 cmpfillin.c io.c smbfactor.c)56+add_executable(cmpfillin64 cmpfillin.c io.c smbfactor.c)
42-+foreach(prog gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64)57+ foreach(prog IN ITEMS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin)
43-+ target_link_libraries(${prog} metis64)58+- target_link_libraries(${prog} PRIVATE metis)
59+- target_include_directories(${prog} PRIVATE
60++ target_link_libraries(${prog}64 PRIVATE metis64)
61++ target_include_directories(${prog}64 PRIVATE
62+ ${PROJECT_SOURCE_DIR}/src/GKlib
63+ ${PROJECT_BINARY_DIR}/src/include
64+ )
65+- target_compile_definitions(${prog} PRIVATE SVNINFO="${SVNREV}")
66++ target_compile_definitions(${prog}64 PRIVATE SVNINFO="${SVNREV}")
44 # target_link_libraries(${prog} metis profiler)67 # target_link_libraries(${prog} metis profiler)
45 endforeach(prog)68 endforeach(prog)
46 69
47- if(METIS_INSTALL)70+-install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin)
48-- install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin71++install(TARGETS gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64)
49-+ install(TARGETS gpmetis64 ndmetis64 mpmetis64 m2gmetis64 graphchk64 cmpfillin64
50- RUNTIME DESTINATION bin)
51- endif()
52-