diff options
author | Kyle Guinn <elyk03@gmail.com> | 2016-11-18 22:01:49 -0600 |
---|---|---|
committer | David Spencer <idlemoor@slackbuilds.org> | 2016-12-04 19:28:56 +0000 |
commit | e43491d02aa85d5d32902512855465f8c54c0821 (patch) | |
tree | f990cf69ef11834bbead6ecccfb86d74726abf3b /academic/metis/patches/cmake.diff | |
parent | 25925df9a2d4aaf4c1a997728e8566038e943280 (diff) |
academic/metis: Updated for version 5.1.0.
Signed-off-by: Kyle Guinn <elyk03@gmail.com>
Diffstat (limited to 'academic/metis/patches/cmake.diff')
-rw-r--r-- | academic/metis/patches/cmake.diff | 328 |
1 files changed, 328 insertions, 0 deletions
diff --git a/academic/metis/patches/cmake.diff b/academic/metis/patches/cmake.diff new file mode 100644 index 0000000000000..a646cc45fd134 --- /dev/null +++ b/academic/metis/patches/cmake.diff @@ -0,0 +1,328 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,25 +1,10 @@ +-cmake_minimum_required(VERSION 2.8) +-project(METIS) ++cmake_minimum_required(VERSION 3.0) ++project(METIS VERSION 5.1.0 LANGUAGES C) + +-set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib") +-set(SHARED FALSE CACHE BOOL "build a shared library") +- +-if(MSVC) +- set(METIS_INSTALL FALSE) +-else() +- set(METIS_INSTALL TRUE) +-endif() +- +-# Configure libmetis library. +-if(SHARED) +- set(METIS_LIBRARY_TYPE SHARED) +-else() +- set(METIS_LIBRARY_TYPE STATIC) +-endif(SHARED) +- +-include(${GKLIB_PATH}/GKlibSystem.cmake) ++include(GNUInstallDirs) ++include(GKlib/GKlibSystem.cmake) + # Add include directories. +-include_directories(${GKLIB_PATH}) ++include_directories(GKlib) + include_directories(include) + # Recursively look for CMakeLists.txt in subdirs. + add_subdirectory("include") +diff --git a/GKlib/CMakeLists.txt b/GKlib/CMakeLists.txt +--- a/GKlib/CMakeLists.txt ++++ b/GKlib/CMakeLists.txt +@@ -1,21 +1,23 @@ +-cmake_minimum_required(VERSION 2.8) +-project(GKlib) ++cmake_minimum_required(VERSION 3.0) ++project(GKlib LANGUAGES C) + +-get_filename_component(abs "." ABSOLUTE) +-set(GKLIB_PATH ${abs}) +-unset(abs) ++include(GNUInstallDirs) + include(GKlibSystem.cmake) + + include_directories(".") +-add_library(GKlib STATIC ${GKlib_sources}) ++add_library(GKlib ${GKlib_sources}) ++if(OPENMP AND OPENMP_FOUND) ++ set_property(TARGET GKlib APPEND PROPERTY COMPILE_FLAGS ${OpenMP_C_FLAGS}) ++ set_property(TARGET GKlib APPEND PROPERTY LINK_FLAGS ${OpenMP_C_FLAGS}) ++endif() + if(UNIX) +- target_link_libraries(GKlib m) ++ target_link_libraries(GKlib PRIVATE m) + endif(UNIX) + + include_directories("test") + add_subdirectory("test") + + install(TARGETS GKlib +- ARCHIVE DESTINATION lib +- LIBRARY DESTINATION lib) +-install(FILES ${GKlib_includes} DESTINATION include) ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${GKlib_includes} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GKlib) +diff --git a/GKlib/GKlibSystem.cmake b/GKlib/GKlibSystem.cmake +--- a/GKlib/GKlibSystem.cmake ++++ b/GKlib/GKlibSystem.cmake +@@ -15,35 +15,28 @@ + + # Add compiler flags. + if(MSVC) +- set(GKlib_COPTS "/Ox") +- set(GKlib_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") +-elseif(MINGW) +- set(GKlib_COPTS "-DUSE_GKREGEX") +-else() +- set(GKlib_COPTS "-O3") +- set(GKlib_COPTIONS "-DLINUX -D_FILE_OFFSET_BITS=64") +-endif(MSVC) +-if(CYGWIN) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DCYGWIN") +-endif(CYGWIN) ++ add_definitions(-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE) ++elseif(UNIX) ++ add_definitions(-DLINUX -D_FILE_OFFSET_BITS=64) ++elseif(CYGWIN) ++ add_definitions(-DCYGWIN) ++endif() ++ + if(CMAKE_COMPILER_IS_GNUCC) + # GCC opts. +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing") +- if(NOT MINGW) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC") +- endif(NOT MINGW) ++ add_compile_options(-std=c99 -fno-strict-aliasing) + # GCC warnings. +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Wall -pedantic -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas") ++ add_compile_options(-Wall -pedantic -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas) + elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") + # Sun insists on -xc99. +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99") ++ add_compile_options(-xc99) + endif(CMAKE_COMPILER_IS_GNUCC) + + # Find OpenMP if it is requested. + if(OPENMP) + include(FindOpenMP) + if(OPENMP_FOUND) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__OPENMP__ ${OpenMP_C_FLAGS}") ++ add_definitions(-D__OPENMP__) + else() + message(WARNING "OpenMP was requested but support was not found") + endif(OPENMP_FOUND) +@@ -52,64 +45,64 @@ + + # Add various definitions. + if(GDB) +- set(GKlib_COPTS "${GKlib_COPTS} -g") +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror") ++ add_compile_options(-g) ++ add_compile_options(-Werror) + endif(GDB) + + + if(DEBUG) +- set(GKlib_COPTS "-g") +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DDEBUG") ++ add_compile_options(-g) ++ add_definitions(-DDEBUG) + endif(DEBUG) + + if(GPROF) +- set(GKlib_COPTS "-pg") ++ add_compile_options(-pg) + endif(GPROF) + + if(NOT ASSERT) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG") ++ add_definitions(-DNDEBUG) + endif(NOT ASSERT) + + if(NOT ASSERT2) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG2") ++ add_definitions(-DNDEBUG2) + endif(NOT ASSERT2) + + + # Add various options + if(PCRE) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__WITHPCRE__") ++ add_definitions(-D__WITHPCRE__) + endif(PCRE) + + if(GKREGEX) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DUSE_GKREGEX") ++ add_definitions(-DUSE_GKREGEX) + endif(GKREGEX) + + if(GKRAND) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DUSE_GKRAND") ++ add_definitions(-DUSE_GKRAND) + endif(GKRAND) + + + # Check for features. + check_include_file(execinfo.h HAVE_EXECINFO_H) + if(HAVE_EXECINFO_H) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_EXECINFO_H") ++ add_definitions(-DHAVE_EXECINFO_H) + endif(HAVE_EXECINFO_H) + + check_function_exists(getline HAVE_GETLINE) + if(HAVE_GETLINE) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_GETLINE") ++ add_definitions(-DHAVE_GETLINE) + endif(HAVE_GETLINE) + + + # Custom check for TLS. + if(MSVC) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=__declspec(thread)") ++ add_definitions(-D__thread=__declspec\(thread\)) + else() + # This if checks if that value is cached or not. + if("${HAVE_THREADLOCALSTORAGE}" MATCHES "^${HAVE_THREADLOCALSTORAGE}$") + try_compile(HAVE_THREADLOCALSTORAGE + ${CMAKE_BINARY_DIR} +- ${GKLIB_PATH}/conf/check_thread_storage.c) ++ ${CMAKE_CURRENT_LIST_DIR}/conf/check_thread_storage.c) + if(HAVE_THREADLOCALSTORAGE) + message(STATUS "checking for thread-local storage - found") + else() +@@ -117,13 +110,10 @@ + endif() + endif() + if(NOT HAVE_THREADLOCALSTORAGE) +- set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=") ++ add_definitions(-D__thread=) + endif() + endif() + +-# Finally set the official C flags. +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GKlib_COPTIONS} ${GKlib_COPTS}") +- + # Find GKlib sources. +-file(GLOB GKlib_sources ${GKLIB_PATH}/*.c) +-file(GLOB GKlib_includes ${GKLIB_PATH}/*.h) ++file(GLOB GKlib_sources ${CMAKE_CURRENT_LIST_DIR}/*.c) ++file(GLOB GKlib_includes ${CMAKE_CURRENT_LIST_DIR}/*.h) +diff --git a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -6,7 +6,6 @@ + gprof = not-set + openmp = not-set + prefix = not-set +-gklib_path = not-set + shared = not-set + cc = not-set + +@@ -20,10 +19,6 @@ + + # Process configuration options. + CONFIG_FLAGS = -DCMAKE_VERBOSE_MAKEFILE=1 +-ifeq ($(gklib_path), not-set) +- gklib_path = GKlib +-endif +-CONFIG_FLAGS += -DGKLIB_PATH=$(abspath $(gklib_path)) + ifneq ($(gdb), not-set) + CONFIG_FLAGS += -DGDB=$(gdb) + endif +@@ -46,7 +41,7 @@ + CONFIG_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix) + endif + ifneq ($(shared), not-set) +- CONFIG_FLAGS += -DSHARED=1 ++ CONFIG_FLAGS += -DBUILD_SHARED_LIBS=1 + endif + ifneq ($(cc), not-set) + CONFIG_FLAGS += -DCMAKE_C_COMPILER=$(cc) +diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -1,3 +1 @@ +-if(METIS_INSTALL) +- install(FILES metis.h DESTINATION include) +-endif() ++install(FILES metis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/metis) +diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt +--- a/libmetis/CMakeLists.txt ++++ b/libmetis/CMakeLists.txt +@@ -3,14 +3,20 @@ + # Find sources. + file(GLOB metis_sources *.c) + # Build libmetis. +-add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) ++add_library(metis ${GKlib_sources} ${metis_sources}) ++if(OPENMP AND OPENMP_FOUND) ++ set_property(TARGET metis APPEND PROPERTY COMPILE_FLAGS ${OpenMP_C_FLAGS}) ++ set_property(TARGET metis APPEND PROPERTY LINK_FLAGS ${OpenMP_C_FLAGS}) ++endif() + if(UNIX) +- target_link_libraries(metis m) ++ target_link_libraries(metis PRIVATE m) + endif() + +-if(METIS_INSTALL) +- install(TARGETS metis +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib +- ARCHIVE DESTINATION lib) +-endif() ++install(TARGETS metis ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ ++configure_file(metis.pc.in metis.pc @ONLY) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/metis.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +diff --git a/libmetis/metis.pc.in b/libmetis/metis.pc.in +new file mode 100644 +--- /dev/null ++++ b/libmetis/metis.pc.in +@@ -0,0 +1,12 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++Name: @PROJECT_NAME@ ++Description: Software for partitioning unstructured graphs and meshes ++Version: @PROJECT_VERSION@ ++URL: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview ++Libs: -L${libdir} -lmetis ++Libs.private: -lm ++Cflags: -I${includedir}/metis +diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt +--- a/programs/CMakeLists.txt ++++ b/programs/CMakeLists.txt +@@ -1,6 +1,5 @@ + # These programs use internal metis data structures. + include_directories(../libmetis) +-link_directories(/home/karypis/local/lib) + # Build program. + add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c) + add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c) +@@ -13,10 +12,8 @@ + # target_link_libraries(${prog} metis profiler) + endforeach(prog) + +-if(METIS_INSTALL) +- install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin +- RUNTIME DESTINATION bin) +-endif() ++install(TARGETS gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Try to find subversion revision. + set(SVNREV "") |