summaryrefslogtreecommitdiff
path: root/subdir/cppbuild.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2021-06-19 14:10:36 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2021-06-19 14:10:36 +0200
commit154ce9b1ce22532a68f95f2291fa12fd90c49fde (patch)
tree602a5d927c79fbdfa0972136eb00d9570f0df480 /subdir/cppbuild.cc
parent330336c28507e0ee3a77d20e03dbc994618c213c (diff)
Make sources relative to the build-file (include paths are still relative to project rootdir). Add -b to control build-dir.
Diffstat (limited to 'subdir/cppbuild.cc')
-rw-r--r--subdir/cppbuild.cc125
1 files changed, 125 insertions, 0 deletions
diff --git a/subdir/cppbuild.cc b/subdir/cppbuild.cc
new file mode 100644
index 0000000..808ac41
--- /dev/null
+++ b/subdir/cppbuild.cc
@@ -0,0 +1,125 @@
+#if 0/*
+if [ "cppbuild" -ot "$0" ]
+then
+ echo "Rebuilding cppbuild"
+ g++ -s -O3 -std=c++17 -pthread $0 libcppbuild.a -o cppbuild
+ [ $? != 0 ] && exit 1
+fi
+
+echo "Launching cppbuild"
+./cppbuild $*
+exit $?
+*/
+#endif
+
+#include <vector>
+#include <string>
+#include <utility>
+
+#include "../libcppbuild.h"
+
+/*
+Nested build configurations for for example unit-tests in a test folder
+#include "test/cppbuild.cc"
+*/
+
+/*
+Glob convenience methods
+std::string glob = getFilesInDir(...);
+*/
+
+/*
+Compilation database
+https://clang.llvm.org/docs/JSONCompilationDatabase.html
+*/
+
+/*
+En feature mere kunne være: pre-post build hooks
+De vil kunne udtrykkes som intra-build dependencies
+Og så selvfølgelig med conditions
+*/
+
+/*
+Target som er "shell script" eller sådan noget
+så kan man kalde f.eks. imageconvert
+*/
+
+/*
+Compiler selection per-target (for arm cross-compilation)
+*/
+namespace
+{
+std::vector<BuildConfiguration> myConfigs()
+{
+ return
+ {
+ {
+ .target = "src.a",
+ .sources = {
+ "../drumgizmo/src/audiocache.cc",
+ "../drumgizmo/src/audiocacheeventhandler.cc",
+ "../drumgizmo/src/audiocachefile.cc",
+ "../drumgizmo/src/audiocacheidmanager.cc",
+ "../drumgizmo/src/audiofile.cc",
+ "../drumgizmo/src/audioinputengine.cc",
+ "../drumgizmo/src/audioinputenginemidi.cc",
+ "../drumgizmo/src/audiooutputengine.cc",
+ "../drumgizmo/src/bytesizeparser.cc",
+ "../drumgizmo/src/channel.cc",
+ "../drumgizmo/src/channelmixer.cc",
+ "../drumgizmo/src/configfile.cc",
+ "../drumgizmo/src/configparser.cc",
+ "../drumgizmo/src/dgxmlparser.cc",
+ "../drumgizmo/src/directory.cc",
+ "../drumgizmo/src/domloader.cc",
+ "../drumgizmo/src/drumgizmo.cc",
+ "../drumgizmo/src/drumgizmoconf.cc",
+ "../drumgizmo/src/drumkit.cc",
+ "../drumgizmo/src/drumkitloader.cc",
+ "../drumgizmo/src/events.cc",
+ "../drumgizmo/src/events_ds.cc",
+ "../drumgizmo/src/inputprocessor.cc",
+ "../drumgizmo/src/instrument.cc",
+ "../drumgizmo/src/latencyfilter.cc",
+ "../drumgizmo/src/midimapparser.cc",
+ "../drumgizmo/src/midimapper.cc",
+ "../drumgizmo/src/path.cc",
+ "../drumgizmo/src/powerlist.cc",
+ "../drumgizmo/src/powermap.cc",
+ "../drumgizmo/src/powermapfilter.cc",
+ "../drumgizmo/src/random.cc",
+ "../drumgizmo/src/sample.cc",
+ "../drumgizmo/src/sample_selection.cc",
+ "../drumgizmo/src/sem.cc",
+ "../drumgizmo/src/staminafilter.cc",
+ "../drumgizmo/src/thread.cc",
+ "../drumgizmo/src/translation.cc",
+ "../drumgizmo/src/velocityfilter.cc",
+ "../drumgizmo/src/versionstr.cc",
+ "../drumgizmo/src/zrwrapper.cc",
+ },
+ .depends = {},
+ .cxxflags = {
+ "-fPIC",
+ "-DUI_X11",
+ "-O3",
+ "-g",
+ "-Wall",
+ "-Werror",
+ "-std=c++11",
+ "-Idrumgizmo/getoptpp",
+ "-Idrumgizmo/",
+ "-Idrumgizmo/hugin",
+ "-Idrumgizmo/plugingui/",
+ "-Idrumgizmo/src/",
+ "-Idrumgizmo/zita-resampler/libs",
+ "-Idrumgizmo/pugixml/src",
+ },
+ .cflags = {},
+ .ldflags = {}
+ }
+ };
+}
+
+int a = reg(__FILE__, myConfigs);
+}