From 154ce9b1ce22532a68f95f2291fa12fd90c49fde Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 19 Jun 2021 14:10:36 +0200 Subject: Make sources relative to the build-file (include paths are still relative to project rootdir). Add -b to control build-dir. --- subdir/cppbuild.cc | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++ subdir/cppbuild2.cc | 125 ---------------------------------------------------- 2 files changed, 125 insertions(+), 125 deletions(-) create mode 100644 subdir/cppbuild.cc delete mode 100644 subdir/cppbuild2.cc (limited to 'subdir') 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 +#include +#include + +#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 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); +} diff --git a/subdir/cppbuild2.cc b/subdir/cppbuild2.cc deleted file mode 100644 index 374319d..0000000 --- a/subdir/cppbuild2.cc +++ /dev/null @@ -1,125 +0,0 @@ -#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 -#include -#include - -#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 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); -} -- cgit v1.2.3