7
7
8
8
import spack .build_systems .cmake
9
9
from spack .package import *
10
+ from spack .util .executable import which
10
11
11
12
12
13
class Mmg (CMakePackage ):
@@ -50,6 +51,7 @@ class Mmg(CMakePackage):
50
51
variant ("scotch" , default = True , description = "Enable SCOTCH library support" )
51
52
variant ("doc" , default = False , description = "Build documentation" )
52
53
variant ("vtk" , default = False , when = "@5.5.0:" , description = "Enable VTK I/O support" )
54
+ variant ("private_headers" , default = False , description = "Enable private headers" , when = "@5.7.0:" )
53
55
54
56
depends_on ("scotch" , when = "+scotch" )
55
57
depends_on ("doxygen" , when = "+doc" )
@@ -59,9 +61,10 @@ class Mmg(CMakePackage):
59
61
class CMakeBuilder (spack .build_systems .cmake .CMakeBuilder ):
60
62
def cmake_args (self ):
61
63
shared_active = self .spec .satisfies ("+shared" )
62
- return [
64
+ args = [
63
65
self .define_from_variant ("USE_SCOTCH" , "scotch" ),
64
66
self .define_from_variant ("USE_VTK" , "vtk" ),
67
+ self .define_from_variant ("MMG_INSTALL_PRIVATE_HEADERS" , "private_headers" ),
65
68
self .define ("BUILD_SHARED_LIBS" , shared_active ),
66
69
self .define ("LIBMMG3D_SHARED" , shared_active ),
67
70
self .define ("LIBMMG2D_SHARED" , shared_active ),
@@ -72,6 +75,7 @@ def cmake_args(self):
72
75
self .define ("LIBMMGS_STATIC" , not shared_active ),
73
76
self .define ("LIBMMG_STATIC" , not shared_active ),
74
77
]
78
+ return args
75
79
76
80
# parmmg requires this for its build
77
81
@run_after ("install" )
0 commit comments