Percept package: add version (#12434)
* Choose a specific commit as a version (before, the only version was the master branch) * Add CMake patch which allows for building the version added here (this replaces the existing patches for percept in Spack) * Update trilinos dependency
This commit is contained in:
parent
7770372100
commit
1b8e0c36cb
76
var/spack/repos/builtin/packages/percept/cmakelists.patch
Normal file
76
var/spack/repos/builtin/packages/percept/cmakelists.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index b984099..fea4fdc 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -92,18 +92,7 @@ MESSAGE(" Trilinos_BUILD_SHARED_LIBS = ${Trilinos_BUILD_SHARED_LIBS}")
|
||||||
|
MESSAGE(" Trilinos_CXX_COMPILER_FLAGS = ${Trilinos_CXX_COMPILER_FLAGS}")
|
||||||
|
MESSAGE("End of Trilinos details\n")
|
||||||
|
|
||||||
|
-# Optional Installation helpers
|
||||||
|
-SET (INSTALL_PERCEPT FALSE)
|
||||||
|
-IF (ENABLE_INSTALL)
|
||||||
|
- SET (INSTALL_PERCEPT TRUE)
|
||||||
|
-ENDIF()
|
||||||
|
-
|
||||||
|
-IF (INSTALL_PERCEPT)
|
||||||
|
- set(BINARY_INSTALL_DIR bin)
|
||||||
|
- set(INCLUDE_INSTALL_DIR include)
|
||||||
|
- set(LIB_INSTALL_DIR lib)
|
||||||
|
- INCLUDE(CMakePackageConfigHelpers)
|
||||||
|
-ENDIF ()
|
||||||
|
+INCLUDE(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
MESSAGE("Setting and checking of compilers:")
|
||||||
|
SET(CMAKE_CXX_COMPILER ${Trilinos_CXX_COMPILER} )
|
||||||
|
@@ -229,6 +218,9 @@ FILE (GLOB HEADER
|
||||||
|
FILE (GLOB ADAPT_SOURCE src/adapt/main/*.cpp)
|
||||||
|
#MESSAGE("-- ADAPT_SOURCE = ${ADAPT_SOURCE}")
|
||||||
|
|
||||||
|
+FILE (GLOB TRANSFER_SOURCE src/percept/mesh_transfer/*.cpp)
|
||||||
|
+#MESSAGE("-- TRANSFER_SOURCE = ${TRANSFER_SOURCE}")
|
||||||
|
+
|
||||||
|
FILE (GLOB PERCEPT_UTEST_SOURCE test/unit_tests/*.cpp)
|
||||||
|
#MESSAGE("-- PERCEPT_UTEST_SOURCE = ${PERCEPT_UTEST_SOURCE}")
|
||||||
|
|
||||||
|
@@ -251,6 +243,7 @@ SET(percept_lib_name "percept")
|
||||||
|
|
||||||
|
#SET(percept_ex_name "perceptX")
|
||||||
|
SET(adapt_ex_name "mesh_adapt")
|
||||||
|
+SET(transfer_ex_name "mesh_transfer")
|
||||||
|
#SET(percept_utest_name "percept_utest")
|
||||||
|
#SET(percept_rtest_name "percept_rtest")
|
||||||
|
#SET(percept_htest_name "percept_htest")
|
||||||
|
@@ -268,6 +261,9 @@ IF (NOT STK_PERCEPT_LITE)
|
||||||
|
ADD_EXECUTABLE(${adapt_ex_name} ${ADAPT_MAIN} ${ADAPT_HEADER})
|
||||||
|
TARGET_LINK_LIBRARIES(${adapt_ex_name} ${percept_lib_name} ${YAML_LIBRARY})
|
||||||
|
|
||||||
|
+ ADD_EXECUTABLE(${transfer_ex_name} ${TRANSFER_SOURCE})
|
||||||
|
+ TARGET_LINK_LIBRARIES(${transfer_ex_name} ${percept_lib_name} ${YAML_LIBRARY})
|
||||||
|
+
|
||||||
|
#ADD_EXECUTABLE(${percept_utest_name} ${PERCEPT_UTEST_SOURCE} ${PERCEPT_UTEST_HEADER})
|
||||||
|
#TARGET_LINK_LIBRARIES(${percept_utest_name} ${percept_lib_name} ${GTEST_LIBRARY})
|
||||||
|
|
||||||
|
@@ -281,7 +277,7 @@ IF (NOT STK_PERCEPT_LITE)
|
||||||
|
TARGET_LINK_LIBRARIES(${percept_lib_name} ${Trilinos_LIBRARIES} ${YAML_LIBRARY} ${OPENNURBS_LIBRARY} ${BOOST_LIBRARIES})
|
||||||
|
|
||||||
|
SET_PROPERTY(
|
||||||
|
- TARGET ${percept_lib_name} ${adapt_ex_name} #${percept_utest_name} ${percept_rtest_name}
|
||||||
|
+ TARGET ${percept_lib_name} ${adapt_ex_name} ${transfer_ex_name} #${percept_utest_name} ${percept_rtest_name}
|
||||||
|
PROPERTY COMPILE_DEFINITIONS STK_PERCEPT_LITE=0 STK_PERCEPT_HAS_GEOMETRY STK_PERCEPT_USE_INTREPID
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -290,6 +286,14 @@ IF (NOT STK_PERCEPT_LITE)
|
||||||
|
PROPERTY COMPILE_DEFINITIONS STK_PERCEPT_LITE=0
|
||||||
|
)
|
||||||
|
|
||||||
|
+ install(TARGETS ${percept_ex_name} ${adapt_ex_name} ${transfer_ex_name}
|
||||||
|
+ ${percept_htest_name} ${percept_rtest_name} ${percept_utest_name}
|
||||||
|
+ percept
|
||||||
|
+ RUNTIME DESTINATION bin
|
||||||
|
+ ARCHIVE DESTINATION lib
|
||||||
|
+ LIBRARY DESTINATION lib)
|
||||||
|
+ include(CMakePackageConfigHelpers)
|
||||||
|
+
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
--- percept.orig/CMakeLists.txt 2017-12-08 09:16:41.572819000 -0700
|
|
||||||
+++ percept/CMakeLists.txt 2017-12-08 09:17:25.028818000 -0700
|
|
||||||
@@ -97,13 +97,6 @@
|
|
||||||
SET (INSTALL_PERCEPT TRUE)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
-IF (INSTALL_PERCEPT)
|
|
||||||
- set(BINARY_INSTALL_DIR bin)
|
|
||||||
- set(INCLUDE_INSTALL_DIR include)
|
|
||||||
- set(LIB_INSTALL_DIR lib)
|
|
||||||
- INCLUDE(CMakePackageConfigHelpers)
|
|
||||||
-ENDIF ()
|
|
||||||
-
|
|
||||||
MESSAGE("Setting and checking of compilers:")
|
|
||||||
SET(CMAKE_CXX_COMPILER ${Trilinos_CXX_COMPILER} )
|
|
||||||
SET(CMAKE_C_COMPILER ${Trilinos_C_COMPILER} )
|
|
||||||
@@ -269,6 +262,8 @@
|
|
||||||
FILE (GLOB ADAPT_SOURCE src/adapt/main/*.cpp)
|
|
||||||
MESSAGE("-- ADAPT_SOURCE = ${ADAPT_SOURCE}")
|
|
||||||
|
|
||||||
+file(GLOB TRANSFER_SOURCE src/percept/mesh_transfer/*.cpp)
|
|
||||||
+
|
|
||||||
FILE (GLOB PERCEPT_UTEST_SOURCE test/unit_tests/*.cpp)
|
|
||||||
MESSAGE("-- PERCEPT_UTEST_SOURCE = ${PERCEPT_UTEST_SOURCE}")
|
|
||||||
|
|
||||||
@@ -330,8 +325,11 @@
|
|
||||||
TARGET_LINK_LIBRARIES(${percept_lib_name} ${Trilinos_LIBRARIES} ${YAML_LIBRARY} ${OPENNURBS_LIBRARY} ${BOOST_LIBRARIES})
|
|
||||||
# TARGET_LINK_LIBRARIES(${percept_lib_name} ${GTEST_LIBRARY})
|
|
||||||
|
|
||||||
+ add_executable(mesh_transfer ${TRANSFER_SOURCE})
|
|
||||||
+ target_link_libraries(mesh_transfer ${percept_lib_name})
|
|
||||||
+
|
|
||||||
SET_PROPERTY(
|
|
||||||
- TARGET ${percept_lib_name} ${adapt_ex_name} ${percept_utest_name} ${percept_rtest_name}
|
|
||||||
+ TARGET ${percept_lib_name} mesh_transfer ${adapt_ex_name} ${percept_utest_name} ${percept_rtest_name}
|
|
||||||
PROPERTY COMPILE_DEFINITIONS STK_PERCEPT_LITE=0 STK_PERCEPT_HAS_GEOMETRY STK_PERCEPT_USE_INTREPID
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -342,5 +340,15 @@
|
|
||||||
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
+IF (INSTALL_PERCEPT)
|
|
||||||
+ install(TARGETS ${percept_ex_name} ${adapt_ex_name}
|
|
||||||
+ ${percept_htest_name} ${percept_rtest_name} ${percept_utest_name}
|
|
||||||
+ mesh_transfer percept
|
|
||||||
+ RUNTIME DESTINATION bin
|
|
||||||
+ ARCHIVE DESTINATION lib
|
|
||||||
+ LIBRARY DESTINATION lib)
|
|
||||||
+ #install(DIRECTORY include/ DESTINATION include)
|
|
||||||
+ include(CMakePackageConfigHelpers)
|
|
||||||
+ENDIF ()
|
|
||||||
|
|
||||||
MESSAGE("\nAnd CMake says...:")
|
|
@ -1,19 +0,0 @@
|
|||||||
--- percept.orig/src/percept/MeshType.hpp 2017-12-08 09:16:42.080818000 -0700
|
|
||||||
+++ percept/src/percept/MeshType.hpp 2017-12-08 09:17:25.568819000 -0700
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
#include <percept/Percept.hpp>
|
|
||||||
|
|
||||||
#include <array>
|
|
||||||
+#include <memory>
|
|
||||||
#include <stk_mesh/base/Field.hpp>
|
|
||||||
#include <stk_mesh/base/Entity.hpp>
|
|
||||||
#include <stk_mesh/base/Bucket.hpp>
|
|
||||||
@@ -62,7 +63,7 @@
|
|
||||||
typedef Kokkos::LayoutRight SecondaryDataLayout;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- #elif KOKKOS_HAVE_OPENMP
|
|
||||||
+ #elif defined(KOKKOS_HAVE_OPENMP)
|
|
||||||
typedef Kokkos::OpenMP ExecSpace;
|
|
||||||
typedef Kokkos::OpenMP MemSpace;
|
|
||||||
typedef Kokkos::LayoutLeft DataLayout;
|
|
@ -14,19 +14,18 @@ class Percept(CMakePackage):
|
|||||||
homepage = "https://github.com/PerceptTools/percept"
|
homepage = "https://github.com/PerceptTools/percept"
|
||||||
git = "https://github.com/PerceptTools/percept.git"
|
git = "https://github.com/PerceptTools/percept.git"
|
||||||
|
|
||||||
# This package file was created at percept
|
# The open version of Percept does not seem to be supported on
|
||||||
# commit dc1c8ec0175213146ac139946beca185a84c22e8
|
# github and it doesn't have tags. So we specify a specific commit
|
||||||
version('develop', branch='master')
|
# here and the patch allows us to build the mesh_transfer exe and
|
||||||
|
# creates a make install target so Spack can install Percept
|
||||||
|
version('master', commit='363cdd0050443760d54162f140b2fb54ed9decf0')
|
||||||
|
patch('cmakelists.patch')
|
||||||
|
|
||||||
depends_on('googletest~shared@:1.8.0')
|
depends_on('googletest~shared')
|
||||||
depends_on('opennurbs@percept')
|
depends_on('opennurbs@percept')
|
||||||
depends_on('boost+graph+mpi')
|
depends_on('boost+graph+mpi')
|
||||||
depends_on('yaml-cpp+pic~shared@0.5.3:')
|
depends_on('yaml-cpp+pic~shared@0.5.3:')
|
||||||
# Percept was initially tested against Trilinos 12.12.1
|
depends_on('trilinos~shared+exodus+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+aztec+sacado~openmp+shards+intrepid+cgns@master,12.14.1:')
|
||||||
depends_on('trilinos~shared+exodus+tpetra+epetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+aztec+sacado~openmp+shards+intrepid+cgns@master,12.12.1:')
|
|
||||||
|
|
||||||
patch('fix_cmakelists.patch')
|
|
||||||
patch('fix_header.patch')
|
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
@ -49,7 +48,6 @@ def cmake_args(self):
|
|||||||
spec['opennurbs'].prefix.lib,
|
spec['opennurbs'].prefix.lib,
|
||||||
'-DPERCEPT_TPLS_INSTALL_DIR:PATH=%s' %
|
'-DPERCEPT_TPLS_INSTALL_DIR:PATH=%s' %
|
||||||
spec['googletest'].prefix,
|
spec['googletest'].prefix,
|
||||||
'-DENABLE_INSTALL:BOOL=ON'
|
|
||||||
])
|
])
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
Loading…
Reference in New Issue
Block a user