- 07 Jun, 2016 4 commits
- 06 Jun, 2016 1 commit
-
-
Niels authored
-
- 29 May, 2016 8 commits
- 28 May, 2016 1 commit
-
-
Niels authored
-
- 25 May, 2016 1 commit
-
-
Niels authored
-
- 18 May, 2016 4 commits
-
-
Niels authored
-
Niels authored
Define CMake/CTest tests
-
Niels authored
-
Robert Marki authored
Instead of copying the test executable and the JSON files used by the tests at install time, define CMake/CTest tests for running the json_unit executable from any build directory with the project's source directory as its working directory. - call enable_testing in the main lists file to allow the definition of tests - remove install commands from the test directory's lists file - define two tests - json_unit_default for running the default tests by executing json_unit without any arguments - json_unit_all for running all the tests by executing json_unit with the "*" argument - update the AppVeyor configuration file to use the new testing method
-
- 12 May, 2016 1 commit
-
-
Niels authored
-
- 11 May, 2016 13 commits
-
-
Niels authored
-
Niels authored
-
Niels authored
Out of tree builds and a few other miscellaneous CMake cleanups.
-
Niels authored
-
Niels authored
-
Niels authored
-
Chris Kitching authored
It's sort of gnarly that it's still doing in-tree builds, but I really, _really_ don't want to get any more friendly with CMake's Visual Studio generator to work out how to make it stop doing it. In-tree builds still work, after all, and the goal of this work is to make out-of-tree builds work as well. Notional horrors like this will have to wait ;)
-
Chris Kitching authored
The resulting install tree, when tests are enabled, looks like this: ``` . ├── cmake │ ├── nlohmann_jsonConfig.cmake │ ├── nlohmann_jsonConfigVersion.cmake │ └── nlohmann_jsonTargets.cmake ├── include │ └── nlohmann │ └── json.hpp └── test ├── bin │ └── json_unit └── data ├── json_nlohmann_tests │ ├── all_unicode.json │ └── bom.json ├── json.org │ ├── 1.json │ ├── ... ├── json_roundtrip │ ├── roundtrip01.json │ ├── roundtrip02.json │ └── ... ├── json_tests │ ├── fail10.json │ └── ... └── json_testsuite └── sample.json ``` It has the property that you can invoke the test binary from the root of the install tree and the tests work correctly (you no longer depend on the test binary being run inside the source tree). If tests are disabled, the entire `test/` subtree is omitted. Notice how that yields exactly what you want for using this library in other projects. I do not believe I need to update travis due to this change, as the evil Makefile continues to do in-tree builds. I expect I'll find out soon enough.
-
Chris Kitching authored
This introduces a clear separation between test data and test binaries. Test data is moved into test/data, and the test binaries move into test/src. A new CMake script specific to building the tests is introduced in /test to slightly clean up the toplevel one. As well as tidying things up, this makes the next step trivial...
-
Chris Kitching authored
There exist lots of json libraries, and project/target names must be globally unique. If someone integrated with this library in a particularly stupid way, using a generic name like "json" might cause a problem.
-
Chris Kitching authored
I'm not sure that using a variable for target names really helps with clarity. Unlike paths, target names aren't really something you change. In a sense, targets are themselves a sort of variable, so having a variable to name a variable seems just a bit gnarly.
-
Chris Kitching authored
-
Chris Kitching authored
-
- 08 May, 2016 4 commits
- 07 May, 2016 3 commits