Commit Graph
100 Commits
Author SHA1 Message Date
josh f8e6666a2c Add 'build' DSL method.
Disallow processing Environments until configuration is performed.
2018-12-17 22:14:35 -05:00
josh 5720662b7c avoid mkdir() race conditions - close #75 2018-12-11 22:13:52 -05:00
josh 432d221be2 remove build_dir functionality - close #65 2018-12-11 22:06:20 -05:00
josh 7c7ee142e0 implement autoconf - close #63, close #68, closes #67 2018-12-03 22:23:42 -05:00
josh ba69f05e99 remove backtrace from stderr for unknown CLI options - close #69 2018-11-30 23:29:19 -05:00
josh 6180410cc4 add spec for Cache validating JSON contents 2018-11-30 23:11:52 -05:00
josh 2d44a88fb6 add spec for unknown CLI operation 2018-11-30 23:08:16 -05:00
josh 28e3781331 add configure spec testing --prefix 2018-11-30 23:05:41 -05:00
josh c0a28d0207 add configure spec to check multiple set_define's being stored 2018-11-29 22:14:10 -05:00
josh 0e27e967d0 configure: fix handling build_dir and prefix options 2018-11-29 22:06:36 -05:00
josh 1ecce7e99e add configure spec to check as much as possible 2018-11-29 22:02:42 -05:00
josh 25b73ebd8f move logic to find an executable from ConfigureOp to Util 2018-11-29 21:51:30 -05:00
josh bca963af5c add configure spec for check_cfg not finding the specified program 2018-11-29 21:28:37 -05:00
josh ba5377a1ce add configure specs to check for unknown compiler names 2018-11-29 20:51:24 -05:00
josh 8d7fd4bda8 test all known compiler invocation commands - close #66 2018-11-29 17:44:36 -05:00
josh e3e2e46d6e fix configure :set_define handling to append to CPPDEFINES array 2018-11-25 22:00:55 -05:00
josh 9e0ce5a55c add spec for check_cfg with a :package argument 2018-11-25 21:58:22 -05:00
josh b88131eb2f add specs testing configure :set_define option and fix the same 2018-11-25 21:45:46 -05:00
josh dff80587ac move Rscons.absolute_path?() to Util 2018-11-25 21:31:48 -05:00
josh cd2696dd0b add Util specs 2018-11-25 21:22:37 -05:00
josh 36643c1ab1 add Util module and Util.make_relative_path() 2018-11-25 21:17:11 -05:00
josh 778d9ed8b2 add simplecov filters to filter out spec/dspec tests when the opposite spec task is executed 2018-11-25 21:11:00 -05:00
josh 660d30558a remove Environment#to_h 2018-11-25 21:00:29 -05:00
josh 82fbd34149 add dspec task to test dist file; revert spec task to normal behavior 2018-11-25 20:45:32 -05:00
josh e0b82d37af cache: remove obsolete "default_environment_vars" entry 2018-11-25 17:02:02 -05:00
josh 7a90325b67 set Environment build root automatically - close #64 2018-11-25 16:58:19 -05:00
josh 49116e6b59 store build_dir and prefix configuration options in cache 2018-11-25 16:06:36 -05:00
josh 90300a1606 pass operation options via Hash instead of setting Application attributes 2018-11-25 16:02:04 -05:00
josh 1eb07e9a22 use Rsconscript instead of Rsconsfile - close #62 2018-11-25 15:42:53 -05:00
josh 9975eec165 add build test for check_cfg - close #59 2018-11-23 22:23:01 -05:00
josh 04c0a6a86f colorize configure messages more consistently 2018-11-23 21:55:02 -05:00
josh bfdf3a12fd load configuration data when constructing a new Environment - close #60 2018-11-23 21:23:19 -05:00
josh 6dd9c835ce store configuration data more opaquely in Cache 2018-11-23 20:15:39 -05:00
josh cfec0dcadc simplify Application/Script/ConfigureOp interaction with direct calls to configure methods 2018-11-23 19:59:47 -05:00
josh a1c1cc1855 check_cfg: print something 2018-11-15 17:14:11 -05:00
josh add9f9c50d save configured environment construction flags for separate build step - close #60 2018-11-15 17:04:04 -05:00
josh ba3d656110 consolidate some configure check reporting 2018-11-14 23:30:47 -05:00
josh ab4ca71ac7 implement ConfigureOp#check_cfg - not tested yet 2018-11-14 23:28:00 -05:00
josh aba11155a4 rename check_executable to check_program 2018-11-14 23:00:40 -05:00
josh 3b586cb476 implement ConfigureOp#check_lib 2018-11-14 22:53:00 -05:00
josh 88fd4bd405 robustify Ansi module a bit 2018-11-12 21:50:16 -05:00
josh 7869d38dd8 implement ConfigureOp#check_executable 2018-11-07 22:22:07 -05:00
josh e8990199ef configure: output project name and build directory 2018-11-07 21:56:23 -05:00
josh 6078cb0977 implement ConfigureOp#check_d_import 2018-11-07 21:49:44 -05:00
josh 85b0111a6e implement ConfigureOp#check_cxx_header 2018-11-07 21:44:04 -05:00
josh 6bb0a55a55 implement ConfigureOp#check_c_header 2018-11-07 21:39:42 -05:00
josh 95d5ada865 specs: run each build test from separate directory; keep directory if test fails 2018-11-07 21:33:28 -05:00
josh cd9fffd828 Script: change the way configuration arguments are stored 2018-11-07 20:52:39 -05:00
josh 30511a3443 pass the Environment to configure to ConfigureOp; begin modifying it in the tests 2018-11-07 20:46:07 -05:00
josh d656df5407 implement ConfigureOp#check_d_compiler 2018-11-07 19:05:08 -05:00
josh d54d363a25 implement ConfigureOp#check_cxx_compiler 2018-11-07 18:53:06 -05:00
josh 697db2a987 specs: check_c_compiler: also test when no arguments are given 2018-11-06 22:39:13 -05:00
josh daa90e431c check_c_compiler: add integration test for finding second listed C compiler 2018-11-06 22:28:23 -05:00
josh bdeaec11ba Ansi: add some other colors 2018-11-06 22:19:49 -05:00
josh 7eeb6312ba check_c_compiler: print output; add a integration test 2018-11-06 22:16:38 -05:00
josh 07d9b97ddc set default rake task back to spec 2018-11-06 22:14:34 -05:00
josh af033ee4e0 fill in ConfigureOp#test_c_compiler 2018-11-06 21:45:29 -05:00
josh c9de4f37e6 allow configure to fail; application should return error code from operation 2018-11-06 15:42:10 -05:00
josh 64caaa9a53 add ConfigureOp class 2018-11-06 00:17:22 -05:00
josh d196845c85 parse 'configure' command-line options 2018-11-04 00:16:53 -04:00
josh 5288a47bfb start on specs for configure command 2018-11-03 23:19:54 -04:00
josh 9bd9abcad1 update CHANGELOG.md for v1.17.0 2018-11-02 17:02:46 -04:00
josh b5a8b6f628 remove makefile target name check when parsing dependencies - close #57 2018-11-02 14:24:02 -04:00
josh 97c24eec6b specs: fix Application#determine_n_threads specs 2018-10-30 17:39:43 -04:00
josh 053df2360f add Rscons.vars back again at least for now 2018-10-30 17:36:30 -04:00
josh 8d766e4804 specs: fix cache_varset.rb builder message 2018-10-30 17:36:30 -04:00
josh e29ec5a126 move clean logic to Application 2018-10-30 17:36:30 -04:00
josh de46bb0cc1 specs: remove usage test when no operation given 2018-10-30 17:00:57 -04:00
josh 084080a682 specs: do not run separate 'configure' step before main build test 2018-10-30 17:00:10 -04:00
josh 3a564c0ca2 add Dsl and ConfigureDsl 2018-10-26 21:17:04 -04:00
josh ac89a122d8 add Application class; update CLI and Script for new architecture 2018-10-21 01:24:15 -04:00
josh ea6ae1be10 remove unneeded OptionParser separators 2018-10-12 17:20:34 -04:00
josh a649c7f4cb add Script class 2018-10-12 17:18:04 -04:00
josh 2f83f36659 start adding subcommand interface to Cli module 2018-09-10 20:35:00 -04:00
josh a46936bc0b change default task to build_dist 2018-09-04 16:04:58 -04:00
josh 95ee63292e Rscons is no longer a gem.
Run specs against the combined distributable standalone script.
2018-09-03 19:32:53 -04:00
josh bcd33fe098 add build_dist.rb to create dist/rscons as a standalone script 2018-09-01 17:00:04 -04:00
josh 5cf77f1f58 v1.16.0 2018-08-24 09:24:03 -04:00
josh b4cc45c381 update documentation 2018-08-24 09:17:23 -04:00
josh 750506201f add github URL to README.md 2018-08-23 15:37:18 -04:00
josh 284312a21c support command-line variables - close #51 2018-08-23 14:58:08 -04:00
josh d081a4695f add shebang line to bin/rscons 2018-08-23 11:30:18 -04:00
josh c7f66694ab add Rscons.glob - close #50 2018-08-23 11:26:20 -04:00
josh 57de94a3fb improve debuggability of cache.up_to_date? - close #46 2018-08-23 10:10:05 -04:00
josh 53ba7dad41 allow passing a VarSet into cache methods - close #47 2018-08-22 16:32:05 -04:00
josh 8cb02a7e34 generate dependencies for D builds - close #49 2018-08-22 15:23:48 -04:00
josh dbbce9e476 update a few dependencies 2018-05-24 15:32:39 -04:00
josh 0dc3a90660 v1.15.0 2017-09-08 15:13:04 -04:00
josh d48c7587d6 add v1.15.0 release notes 2017-09-08 15:06:55 -04:00
josh 70d4740a69 split CHANGELOG.md out of README.md 2017-09-08 15:06:23 -04:00
josh aaae845d60 allow json 1.x or 2.x 2017-09-08 15:04:40 -04:00
josh e900e74342 v1.14.0 2017-08-03 15:55:54 -04:00
josh 62ae3f162d add v1.14.0 release notes 2017-08-03 15:55:38 -04:00
josh 099d26f33c Add Rscons::VarSet#values_at - close #45 2017-08-03 15:54:24 -04:00
josh 89562c584a Environment#print_builder_run_message should support string commands - close #44 2017-08-03 14:10:53 -04:00
josh a9aeaf2356 v1.13.0 2017-07-14 16:24:27 -04:00
josh 5409b3cb34 add v1.13.0 release notes 2017-07-14 16:24:04 -04:00
josh 6d04500c13 Add ability to record side-effect file production - close #43 2017-07-14 16:17:01 -04:00
josh 45e30662d2 add YARD comment for Rscons::Ansi to get to 100% coverage 2017-07-12 15:51:00 -04:00
josh 8f7e044bfd fix YARD @option tag 2017-07-12 15:50:13 -04:00