commit 05754ae6fe9194b57c37de38ee3a11a222f62dc2
parent 2479ab6ee9427e7f702375e2f8b204bda60d51db
Author: cfillion <cfillion@users.noreply.github.com>
Date: Mon, 30 Jul 2018 13:47:50 -0400
remove rake, run tup directly and optionally make
Diffstat:
3 files changed, 22 insertions(+), 39 deletions(-)
diff --git a/Makefile b/Makefile
@@ -0,0 +1,12 @@
+.PHONY: all
+all:
+ $(error Run 'tup' to build or 'make test' instead)
+
+.PHONY: prepare
+prepare:
+ @ruby prepare.rb src/*.{{h,c}pp,mm}
+
+.PHONY: test
+test:
+ -x64/bin/test
+ -x86/bin/test
diff --git a/README.md b/README.md
@@ -8,18 +8,18 @@ and the user guide.
## Compilation
The following section describes how to build ReaPack on your computer.
-The build system uses Rake and is based on [Tup](http://gittup.org/tup/).
+The build system is based on [Tup](http://gittup.org/tup/).
A modern compiler (gcc/clang/msvc) with C++17 support is needed.
-By default the `rake` command triggers both the 64-bit and 32-bit builds and
-runs the test suite. Use `rake 'default[x64]'` or `rake 'default[x86]'`
-to select a single architecture.
+By default the `tup` command triggers both the 64-bit and 32-bit builds.
+Use `tup x64` or `tup x86` to select a single architecture. Run the test suite
+with `make test`.
The 64-bit and 32-bit binaries (such as `reaper_reapack64.so`) are created in
`x64/bin` and `x86/bin` respectively. Copy or link the desired one into
`<REAPER resource path>/UserPlugins` and restart REAPER to use it.
-Compiling ReaPack requires several external libraries and files depending
+Compiling ReaPack requires a few external libraries and files depending
on the operating system.
Put the REAPER extension SDK into the `vendor` directory:
@@ -33,11 +33,8 @@ Clone [WDL](http://www.cockos.com/wdl/): `git clone https://github.com/justinfra
### Linux
-Install GCC/G++ (multilib version if building for both 64-bit and 32-bit),
-tup, Ruby and PHP.
-
-Install libraries and development files for Boost (1.56 or newer), Catch2,
-libcurl (7.52 or newer), SQLite3 and zlib matching the target architecture(s).
+Install GCC/G++, tup, PHP and the development files for Boost (1.56 or later),
+Catch2, libcurl (7.52 or later), SQLite3 and zlib matching the target architecture(s).
#### Custom compiler
@@ -75,8 +72,8 @@ Apply these patches to WDL:
### Windows
-Install [Ruby for Windows](http://rubyinstaller.org/),
-tup ([explicit-variant](http://gittup.org/tup/win32/tup-explicit-variant-v0.7.3-45-gcf6a829.zip) branch, see [this thread](https://groups.google.com/d/topic/tup-users/UNUSE15PQdA/discussion))
+Install tup ([explicit-variant](http://gittup.org/tup/win32/tup-explicit-variant-v0.7.3-45-gcf6a829.zip)
+branch, see [this thread](https://groups.google.com/d/topic/tup-users/UNUSE15PQdA/discussion))
and [Visual Studio 2017 with C++ support](https://www.visualstudio.com/vs/community/).
Clone [vcpkg](https://github.com/Microsoft/vcpkg) into `vendor` and install
@@ -90,7 +87,7 @@ the build dependencies:
vendor\vcpkg\vcpkg install --triplet x64-windows-static %vcpkg-deps%
vendor\vcpkg\vcpkg install --triplet x86-windows-static %vcpkg-deps%
-Run the build commands using the Developer Command Prompt for VS 2017.
+Always run `tup` using the Developer Command Prompt for VS 2017.
## Support and feedback
diff --git a/Rakefile b/Rakefile
@@ -1,26 +0,0 @@
-task :default => [:prepare, :build, :test]
-
-desc 'Prepare the source code for building using prepare.rb'
-task :prepare do
- sources = FileList['src/*.{{h,c}pp,mm}']
- ruby 'prepare.rb', *sources, verbose: false
-end
-
-desc 'Build ReaPack (by default both 64-bit and 32-bit builds are generated)'
-task :build, [:variants] do |_, args|
- vars = Array(args[:variants]) + args.extras
- vars.reject &:empty?
-
- if Gem.win_platform? && ENV['VCINSTALLDIR'].nil?
- raise "VCINSTALLDIR is unset. Is this Developer Command Prompt for Visual Studio?"
- end
-
- sh 'tup', *vars, verbose: false
-end
-
-desc 'Run the test suite for all architectures'
-task :test do
- FileList['x{86,64}/bin/test{,.exe}'].each {|exe|
- sh exe
- }
-end