precice: 2020-01-20 -> 2.0.2

This commit is contained in:
Scriptkiddi 2020-05-14 14:20:09 +02:00
parent 7a411e7ad6
commit 9d50563293
No known key found for this signature in database
GPG Key ID: F7FBBF6334AF4872
2 changed files with 5 additions and 125 deletions

View File

@ -1,112 +0,0 @@
From 078cc28a3ece0dcc4033961090a6e5d6e63b3ec5 Mon Sep 17 00:00:00 2001
From: Scriptkiddi <fritz@otlinghaus.it>
Date: Sat, 4 Jan 2020 17:59:32 +0100
Subject: [PATCH] Fix the install target dirs to use the CMAKE flags
---
CMakeLists.txt | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96b9d1b5..ff8191ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ project(preCICE VERSION 1.6.1 LANGUAGES CXX)
#
# Overview of this configuration
-#
+#
# PREAMBLE
# Setup Options
# Find Mandatory Dependencies
@@ -30,6 +30,7 @@ include(CheckCXX11Library)
include(CopyTargetProperty)
include(XSDKMacros)
include(Validation)
+include(GNUInstallDirs)
# CMake Policies
@@ -197,7 +198,7 @@ if(CMAKE_VERSION VERSION_LESS "3.11")
endif()
endif()
-# Add precice as an empty target
+# Add precice as an empty target
add_library(precice ${preCICE_DUMMY})
set_target_properties(precice PROPERTIES
# precice is a C++11 project
@@ -267,7 +268,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/cmake/DetectGitRevision.cmake)
configure_file("${PROJECT_SOURCE_DIR}/src/precice/impl/versions.hpp.in" "${PROJECT_BINARY_DIR}/src/precice/impl/versions.hpp" @ONLY)
# Includes Configuration
-target_include_directories(precice PUBLIC
+target_include_directories(precice PUBLIC
$<BUILD_INTERFACE:${preCICE_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${preCICE_BINARY_DIR}/src>
$<INSTALL_INTERFACE:include>
@@ -282,7 +283,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/src/sources.cmake)
#
add_executable(binprecice "src/drivers/main.cpp")
-target_link_libraries(binprecice
+target_link_libraries(binprecice
PRIVATE
Threads::Threads
precice
@@ -365,18 +366,18 @@ include(${CMAKE_CURRENT_LIST_DIR}/src/tests.cmake)
# binprecice - the precice binary
install(TARGETS precice binprecice
EXPORT preciceTargets
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- RUNTIME DESTINATION bin
- PUBLIC_HEADER DESTINATION include/precice
- INCLUDES DESTINATION include/precice
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/precice
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/precice
)
if(PRECICE_InstallTest)
# Install the testprecice target
install(TARGETS testprecice
EXPORT preciceTargets
- RUNTIME DESTINATION bin
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
# Install the resources necessary for the tests
@@ -396,7 +397,7 @@ endif()
install(EXPORT preciceTargets
FILE preciceTargets.cmake
NAMESPACE precice::
- DESTINATION lib/cmake/precice
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/precice
)
# Generate a Package Config File for precice
@@ -408,7 +409,7 @@ write_basic_package_version_file("preciceConfigVersion.cmake"
# Install the Config and the ConfigVersion files
install(FILES "cmake/preciceConfig.cmake" "${preCICE_BINARY_DIR}/preciceConfigVersion.cmake"
- DESTINATION lib/cmake/precice
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/precice
)
# Setup the config in the build directory
@@ -477,7 +478,7 @@ configure_file(
"lib/pkgconfig/libprecice.pc"
@ONLY
)
-install(DIRECTORY "${preCICE_BINARY_DIR}/lib/pkgconfig"
+install(DIRECTORY "${preCICE_BINARY_DIR}/lib/pkgconfig"
DESTINATION lib
)
--
2.23.1

View File

@ -1,36 +1,28 @@
{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, openmpi, python3, python3Packages }: { lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, openmpi, python3, python3Packages, petsc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "precice"; pname = "precice";
version = "2020-01-20"; version = "2.0.2";
# Todo next release switch back to versioning but for python3 support master is needed # Todo next release switch back to versioning but for python3 support master is needed
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "precice"; owner = "precice";
repo = pname; repo = pname;
rev = "9f778290416416255fc73a495e962def301648b0"; rev = "v${version}";
sha256 = "1ij43qjbf1aq3lh91gqpviajc8lyl7qkxfccmj5md5vwf88vjaip"; sha256 = "1s41wv2077d2gqj0wsxls6wkgdk9cgzcbmk2q43ha08ccq5i3dav";
}; };
cmakeFlags = [ cmakeFlags = [
"-DPRECICE_PETScMapping=OFF"
"-DBUILD_SHARED_LIBS=ON" "-DBUILD_SHARED_LIBS=ON"
"-DPETSC=off"
"-DPYTHON_LIBRARIES=${python3.libPrefix}" "-DPYTHON_LIBRARIES=${python3.libPrefix}"
"-DPYTHON_INCLUDE_DIR=${python3}/include/${python3.libPrefix}m" "-DPYTHON_INCLUDE_DIR=${python3}/include/${python3.libPrefix}m"
]; ];
nativeBuildInputs = [ cmake gcc ]; nativeBuildInputs = [ cmake gcc ];
buildInputs = [ boost eigen libxml2 openmpi python3 python3Packages.numpy ]; buildInputs = [ boost eigen libxml2 openmpi python3 python3Packages.numpy ];
patches = [
./0001-Fix-the-install-target-dirs-to-use-the-CMAKE-flags.patch # CMake Packaging is not perfect upstream, after this PR it is https://github.com/precice/precice/pull/577/files
];
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = ''
substituteInPlace "$out"/lib/cmake/precice/preciceTargets.cmake \
--replace 'INTERFACE_INCLUDE_DIRECTORIES "''${_IMPORT_PREFIX}/include;' 'INTERFACE_INCLUDE_DIRECTORIES "'$out/include';'
''; # Check if this can be removed after upstream PR 577
meta = { meta = {
description = "preCICE stands for Precise Code Interaction Coupling Environment"; description = "preCICE stands for Precise Code Interaction Coupling Environment";
license = with lib.licenses; [ gpl3 ]; license = with lib.licenses; [ gpl3 ];