Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Spack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
eic_tools
Spack
Commits
68109654
Commit
68109654
authored
8 years ago
by
Todd Gamblin
Committed by
GitHub
8 years ago
Browse files
Options
Downloads
Plain Diff
Merge pull request #1130 from davydden/gmsh
Gmsh -- various fixes
parents
793c9f55
51b0f53b
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
var/spack/repos/builtin/packages/gmsh/package.py
+65
-19
65 additions, 19 deletions
var/spack/repos/builtin/packages/gmsh/package.py
with
65 additions
and
19 deletions
var/spack/repos/builtin/packages/gmsh/package.py
+
65
−
19
View file @
68109654
...
@@ -27,39 +27,51 @@
...
@@ -27,39 +27,51 @@
class
Gmsh
(
Package
):
class
Gmsh
(
Package
):
"""
"""
Gmsh is a free 3D finite element grid generator with a built-in CAD engine and post-processor. Its design goal is
Gmsh is a free 3D finite element grid generator with a built-in CAD engine
to provide a fast, light and user-friendly meshing tool with parametric input and advanced visualization
and post-processor. Its design goal is to provide a fast, light and
capabilities. Gmsh is built around four modules: geometry, mesh, solver and post-processing. The specification of
user-friendly meshing tool with parametric input and advanced visualization
any input to these modules is done either interactively using the graphical user interface or in ASCII text files
capabilities. Gmsh is built around four modules: geometry, mesh, solver and
using Gmsh
'
s own scripting language.
post-processing. The specification of any input to these modules is done
either interactively using the graphical user interface or in ASCII text
files using Gmsh
'
s own scripting language.
"""
"""
homepage
=
'
http://gmsh.info
'
homepage
=
'
http://gmsh.info
'
url
=
'
http://gmsh.info/src/gmsh-2.11.0-source.tgz
'
url
=
'
http://gmsh.info/src/gmsh-2.11.0-source.tgz
'
version
(
'
2.12.0
'
,
'
7fbd2ec8071e79725266e72744d21e902d4fe6fa9e7c52340ad5f4be5c159d09
'
)
version
(
'
2.11.0
'
,
'
f15b6e7ac9ca649c9a74440e1259d0db
'
)
version
(
'
2.11.0
'
,
'
f15b6e7ac9ca649c9a74440e1259d0db
'
)
# FIXME : Misses dependencies on gmm, PetsC, TetGen
variant
(
'
shared
'
,
default
=
True
,
description
=
'
Enables the build of shared libraries
'
)
variant
(
'
debug
'
,
default
=
False
,
description
=
'
Builds the library in debug mode
'
)
variant
(
'
shared
'
,
default
=
True
,
description
=
'
Enables the build of shared libraries
'
)
variant
(
'
mpi
'
,
default
=
False
,
description
=
'
Builds MPI support for parser and solver
'
)
variant
(
'
debug
'
,
default
=
False
,
description
=
'
Builds the library in debug mode
'
)
variant
(
'
fltk
'
,
default
=
False
,
description
=
'
Enables the build of the FLTK GUI
'
)
variant
(
'
mpi
'
,
default
=
False
,
description
=
'
Builds MPI support for parser and solver
'
)
variant
(
'
hdf5
'
,
default
=
False
,
description
=
'
Enables HDF5 support
'
)
variant
(
'
fltk
'
,
default
=
False
,
description
=
'
Enables the build of the FLTK GUI
'
)
variant
(
'
compression
'
,
default
=
True
,
description
=
'
Enables IO compression through zlib
'
)
variant
(
'
hdf5
'
,
default
=
False
,
description
=
'
Enables HDF5 support
'
)
variant
(
'
oce
'
,
default
=
False
,
description
=
'
Build with OCE
'
)
variant
(
'
compression
'
,
default
=
True
,
description
=
'
Enables IO compression through zlib
'
)
variant
(
'
petsc
'
,
default
=
False
,
description
=
'
Build with PETSc
'
)
variant
(
'
slepc
'
,
default
=
False
,
description
=
'
Build with SLEPc (only when PETSc is enabled)
'
)
depends_on
(
'
blas
'
)
depends_on
(
'
blas
'
)
depends_on
(
'
lapack
'
)
depends_on
(
'
lapack
'
)
depends_on
(
'
cmake@2.8:
'
)
depends_on
(
'
gmp
'
)
depends_on
(
'
gmp
'
)
depends_on
(
'
mpi
'
,
when
=
'
+mpi
'
)
depends_on
(
'
mpi
'
,
when
=
'
+mpi
'
)
depends_on
(
'
fltk
'
,
when
=
'
+fltk
'
)
# Assumes OpenGL with GLU is already provided by the system
# Assumes OpenGL with GLU is already provided by the system:
depends_on
(
'
fltk
'
,
when
=
'
+fltk
'
)
depends_on
(
'
hdf5
'
,
when
=
'
+hdf5
'
)
depends_on
(
'
hdf5
'
,
when
=
'
+hdf5
'
)
depends_on
(
'
zlib
'
,
when
=
'
+compression
'
)
depends_on
(
'
oce
'
,
when
=
'
+oce
'
)
depends_on
(
'
petsc+mpi
'
,
when
=
'
+petsc+mpi
'
)
depends_on
(
'
petsc
'
,
when
=
'
+petsc~mpi
'
)
depends_on
(
'
slepc
'
,
when
=
'
+slepc+petsc
'
)
depends_on
(
'
zlib
'
,
when
=
'
+compression
'
)
def
install
(
self
,
spec
,
prefix
):
def
install
(
self
,
spec
,
prefix
):
options
=
[]
options
=
[]
options
.
extend
(
std_cmake_args
)
options
.
extend
(
std_cmake_args
)
# Make sure native file dialogs are used
options
.
extend
([
'
-DENABLE_NATIVE_FILE_CHOOSER=ON
'
])
build_directory
=
join_path
(
self
.
stage
.
path
,
'
spack-build
'
)
build_directory
=
join_path
(
self
.
stage
.
path
,
'
spack-build
'
)
source_directory
=
self
.
stage
.
source_path
source_directory
=
self
.
stage
.
source_path
...
@@ -68,11 +80,45 @@ def install(self, spec, prefix):
...
@@ -68,11 +80,45 @@ def install(self, spec, prefix):
# Prevent GMsh from using its own strange directory structure on OSX
# Prevent GMsh from using its own strange directory structure on OSX
options
.
append
(
'
-DENABLE_OS_SPECIFIC_INSTALL=OFF
'
)
options
.
append
(
'
-DENABLE_OS_SPECIFIC_INSTALL=OFF
'
)
# Make sure GMSH picks up correct BlasLapack by providing linker flags
options
.
append
(
'
-DBLAS_LAPACK_LIBRARIES=%s %s
'
%
(
to_link_flags
(
spec
[
'
lapack
'
].
lapack_shared_lib
),
to_link_flags
(
spec
[
'
blas
'
].
blas_shared_lib
)))
# Gmsh does not have an option to compile against external metis.
# Its own Metis, however, fails to build
options
.
append
(
'
-DENABLE_METIS=OFF
'
)
if
'
+fltk
'
in
spec
:
options
.
append
(
'
-DENABLE_FLTK=ON
'
)
else
:
options
.
append
(
'
-DENABLE_FLTK=OFF
'
)
if
'
+oce
'
in
spec
:
env
[
'
CASROOT
'
]
=
self
.
spec
[
'
oce
'
].
prefix
options
.
extend
([
'
-DENABLE_OCC=ON
'
])
else
:
options
.
extend
([
'
-DENABLE_OCC=OFF
'
])
if
'
+petsc
'
in
spec
:
env
[
'
PETSC_DIR
'
]
=
self
.
spec
[
'
petsc
'
].
prefix
options
.
extend
([
'
-DENABLE_PETSC=ON
'
])
else
:
options
.
extend
([
'
-DENABLE_PETSC=OFF
'
])
if
'
+slepc
'
in
spec
:
env
[
'
SLEPC_DIR
'
]
=
self
.
spec
[
'
slepc
'
].
prefix
options
.
extend
([
'
-DENABLE_SLEPC=ON
'
])
else
:
options
.
extend
([
'
-DENABLE_SLEPC=OFF
'
])
if
'
+shared
'
in
spec
:
if
'
+shared
'
in
spec
:
# Builds dynamic executable and installs shared library
options
.
extend
([
'
-DENABLE_BUILD_SHARED:BOOL=ON
'
,
options
.
extend
([
'
-DENABLE_BUILD_SHARED:BOOL=ON
'
,
'
-DENABLE_BUILD_DYNAMIC:BOOL=ON
'
])
# Builds dynamic executable and installs shared library
'
-DENABLE_BUILD_DYNAMIC:BOOL=ON
'
])
else
:
else
:
options
.
append
(
'
-DENABLE_BUILD_LIB:BOOL=ON
'
)
# Builds and installs static library
# Builds and installs static library
options
.
append
(
'
-DENABLE_BUILD_LIB:BOOL=ON
'
)
if
'
+debug
'
in
spec
:
if
'
+debug
'
in
spec
:
options
.
append
(
'
-DCMAKE_BUILD_TYPE:STRING=Debug
'
)
options
.
append
(
'
-DCMAKE_BUILD_TYPE:STRING=Debug
'
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment