summaryrefslogtreecommitdiff
path: root/c++/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'c++/SConscript')
-rw-r--r--c++/SConscript37
1 files changed, 37 insertions, 0 deletions
diff --git a/c++/SConscript b/c++/SConscript
new file mode 100644
index 0000000..1ee0d39
--- /dev/null
+++ b/c++/SConscript
@@ -0,0 +1,37 @@
+#!/bin/false
+
+import os
+import os.path
+import glob
+
+
+Import('env')
+
+dir_path = Dir('.').abspath
+
+# Environment for base library
+core_env = env.Clone();
+
+core_env.sources = sorted(glob.glob(dir_path + "/*.cpp"))
+core_env.headers = sorted(glob.glob(dir_path + "/*.h"))
+core_env.distance_headers = sorted(glob.glob(dir_path + "/distance/*.h"))
+core_env.time_headers = sorted(glob.glob(dir_path + "/time/*.h"))
+
+env.sources += core_env.sources;
+env.headers += core_env.headers;
+
+## Shared lib
+objects_shared = []
+core_env.add_source_files(objects_shared, core_env.sources, shared=True);
+core_env.library_shared = core_env.SharedLibrary('#build/kel-unit', [objects_shared]);
+
+# Set Alias
+env.Alias('library_core', [core_env.library_shared]);
+
+env.targets += ['library_core'];
+
+# Install
+env.Install('$prefix/lib/', [core_env.library_shared]);
+env.Install('$prefix/include/kel/unit', [core_env.headers]);
+env.Install('$prefix/include/kel/unit/distance', [core_env.distance_headers]);
+env.Install('$prefix/include/kel/unit/time', [core_env.time_headers]);