vector-of-bool
4f193485c0
Add exhaustive test cases for the initial catalog contents
pirms 4 gadiem
vector-of-bool
c80b8027e5
New shape for dependency listings
pirms 4 gadiem
vector-of-bool
a3ed414db8
Catalog JSON now requried a 'depends' as an array
pirms 4 gadiem
vector-of-bool
e0a4f6d732
Remove old .dds parsing code, and update tests appropriately
pirms 4 gadiem
vector-of-bool
0122cc8946
Change dependency parsing to not expect a space in the dep string
pirms 4 gadiem
vector-of-bool
34aa29feeb
Disable CryptoPP's asm, as Homebrew GCC doesn't like it.
pirms 4 gadiem
vector-of-bool
6f7e1c98f2
Wrong test name for Crypto++
pirms 4 gadiem
vector-of-bool
6952c51256
Set correct language version for str.data() to be non-const char*
pirms 4 gadiem
vector-of-bool
5c9c907405
Set arch flags to enable intrinsics for the Crypto++ test build
pirms 4 gadiem
vector-of-bool
b0704b550f
Tweak test cases for better use coverage
pirms 4 gadiem
vector-of-bool
a1ad20fb7e
revive pkg-transform with a better semester loader
pirms 4 gadiem
vector-of-bool
01928f27ae
Allow simple fs transformations on cloned repos for the catalog
pirms 4 gadiem
vector-of-bool
e43bb7915b
Migrate fully to new json5-based packaging
pirms 4 gadiem
vector-of-bool
66c2712ee4
Fix: Don't break paths to dependencies when the repo-dir is a relative path
pirms 4 gadiem
vector-of-bool
027b7b9a84
Default to static linking runtime libs with GCC and Clang
pirms 4 gadiem
vector-of-bool
c09558eb8d
`build-deps` now uses json5 as well
pirms 4 gadiem
vector-of-bool
69720f0a44
Very rudimentary template rendering, only accesses a small number of resources yet.
pirms 4 gadiem
vector-of-bool
b1e5315a9b
Early iteration of config-headers.
This is a very rudimentary version. All it does is copy and rename the
template header file and place it in the build directory in a special
subdirectory that is added as an #include-path.
There is some code duplication and cleanup necessary. There are a
few "magic strings" and "magic paths" that need to be removed as well.
pirms 4 gadiem
vector-of-bool
4157ce571e
Use json5 toolchain files
pirms 4 gadiem
vector-of-bool
5565294072
Update tests and docs to refer to library.json5
pirms 4 gadiem
vector-of-bool
8e7e83fedb
The `namespace` field is now required
pirms 4 gadiem
vector-of-bool
9f82212bdc
Transition to using JSON5 for package manifests
pirms 4 gadiem
vector-of-bool
07ca7e03d9
The `depends` key is optional in JSON import
pirms 4 gadiem
vector-of-bool
4cb09040ee
Bump dep version used in build-deps test to work on MSVC
pirms 5 gadiem
vector-of-bool
c481b92f94
Emit a libman index for build-deps
pirms 5 gadiem
vector-of-bool
b12bdf83ec
Separate type to record dependencies only
pirms 5 gadiem
vector-of-bool
cef6707c36
`build-deps` command to build a set of dependencies
pirms 5 gadiem
vector-of-bool
93ce3abbdf
Remove old build code
pirms 5 gadiem
vector-of-bool
6e471b7880
Cleanup for `library_plan`, and put executables in subdirs. (Required moving dds.main.cpp)
pirms 5 gadiem
vector-of-bool
a2b36cc5df
Downloading deps now takes place as part of the main build
pirms 5 gadiem
vector-of-bool
6dcfe381a5
Remove old `deps build` code
pirms 5 gadiem
vector-of-bool
8bf05a557d
Default-enable apps, tests, and warnings for the root project
pirms 5 gadiem
vector-of-bool
f9b4d5f85c
Fix up all tests to work with the catalog
pirms 5 gadiem
vector-of-bool
0d23ff3146
Put the obtained sdist in a useful location
pirms 5 gadiem
vector-of-bool
d3844017ff
New `get` for catalog, just a copy of old repo `get` for now
pirms 5 gadiem
vector-of-bool
66f7b534fd
New smoke tests for catalog operations
pirms 5 gadiem
vector-of-bool
147ced5c9a
Test cases for Catch2 integration
pirms 5 gadiem
vector-of-bool
85ae3b2150
Attach mtimes to individual deps, not files. Fixes a miscompile (!!)
Fix bug:
- Assume X and Y depend on Z
- X and Y both compile clean.
- A change is made to Z
- X and Y are now "out-of-date," and marked to compile.
- The change causes a failure in X, but Y still compiles clean.
- Because X compiles clean, the database will be updated and store the new mtime of Z!
- Attempting to compile again, the mtime of Z will not be considered "changed" since the last compile.
- X depends on Z, but Z is not marked "changed," and X will not be recompiled, even though it is still in a dirty state!
- Linking of X and Y produces wild results. UB. ORD NDR. Badness.
The fix is to have the edges in the graph between inputs and outputs
store the mtime of the input, rather than to store that mtime on the
file itself. Thus, each individual relationship between inputs and
outputs will track the "outdated-ness" of themselves.
This also adds a test which can correctly reproduce the issue in absense of the fix.
pirms 5 gadiem
vector-of-bool
329ec9848e
Fixup some stray refs to gcc-8
pirms 5 gadiem
vector-of-bool
b05153d5cf
Use gcc-9 in CI
pirms 5 gadiem
vector-of-bool
cbebbe1650
Use gcc-9 in CI
pirms 5 gadiem
vector-of-bool
409dc2c83e
Use package_id in remote package listings
pirms 5 gadiem
vector-of-bool
990e3503af
Incorporate the new package_id type, as use `@` as a name separator
pirms 5 gadiem
vector-of-bool
9b15738526
Fix windows: Can't replace an executable that is currently open
pirms 5 gadiem
vector-of-bool
fc98d9d859
End-to-end test to get, build, and use an external library
pirms 5 gadiem
vector-of-bool
8546a5722a
Automatic package generation from unchanged Git remotes
pirms 5 gadiem
vector-of-bool
1d49aabf3a
Test basic non-empty sdist creation
pirms 5 gadiem
vector-of-bool
16c06e8fe0
Refactor CI into reusable python modules
pirms 5 gadiem
vector-of-bool
e8462f2347
unused `pass`
pirms 5 gadiem
vector-of-bool
8aaa7d8f91
Test that downloads a remote package and uses it in an executable
pirms 5 gadiem