commit 5e72eeaa15d6530097be1c26828dcabed81b0430
parent 0adbe16fc07c64eb9cb843c485fd87d3d71658c1
Author: cfillion <cfillion@users.noreply.github.com>
Date: Tue, 24 Nov 2015 23:51:05 -0500
setup the test suite
Diffstat:
4 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -2,5 +2,5 @@
.tup/
bin/
build/
-vendor/reaper*.h
+vendor/*.h*
vendor/WDL/
diff --git a/README.md b/README.md
@@ -2,7 +2,7 @@
## Build Setup
-Download [reaper_plugin.h](http://www.reaper.fm/sdk/plugin/reaper_plugin.h), save reaper_plugin_functions.h ([developer] Write C++ API functions header) and clone [WDL](http://www-dev.cockos.com/wdl/WDL.git) in the `vendor` directory.
+Download [reaper_plugin.h](http://www.reaper.fm/sdk/plugin/reaper_plugin.h), [catch.hpp](https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp), save reaper_plugin_functions.h ([developer] Write C++ API functions header) and clone [WDL](http://www-dev.cockos.com/wdl/WDL.git). All in the `vendor` directory.
The `vendor` directory structure should be as follow:
@@ -16,6 +16,7 @@ vendor
│ ├── adpcm_encode.h
│ ├── assocarray.h
│ └── ...
+├── catch.hpp
├── reaper_plugin.h
└── reaper_plugin_functions.h
```
@@ -23,5 +24,5 @@ vendor
### OS X
1. Install [tup](http://gittup.org/tup/) and Xcode Command Line Tools
-2. Run `tup --quiet` from this directory
+2. Run `tup --quiet && bin/test` from this directory
3. Copy or link `bin/reaper_reapack.dylib` to REAPER's extension directory
diff --git a/Tupfile b/Tupfile
@@ -3,10 +3,11 @@ CXX := c++
CXXFLAGS := -Wall -Wextra -Werror -Wno-unused-parameter -pipe -fPIC
CXXFLAGS += -fdiagnostics-color -fstack-protector-strong
CXXFLAGS += -O2 -std=c++14
-CXXFLAGS += -Ivendor/ -Ivendor/WDL/ -Ivendor/WDL/WDL/
+CXXFLAGS += -Ivendor -Ivendor/WDL -Ivendor/WDL/WDL
CXXFLAGS += -DWDL_NO_DEFINE_MINMAX
-LDFLAGS := -dynamiclib -framework Cocoa -framework Carbon
+LDFLAGS := -framework Cocoa -framework Carbon
+SOFLAGS := -dynamiclib
WDL := vendor/WDL/WDL
@@ -24,4 +25,7 @@ WDLSOURCE += $(JNETLIB)/connection.cpp $(JNETLIB)/asyncdns.cpp
: foreach src/*.cpp |> !build |> build/%B.o
: foreach $(WDLSOURCE) |> !build -std=c++98 -w |> build/wdl_%B.o
-: build/*.o |> !link |> bin/reaper_reapack.dylib
+: build/*.o |> !link $(SOFLAGS) |> bin/reaper_reapack.dylib
+
+: foreach test/*.cpp |> !build -Isrc |> build/test/%B.o
+: build/*.o build/test/*.o |> !link |> bin/test
diff --git a/test/main.cpp b/test/main.cpp
@@ -0,0 +1,2 @@
+#define CATCH_CONFIG_MAIN
+#include <catch.hpp>