From 0bef491e1dac0066238cdf412a0dbac12641f91b Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 15 Jul 2022 20:54:23 -0400 Subject: [PATCH] Add generic MPI pkgconfig configurations --- CITATION.cff | 2 +- CMakeLists.txt | 15 +++++++++++++-- mpi-c.pc.in | 15 +++++++++++++++ mpi-cxx.pc.in | 17 +++++++++++++++++ mpi-fort.pc.in | 18 ++++++++++++++++++ mpiabi/mpi_constants.py | 4 ++-- 6 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 mpi-c.pc.in create mode 100644 mpi-cxx.pc.in create mode 100644 mpi-fort.pc.in diff --git a/CITATION.cff b/CITATION.cff index 82f1ea34..7daed66f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -5,6 +5,6 @@ authors: given-names: Erik orcid: 0000-0002-4518-9017 title: MPItrampoline -version: v4.1.2 +version: v4.2.0 doi: 10.5281/zenodo.6174408 date-released: 2022-07-11 diff --git a/CMakeLists.txt b/CMakeLists.txt index 55a6eb18..650b594a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12...3.20) project( - MPItrampoline VERSION 4.1.2 + MPItrampoline VERSION 4.2.0 DESCRIPTION "MPI trampoline" HOMEPAGE_URL "https://github.com/eschnett/MPItrampoline" LANGUAGES NONE @@ -269,8 +269,19 @@ install( ) configure_file(MPItrampoline.pc.in MPItrampoline.pc @ONLY) +configure_file(mpi-c.pc.in mpi-c.pc @ONLY) +configure_file(mpi-cxx.pc.in mpi-cxx.pc @ONLY) +configure_file(mpi-fort.pc.in mpi-fort.pc @ONLY) install( - FILES ${CMAKE_BINARY_DIR}/MPItrampoline.pc + FILES + ${CMAKE_BINARY_DIR}/MPItrampoline.pc + ${CMAKE_BINARY_DIR}/mpi-c.pc + ${CMAKE_BINARY_DIR}/mpi-cxx.pc + ${CMAKE_BINARY_DIR}/mpi-fort.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + ) +install( + FILES ${CMAKE_BINARY_DIR}/mpi-c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) diff --git a/mpi-c.pc.in b/mpi-c.pc.in new file mode 100644 index 00000000..3e66aa68 --- /dev/null +++ b/mpi-c.pc.in @@ -0,0 +1,15 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +URL: @CMAKE_PROJECT_HOMEPAGE_URL@ +Version: @PROJECT_VERSION@ + +Requires: +Requires.private: +Cflags: -I${includedir} +Libs: -L${libdir} -Wl,-rpath,${libdir} -lmpitrampoline +Libs.private: -ldl diff --git a/mpi-cxx.pc.in b/mpi-cxx.pc.in new file mode 100644 index 00000000..f81bebdb --- /dev/null +++ b/mpi-cxx.pc.in @@ -0,0 +1,17 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +URL: @CMAKE_PROJECT_HOMEPAGE_URL@ +Version: @PROJECT_VERSION@ + +Requires: +Requires.private: +Cflags: -I${includedir} +Libs: -L${libdir} -Wl,-rpath,${libdir} -lmpitrampoline +Libs.private: -ldl + +cxxflags=-I${includedir} diff --git a/mpi-fort.pc.in b/mpi-fort.pc.in new file mode 100644 index 00000000..b658a34d --- /dev/null +++ b/mpi-fort.pc.in @@ -0,0 +1,18 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +URL: @CMAKE_PROJECT_HOMEPAGE_URL@ +Version: @PROJECT_VERSION@ + +Requires: +Requires.private: +Cflags: -I${includedir} +Libs: -L${libdir} -Wl,-rpath,${libdir} -lmpitrampoline +Libs.private: -ldl + +fflags=@CMAKE_Fortran_FLAGS@ -I${includedir} +fcflags=@CMAKE_Fortran_FLAGS@ -I${includedir} diff --git a/mpiabi/mpi_constants.py b/mpiabi/mpi_constants.py index cc575bad..c349afc3 100755 --- a/mpiabi/mpi_constants.py +++ b/mpiabi/mpi_constants.py @@ -149,10 +149,10 @@ ("int", "MPI_SEEK_SET"), # Thread support - ("int", "MPI_THREAD_SINGLE"), ("int", "MPI_THREAD_FUNNELED"), - ("int", "MPI_THREAD_SERIALIZED"), ("int", "MPI_THREAD_MULTIPLE"), + ("int", "MPI_THREAD_SERIALIZED"), + ("int", "MPI_THREAD_SINGLE"), # File operation constants ("int", "MPI_TYPECLASS_COMPLEX"),