diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
index d45ef4bf2befdce5ec9ed63f1baae34955ea4df1..10353df52ce9f475ec4823b202ef1cdb7cfc2eac 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
@@ -19,9 +19,20 @@ class NetcdfCxx(AutotoolsPackage):
 
     depends_on('netcdf')
 
+    variant(
+        'netcdf4', default=True, description='Compile with netCDF4 support')
+
     @property
     def libs(self):
         shared = True
         return find_libraries(
             'libnetcdf_c++', root=self.prefix, shared=shared, recursive=True
         )
+
+    def configure_args(self):
+        args = []
+        if '+netcdf4' in self.spec:
+            # There is no clear way to set this via configure, so set the flag
+            # explicitly
+            args.append('CPPFLAGS=-DUSE_NETCDF4')
+        return args