summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/cppbuild.cc156
-rw-r--r--examples/subdir/cppbuild.cc75
2 files changed, 231 insertions, 0 deletions
diff --git a/examples/cppbuild.cc b/examples/cppbuild.cc
new file mode 100644
index 0000000..d3d21be
--- /dev/null
+++ b/examples/cppbuild.cc
@@ -0,0 +1,156 @@
+#include "libcppbuild.h"
+
+namespace
+{
+BuildConfigurations myConfigs()
+{
+ return
+ {
+ {
+ .type = TargetType::Executable,
+ .target = "plugingui",
+ .sources = {
+ "drumgizmo/zita-resampler/libs/cresampler.cc",
+ "drumgizmo/zita-resampler/libs/resampler-table.cc",
+ "drumgizmo/zita-resampler/libs/resampler.cc",
+ "drumgizmo/zita-resampler/libs/vresampler.cc",
+ "drumgizmo/hugin/hugin.c",
+ "drumgizmo/pugixml/src/pugixml.cpp",
+ },
+ .depends = {
+ "libplugingui.so",
+ },
+ .cxxflags = {
+ "-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 = {
+ "-g",
+ //"-O3",
+ "-Wall",
+ "-Werror",
+ },
+ .ldflags = {
+ "-lm",
+ "-lX11",
+ "-lXext",
+ "-lsndfile",
+ "-pthread",
+ }
+ },
+ };
+}
+
+BuildConfigurations myConfigs2()
+{
+ return
+ {
+ {
+ .type = TargetType::DynamicLibrary,
+ .target = "libplugingui.so",
+ .sources = {
+ "drumgizmo/plugingui/abouttab.cc",
+ "drumgizmo/plugingui/bleedcontrolframecontent.cc",
+ "drumgizmo/plugingui/button.cc",
+ "drumgizmo/plugingui/button_base.cc",
+ "drumgizmo/plugingui/checkbox.cc",
+ "drumgizmo/plugingui/colour.cc",
+ "drumgizmo/plugingui/combobox.cc",
+ "drumgizmo/plugingui/dialog.cc",
+ "drumgizmo/plugingui/diskstreamingframecontent.cc",
+ "drumgizmo/plugingui/drumkitframecontent.cc",
+ "drumgizmo/plugingui/drumkittab.cc",
+ "drumgizmo/plugingui/eventhandler.cc",
+ "drumgizmo/plugingui/filebrowser.cc",
+ "drumgizmo/plugingui/font.cc",
+ "drumgizmo/plugingui/frame.cc",
+ "drumgizmo/plugingui/helpbutton.cc",
+ "drumgizmo/plugingui/humaniservisualiser.cc",
+ "drumgizmo/plugingui/humanizerframecontent.cc",
+ "drumgizmo/plugingui/image.cc",
+ "drumgizmo/plugingui/imagecache.cc",
+ "drumgizmo/plugingui/knob.cc",
+ "drumgizmo/plugingui/label.cc",
+ "drumgizmo/plugingui/layout.cc",
+ "drumgizmo/plugingui/led.cc",
+ "drumgizmo/plugingui/lineedit.cc",
+ "drumgizmo/plugingui/listbox.cc",
+ "drumgizmo/plugingui/listboxbasic.cc",
+ "drumgizmo/plugingui/listboxthin.cc",
+ "drumgizmo/plugingui/maintab.cc",
+ "drumgizmo/plugingui/mainwindow.cc",
+ "drumgizmo/plugingui/nativewindow_x11.cc",
+ "drumgizmo/plugingui/painter.cc",
+ "drumgizmo/plugingui/pixelbuffer.cc",
+ "drumgizmo/plugingui/pluginconfig.cc",
+ "drumgizmo/plugingui/powerbutton.cc",
+ "drumgizmo/plugingui/powerwidget.cc",
+ "drumgizmo/plugingui/progressbar.cc",
+ "drumgizmo/plugingui/resamplingframecontent.cc",
+ "drumgizmo/plugingui/resource.cc",
+ "drumgizmo/plugingui/resource_data.cc",
+ "drumgizmo/plugingui/sampleselectionframecontent.cc",
+ "drumgizmo/plugingui/scrollbar.cc",
+ "drumgizmo/plugingui/slider.cc",
+ "drumgizmo/plugingui/stackedwidget.cc",
+ "drumgizmo/plugingui/statusframecontent.cc",
+ "drumgizmo/plugingui/tabbutton.cc",
+ "drumgizmo/plugingui/tabwidget.cc",
+ "drumgizmo/plugingui/testmain.cc",
+ "drumgizmo/plugingui/textedit.cc",
+ "drumgizmo/plugingui/texture.cc",
+ "drumgizmo/plugingui/texturedbox.cc",
+ "drumgizmo/plugingui/timingframecontent.cc",
+ "drumgizmo/plugingui/toggle.cc",
+ "drumgizmo/plugingui/tooltip.cc",
+ "drumgizmo/plugingui/uitranslation.cc",
+ "drumgizmo/plugingui/utf8.cc",
+ "drumgizmo/plugingui/verticalline.cc",
+ "drumgizmo/plugingui/visualizerframecontent.cc",
+ "drumgizmo/plugingui/voicelimitframecontent.cc",
+ "drumgizmo/plugingui/widget.cc",
+ "drumgizmo/plugingui/window.cc",
+ "drumgizmo/plugingui/lodepng/lodepng.cpp",
+ },
+ .depends = {
+ "src.a",
+ },
+ .cxxflags = {
+ "-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);
+//int b = reg(__FILE__, myConfigs2);
+}
+
+// Convenience macro
+REG(myConfigs);
+REG(myConfigs2);
diff --git a/examples/subdir/cppbuild.cc b/examples/subdir/cppbuild.cc
new file mode 100644
index 0000000..03b70e6
--- /dev/null
+++ b/examples/subdir/cppbuild.cc
@@ -0,0 +1,75 @@
+#include "../libcppbuild.h"
+
+namespace
+{
+BuildConfigurations 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",
+ },
+ .cxxflags = {
+ "-fPIC",
+ "-DUI_X11",
+ "-O3",
+ "-g",
+ "-Wall",
+ "-Werror",
+ "-std=c++11",
+ "-I../drumgizmo/getoptpp",
+ "-I../drumgizmo/",
+ "-I../drumgizmo/hugin",
+ "-I../drumgizmo/plugingui/",
+ "-I ../drumgizmo/src/",
+ "-I ../drumgizmo/zita-resampler/libs",
+ "-I ../drumgizmo/pugixml/src",
+ },
+ }
+ };
+}
+
+int a = reg(__FILE__, myConfigs);
+}