summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/codec-netcdf/.nix/derivation.nix6
-rw-r--r--modules/codec-netcdf/SConstruct10
-rw-r--r--modules/codec-netcdf/c++/SConscript (renamed from modules/codec-netcdf/SConscript)8
-rw-r--r--modules/codec-netcdf/c++/netcdf.h (renamed from modules/codec-netcdf/netcdf.h)0
-rw-r--r--modules/codec-netcdf/c++/netcdf.tmpl.h (renamed from modules/codec-netcdf/netcdf.tmpl.h)0
-rw-r--r--modules/codec-netcdf/tests/SConscript31
-rw-r--r--modules/codec-netcdf/tests/codec-netcdf.cpp (renamed from tests/codec-netcdf.cpp)2
7 files changed, 50 insertions, 7 deletions
diff --git a/modules/codec-netcdf/.nix/derivation.nix b/modules/codec-netcdf/.nix/derivation.nix
index 770942e..67d1a6c 100644
--- a/modules/codec-netcdf/.nix/derivation.nix
+++ b/modules/codec-netcdf/.nix/derivation.nix
@@ -28,6 +28,12 @@ in stdenv.mkDerivation {
forstio.codec
netcdf
];
+
+ doCheck = true;
+ checkPhase = ''
+ scons test
+ ./bin/tests
+ '';
outputs = ["out" "dev"];
}
diff --git a/modules/codec-netcdf/SConstruct b/modules/codec-netcdf/SConstruct
index edd5f57..1f205d2 100644
--- a/modules/codec-netcdf/SConstruct
+++ b/modules/codec-netcdf/SConstruct
@@ -46,7 +46,12 @@ env_vars.Add('prefix',
env=Environment(ENV=os.environ, variables=env_vars, CPPPATH=[],
CPPDEFINES=['SAW_UNIX'],
CXXFLAGS=['-std=c++20','-g','-Wall','-Wextra'],
- LIBS=['forstio-codec'])
+ LIBS=[
+ 'forstio-core',
+ 'forstio-codec',
+ 'netcdf'
+ ]
+);
env.__class__.add_source_files = add_kel_source_files
env.Tool('compilation_db');
env.cdb = env.CompilationDatabase('compile_commands.json');
@@ -57,7 +62,8 @@ env.headers = [];
env.targets = [];
Export('env')
-SConscript('SConscript')
+SConscript('c++/SConscript')
+SConscript('tests/SConscript')
env.Alias('cdb', env.cdb);
env.Alias('all', [env.targets]);
diff --git a/modules/codec-netcdf/SConscript b/modules/codec-netcdf/c++/SConscript
index a469f77..fd95267 100644
--- a/modules/codec-netcdf/SConscript
+++ b/modules/codec-netcdf/c++/SConscript
@@ -21,18 +21,18 @@ env.headers += codec_netcdf_env.headers;
## Shared lib
objects_shared = []
codec_netcdf_env.add_source_files(objects_shared, codec_netcdf_env.sources, shared=True);
-codec_netcdf_env.library_shared = codec_netcdf_env.SharedLibrary('#build/forstio-codec-netcdf', [objects_shared]);
+env.library_shared = codec_netcdf_env.SharedLibrary('#build/forstio-codec-netcdf', [objects_shared]);
## Static lib
objects_static = []
codec_netcdf_env.add_source_files(objects_static, codec_netcdf_env.sources, shared=False);
-codec_netcdf_env.library_static = codec_netcdf_env.StaticLibrary('#build/forstio-codec-netcdf', [objects_static]);
+env.library_static = codec_netcdf_env.StaticLibrary('#build/forstio-codec-netcdf', [objects_static]);
# Set Alias
-env.Alias('library_codec_netcdf', [codec_netcdf_env.library_shared, codec_netcdf_env.library_static]);
+env.Alias('library_codec_netcdf', [env.library_shared, env.library_static]);
env.targets += ['library_codec_netcdf'];
# Install
-env.Install('$prefix/lib/', [codec_netcdf_env.library_shared, codec_netcdf_env.library_static]);
+env.Install('$prefix/lib/', [env.library_shared, env.library_static]);
env.Install('$prefix/include/forstio/codec/netcdf/', [codec_netcdf_env.headers]);
diff --git a/modules/codec-netcdf/netcdf.h b/modules/codec-netcdf/c++/netcdf.h
index 52ad494..52ad494 100644
--- a/modules/codec-netcdf/netcdf.h
+++ b/modules/codec-netcdf/c++/netcdf.h
diff --git a/modules/codec-netcdf/netcdf.tmpl.h b/modules/codec-netcdf/c++/netcdf.tmpl.h
index bf257e4..bf257e4 100644
--- a/modules/codec-netcdf/netcdf.tmpl.h
+++ b/modules/codec-netcdf/c++/netcdf.tmpl.h
diff --git a/modules/codec-netcdf/tests/SConscript b/modules/codec-netcdf/tests/SConscript
new file mode 100644
index 0000000..608c2b7
--- /dev/null
+++ b/modules/codec-netcdf/tests/SConscript
@@ -0,0 +1,31 @@
+#!/bin/false
+
+import os
+import os.path
+import glob
+
+
+Import('env')
+
+dir_path = Dir('.').abspath
+
+# Environment for base library
+test_cases_env = env.Clone();
+
+test_cases_env.Append(LIBS=['forstio-test']);
+
+test_cases_env.sources = sorted(glob.glob(dir_path + "/*.cpp"))
+test_cases_env.headers = sorted(glob.glob(dir_path + "/*.h"))
+
+env.sources += test_cases_env.sources;
+env.headers += test_cases_env.headers;
+
+objects_static = []
+test_cases_env.add_source_files(objects_static, test_cases_env.sources, shared=False);
+test_cases_env.program = test_cases_env.Program('#bin/tests', [objects_static, env.library_static]);
+
+# Set Alias
+env.Alias('test', test_cases_env.program);
+env.Alias('check', test_cases_env.program);
+
+env.targets += ['test','check'];
diff --git a/tests/codec-netcdf.cpp b/modules/codec-netcdf/tests/codec-netcdf.cpp
index 67dc122..29ba4fa 100644
--- a/tests/codec-netcdf.cpp
+++ b/modules/codec-netcdf/tests/codec-netcdf.cpp
@@ -1,5 +1,5 @@
#include <forstio/test/suite.h>
-#include <forstio/codec/netcdf/netcdf.h>
+#include "../c++/netcdf.h"
namespace {
namespace schema {