fix cmake install directory (for real this time)
* Rename 'develop' folder to 'nlohmann'
* Use <nlohmann/*> headers in sources
* Hack test/CMakeLists.txt to find the correct json.hpp
* Change amalgamate config file

Should fix #928 and #942.

* * *

## Pull request checklist

Read the [Contribution Guidelines](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md) for detailed information.

- [x]  Changes are described in the pull request, or an [existing issue is referenced](https://github.com/nlohmann/json/issues).
- [x]  The test suite [compiles and runs](https://github.com/nlohmann/json/blob/develop/README.md#execute-unit-tests) without error.
- [x]  [Code coverage](https://coveralls.io/github/nlohmann/json) is 100%. Test cases can be added by editing the [test suite](https://github.com/nlohmann/json/tree/develop/test/src).
- [x]  The source code is amalgamated; that is, after making changes to the sources in the `develop` directory, run `make amalgamate` to create the single-header file `src/json.hpp`. The whole process is described [here](https://github.com/nlohmann/json/blob/develop/.github/CONTRIBUTING.md#files-to-change).

## Please don't

- The C++11 support varies between different **compilers** and versions. Please note the [list of supported compilers](https://github.com/nlohmann/json/blob/master/README.md#supported-compilers). Some compilers like GCC 4.8 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with `#ifdef`s or other means.
- Specifically, I am aware of compilation problems with **Microsoft Visual Studio** (there even is an [issue label](https://github.com/nlohmann/json/issues?utf8=✓&q=label%3A%22visual+studio%22+) for these kind of bugs). I understand that even in 2016, complete C++11 support isn't there yet. But please also understand that I do not want to drop features or uglify the code just to make Microsoft's sub-standard compiler happy. The past has shown that there are ways to express the functionality such that the code compiles with the most recent MSVC - unfortunately, this is not the main objective of the project.
- Please refrain from proposing changes that would **break [JSON](http://json.org) conformance**. If you propose a conformant extension of JSON to be supported by the library, please motivate this extension.
- Please do not open pull requests that address **multiple issues**.

{"label": "nlohmann:develop", "ref": "develop", "sha": "9958dde3daac1c2803fa72eb4ca98fab6798a932"}
**Bug Report**

- What is the issue you have?
I have nlohmann/json library added using `ExternalProject_Add` in `CMakeLists.txt`.
In my project, the `<INSTALL_DIR>/include/` folder is added as the system include directories.
During compilation, I've an error of missing `json_fwd.hpp` included from `detail/meta.cpp`.
The file `json_fwd.hpp` is "missing" because it is located in `include/nlohmann` and only `include/` is added to 'global' include path.

I'm using `JSON_MultipleHeaders=ON` flag in CMake.

- Please describe the steps to reproduce the issue. Can you provide a small but working code example?
File `CMakeLists.txt`
```
cmake_minimum_required(VERSION 3.10)
project(jj)

include(ExternalProject)
ExternalProject_Add(json
    GIT_REPOSITORY https://github.com/nlohmann/json.git
    GIT_TAG develop
    INSTALL_DIR ${PROJECT_BINARY_DIR}
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DBUILD_TESTING=0 -DJSON_MultipleHeaders=ON
    UPDATE_COMMAND ""
    )

include_directories(SYSTEM ${PROJECT_BINARY_DIR}/include)
add_executable(jj src/test.cpp)
add_dependencies(jj json)
```
File `src/test.cpp`:
```
#include <nlohmann/json.hpp>

int main() {
  return 0;
}
```

- What is the expected behavior?
`json_fwd.hpp` should be visible for files in `detail/` of the json library.

- And what is the actual behavior instead?
The relative path in `meta.cpp` to the j`son_fwd.hpp` doesn't allow to compile.
During compilation, I've got the following error:
```
In file included from /home/przemkovv/projects/sandbox/json_bug/src/test.cpp:2:
In file included from /home/przemkovv/projects/sandbox/json_bug/build/include/nlohmann/json.hpp:46:
/home/przemkovv/projects/sandbox/json_bug/build/include/nlohmann/detail/meta.hpp:9:10: fatal error: 'json_fwd.hpp' file not found
#include "json_fwd.hpp"
         ^~~~~~~~~~~~~~
```

- Which compiler and operating system are you using? Is it a [supported compiler](https://github.com/nlohmann/json#supported-compilers)?
Arch Linux, Clang 7.0.0

- Did you use a released version of the library or the version from the `develop` branch?
develop 

- If you experience a compilation error: can you [compile and run the unit tests](https://github.com/nlohmann/json#execute-unit-tests)?
Cannot compile.

Relative includes of json_fwd.hpp in detail/meta.hpp. [Develop branch]
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e42702017..ca4f49a2d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,7 +24,6 @@ option(JSON_MultipleHeaders "Use non-amalgamated version of the library." OFF)
 set(NLOHMANN_JSON_TARGET_NAME               ${PROJECT_NAME})
 set(NLOHMANN_JSON_CONFIG_INSTALL_DIR        "lib/cmake/${PROJECT_NAME}")
 set(NLOHMANN_JSON_INCLUDE_INSTALL_DIR       "include")
-set(NLOHMANN_JSON_HEADER_INSTALL_DIR        "${NLOHMANN_JSON_INCLUDE_INSTALL_DIR}/nlohmann")
 set(NLOHMANN_JSON_TARGETS_EXPORT_NAME       "${PROJECT_NAME}Targets")
 set(NLOHMANN_JSON_CMAKE_CONFIG_TEMPLATE     "cmake/config.cmake.in")
 set(NLOHMANN_JSON_CMAKE_CONFIG_DIR          "${CMAKE_CURRENT_BINARY_DIR}/cmake_config")
@@ -32,9 +31,9 @@ set(NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE "${NLOHMANN_JSON_CMAKE_CONFIG_DIR}/$
 set(NLOHMANN_JSON_CMAKE_PROJECT_CONFIG_FILE "${NLOHMANN_JSON_CMAKE_CONFIG_DIR}/${PROJECT_NAME}Config.cmake")
 
 if (JSON_MultipleHeaders)
-    set(NLOHMANN_JSON_SOURCE_DIR "develop/")
+    set(NLOHMANN_JSON_INCLUDE_BUILD_DIR "${PROJECT_SOURCE_DIR}/include/")
 else()
-    set(NLOHMANN_JSON_SOURCE_DIR "src/")
+    set(NLOHMANN_JSON_INCLUDE_BUILD_DIR "${PROJECT_SOURCE_DIR}/single_include/")
 endif()
 
 ##
@@ -46,7 +45,7 @@ add_library(${NLOHMANN_JSON_TARGET_NAME} INTERFACE)
 target_include_directories(
     ${NLOHMANN_JSON_TARGET_NAME}
     INTERFACE
-    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/${NLOHMANN_JSON_SOURCE_DIR}>
+    $<BUILD_INTERFACE:${NLOHMANN_JSON_INCLUDE_BUILD_DIR}>
     $<INSTALL_INTERFACE:include>
 )
 
@@ -70,7 +69,6 @@ include(CTest) #adds option BUILD_TESTING (default ON)
 
 if(BUILD_TESTING AND JSON_BuildTests)
     enable_testing()
-    include_directories(${NLOHMANN_JSON_SOURCE_DIR})
     add_subdirectory(test)
 endif()
 
@@ -87,9 +85,10 @@ configure_package_config_file(
     ${NLOHMANN_JSON_CMAKE_PROJECT_CONFIG_FILE}
     INSTALL_DESTINATION ${NLOHMANN_JSON_CONFIG_INSTALL_DIR}
 )
+
 install(
-    DIRECTORY ${NLOHMANN_JSON_SOURCE_DIR}
-    DESTINATION ${NLOHMANN_JSON_HEADER_INSTALL_DIR}
+    DIRECTORY ${NLOHMANN_JSON_INCLUDE_BUILD_DIR}
+    DESTINATION ${NLOHMANN_JSON_INCLUDE_INSTALL_DIR}
 )
 install(
     FILES ${NLOHMANN_JSON_CMAKE_PROJECT_CONFIG_FILE} ${NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE}
diff --git a/Makefile b/Makefile
index 36844de837..fca2e0d328 100644
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,39 @@
 .PHONY: pretty clean ChangeLog.md
 
-SRCS = develop/json.hpp \
-       develop/json_fwd.hpp \
-       develop/adl_serializer.hpp \
-       develop/detail/conversions/from_json.hpp \
-       develop/detail/conversions/to_chars.hpp \
-       develop/detail/conversions/to_json.hpp \
-       develop/detail/exceptions.hpp \
-       develop/detail/input/binary_reader.hpp \
-       develop/detail/input/input_adapters.hpp \
-       develop/detail/input/lexer.hpp \
-       develop/detail/input/parser.hpp \
-       develop/detail/iterators/internal_iterator.hpp \
-       develop/detail/iterators/iter_impl.hpp \
-       develop/detail/iterators/iteration_proxy.hpp \
-       develop/detail/iterators/json_reverse_iterator.hpp \
-       develop/detail/iterators/primitive_iterator.hpp \
-       develop/detail/json_pointer.hpp \
-       develop/detail/json_ref.hpp \
-       develop/detail/macro_scope.hpp \
-       develop/detail/macro_unscope.hpp \
-       develop/detail/meta.hpp \
-       develop/detail/output/binary_writer.hpp \
-       develop/detail/output/output_adapters.hpp \
-       develop/detail/output/serializer.hpp \
-       develop/detail/value_t.hpp
+SRCS = include/nlohmann/json.hpp \
+       include/nlohmann/json_fwd.hpp \
+       include/nlohmann/adl_serializer.hpp \
+       include/nlohmann/detail/conversions/from_json.hpp \
+       include/nlohmann/detail/conversions/to_chars.hpp \
+       include/nlohmann/detail/conversions/to_json.hpp \
+       include/nlohmann/detail/exceptions.hpp \
+       include/nlohmann/detail/input/binary_reader.hpp \
+       include/nlohmann/detail/input/input_adapters.hpp \
+       include/nlohmann/detail/input/lexer.hpp \
+       include/nlohmann/detail/input/parser.hpp \
+       include/nlohmann/detail/iterators/internal_iterator.hpp \
+       include/nlohmann/detail/iterators/iter_impl.hpp \
+       include/nlohmann/detail/iterators/iteration_proxy.hpp \
+       include/nlohmann/detail/iterators/json_reverse_iterator.hpp \
+       include/nlohmann/detail/iterators/primitive_iterator.hpp \
+       include/nlohmann/detail/json_pointer.hpp \
+       include/nlohmann/detail/json_ref.hpp \
+       include/nlohmann/detail/macro_scope.hpp \
+       include/nlohmann/detail/macro_unscope.hpp \
+       include/nlohmann/detail/meta.hpp \
+       include/nlohmann/detail/output/binary_writer.hpp \
+       include/nlohmann/detail/output/output_adapters.hpp \
+       include/nlohmann/detail/output/serializer.hpp \
+       include/nlohmann/detail/value_t.hpp
 
 UNAME = $(shell uname)
 CXX=clang++
 
+AMALGAMATED_FILE=single_include/nlohmann/json.hpp
+
 # main target
 all:
-	@echo "amalgamate - amalgamate file src/json.hpp from the develop sources"
+	@echo "amalgamate - amalgamate file single_include/nlohmann/json.hpp from the include/nlohmann sources"
 	@echo "ChangeLog.md - generate ChangeLog file"
 	@echo "check - compile and execute test suite"
 	@echo "check-amalgamation - check whether sources have been amalgamated"
@@ -243,7 +245,7 @@ fuzzing-stop:
 
 # call cppcheck on the main header file
 cppcheck:
-	cppcheck --enable=warning --inconclusive --force --std=c++11 src/json.hpp --error-exitcode=1
+	cppcheck --enable=warning --inconclusive --force --std=c++11 $(AMALGAMATED_FILE) --error-exitcode=1
 
 
 ##########################################################################
@@ -257,29 +259,29 @@ pretty:
 	   --indent-col1-comments --pad-oper --pad-header --align-pointer=type \
 	   --align-reference=type --add-brackets --convert-tabs --close-templates \
 	   --lineend=linux --preserve-date --suffix=none --formatted \
-	   $(SRCS) src/json.hpp test/src/*.cpp \
+	   $(SRCS) $(AMALGAMATED_FILE) test/src/*.cpp \
 	   benchmarks/src/benchmarks.cpp doc/examples/*.cpp
 
 # create single header file
-amalgamate: src/json.hpp
+amalgamate: $(AMALGAMATED_FILE)
 
-src/json.hpp: $(SRCS)
-	third_party/amalgamate/amalgamate.py -c third_party/amalgamate/config.json -s develop --verbose=yes
+$(AMALGAMATED_FILE): $(SRCS)
+	third_party/amalgamate/amalgamate.py -c third_party/amalgamate/config.json -s . --verbose=yes
 	$(MAKE) pretty
 
-# check if src/json.hpp has been amalgamated from the develop sources
+# check if single_include/nlohmann/json.hpp has been amalgamated from the nlohmann sources
 check-amalgamation:
-	@mv src/json.hpp src/json.hpp~
+	@mv $(AMALGAMATED_FILE) $(AMALGAMATED_FILE)~
 	@$(MAKE) amalgamate
-	@diff src/json.hpp src/json.hpp~ || (echo "===================================================================\n  Amalgamation required! Please read the contribution guidelines\n  in file .github/CONTRIBUTING.md.\n===================================================================" ; mv src/json.hpp~ src/json.hpp ; false)
-	@mv src/json.hpp~ src/json.hpp
+	@diff $(AMALGAMATED_FILE) $(AMALGAMATED_FILE)~ || (echo "===================================================================\n  Amalgamation required! Please read the contribution guidelines\n  in file .github/CONTRIBUTING.md.\n===================================================================" ; mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE) ; false)
+	@mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE)
 
-# check if every header in develop includes sufficient headers to be compiled
+# check if every header in nlohmann includes sufficient headers to be compiled
 # individually
 check-single-includes:
 	for x in $(SRCS); do \
-	  echo "#include \"$$x\"\nint main() {}\n" | sed 's|develop/||' > single_include_test.cpp; \
-	  $(CXX) $(CXXFLAGS) -Idevelop -std=c++11 single_include_test.cpp -o single_include_test; \
+	  echo "#include <$$x>\nint main() {}\n" | sed 's|include/||' > single_include_test.cpp; \
+	  $(CXX) $(CXXFLAGS) -Iinclude -std=c++11 single_include_test.cpp -o single_include_test; \
 	  rm single_include_test.cpp single_include_test; \
 	done
 
diff --git a/develop/adl_serializer.hpp b/include/nlohmann/adl_serializer.hpp
similarity index 92%
rename from develop/adl_serializer.hpp
rename to include/nlohmann/adl_serializer.hpp
index cae95637c7..53c9009f0b 100644
--- a/develop/adl_serializer.hpp
+++ b/include/nlohmann/adl_serializer.hpp
@@ -2,8 +2,8 @@
 
 #include <utility>
 
-#include "detail/conversions/from_json.hpp"
-#include "detail/conversions/to_json.hpp"
+#include <nlohmann/detail/conversions/from_json.hpp>
+#include <nlohmann/detail/conversions/to_json.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/conversions/from_json.hpp b/include/nlohmann/detail/conversions/from_json.hpp
similarity index 98%
rename from develop/detail/conversions/from_json.hpp
rename to include/nlohmann/detail/conversions/from_json.hpp
index ba89e54003..8ea0284a15 100644
--- a/develop/detail/conversions/from_json.hpp
+++ b/include/nlohmann/detail/conversions/from_json.hpp
@@ -11,10 +11,10 @@
 #include <utility> // pair, declval
 #include <valarray> // valarray
 
-#include "detail/exceptions.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/meta.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/meta.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/conversions/to_chars.hpp b/include/nlohmann/detail/conversions/to_chars.hpp
similarity index 100%
rename from develop/detail/conversions/to_chars.hpp
rename to include/nlohmann/detail/conversions/to_chars.hpp
diff --git a/develop/detail/conversions/to_json.hpp b/include/nlohmann/detail/conversions/to_json.hpp
similarity index 99%
rename from develop/detail/conversions/to_json.hpp
rename to include/nlohmann/detail/conversions/to_json.hpp
index 2df7b0b832..ce2bc0aad6 100644
--- a/develop/detail/conversions/to_json.hpp
+++ b/include/nlohmann/detail/conversions/to_json.hpp
@@ -8,8 +8,8 @@
 #include <valarray> // valarray
 #include <vector> // vector
 
-#include "detail/meta.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/meta.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/exceptions.hpp b/include/nlohmann/detail/exceptions.hpp
similarity index 100%
rename from develop/detail/exceptions.hpp
rename to include/nlohmann/detail/exceptions.hpp
diff --git a/develop/detail/input/binary_reader.hpp b/include/nlohmann/detail/input/binary_reader.hpp
similarity index 99%
rename from develop/detail/input/binary_reader.hpp
rename to include/nlohmann/detail/input/binary_reader.hpp
index ce48fd93b8..057429cf7c 100644
--- a/develop/detail/input/binary_reader.hpp
+++ b/include/nlohmann/detail/input/binary_reader.hpp
@@ -15,10 +15,10 @@
 #include <string> // char_traits, string
 #include <utility> // make_pair, move
 
-#include "detail/input/input_adapters.hpp"
-#include "detail/exceptions.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/input/input_adapters.hpp>
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/input/input_adapters.hpp b/include/nlohmann/detail/input/input_adapters.hpp
similarity index 99%
rename from develop/detail/input/input_adapters.hpp
rename to include/nlohmann/detail/input/input_adapters.hpp
index abbf5d29b3..ef66948d1c 100644
--- a/develop/detail/input/input_adapters.hpp
+++ b/include/nlohmann/detail/input/input_adapters.hpp
@@ -14,7 +14,7 @@
 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
 #include <utility> // pair, declval
 
-#include "detail/macro_scope.hpp"
+#include <nlohmann/detail/macro_scope.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/input/lexer.hpp b/include/nlohmann/detail/input/lexer.hpp
similarity index 99%
rename from develop/detail/input/lexer.hpp
rename to include/nlohmann/detail/input/lexer.hpp
index 2b99c137cb..75001652fd 100644
--- a/develop/detail/input/lexer.hpp
+++ b/include/nlohmann/detail/input/lexer.hpp
@@ -10,8 +10,8 @@
 #include <string> // char_traits, string
 #include <vector> // vector
 
-#include "detail/macro_scope.hpp"
-#include "detail/input/input_adapters.hpp"
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/input/input_adapters.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/input/parser.hpp b/include/nlohmann/detail/input/parser.hpp
similarity index 98%
rename from develop/detail/input/parser.hpp
rename to include/nlohmann/detail/input/parser.hpp
index 799ea920f0..63e8541ffa 100644
--- a/develop/detail/input/parser.hpp
+++ b/include/nlohmann/detail/input/parser.hpp
@@ -7,11 +7,11 @@
 #include <string> // string
 #include <utility> // move
 
-#include "detail/exceptions.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/input/input_adapters.hpp"
-#include "detail/input/lexer.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/input/input_adapters.hpp>
+#include <nlohmann/detail/input/lexer.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/iterators/internal_iterator.hpp b/include/nlohmann/detail/iterators/internal_iterator.hpp
similarity index 91%
rename from develop/detail/iterators/internal_iterator.hpp
rename to include/nlohmann/detail/iterators/internal_iterator.hpp
index b65b33d32e..d9b8fb2947 100644
--- a/develop/detail/iterators/internal_iterator.hpp
+++ b/include/nlohmann/detail/iterators/internal_iterator.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "detail/iterators/primitive_iterator.hpp"
+#include <nlohmann/detail/iterators/primitive_iterator.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/iterators/iter_impl.hpp b/include/nlohmann/detail/iterators/iter_impl.hpp
similarity index 98%
rename from develop/detail/iterators/iter_impl.hpp
rename to include/nlohmann/detail/iterators/iter_impl.hpp
index 2934389bce..52ede17be1 100644
--- a/develop/detail/iterators/iter_impl.hpp
+++ b/include/nlohmann/detail/iterators/iter_impl.hpp
@@ -4,12 +4,12 @@
 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
 #include <type_traits> // conditional, is_const, remove_const
 
-#include "detail/exceptions.hpp"
-#include "detail/iterators/internal_iterator.hpp"
-#include "detail/iterators/primitive_iterator.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/meta.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/iterators/internal_iterator.hpp>
+#include <nlohmann/detail/iterators/primitive_iterator.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/meta.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/iterators/iteration_proxy.hpp b/include/nlohmann/detail/iterators/iteration_proxy.hpp
similarity index 98%
rename from develop/detail/iterators/iteration_proxy.hpp
rename to include/nlohmann/detail/iterators/iteration_proxy.hpp
index 1a69954211..7547d038a5 100644
--- a/develop/detail/iterators/iteration_proxy.hpp
+++ b/include/nlohmann/detail/iterators/iteration_proxy.hpp
@@ -3,7 +3,7 @@
 #include <cstddef> // size_t
 #include <string> // string, to_string
 
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/iterators/json_reverse_iterator.hpp b/include/nlohmann/detail/iterators/json_reverse_iterator.hpp
similarity index 100%
rename from develop/detail/iterators/json_reverse_iterator.hpp
rename to include/nlohmann/detail/iterators/json_reverse_iterator.hpp
diff --git a/develop/detail/iterators/primitive_iterator.hpp b/include/nlohmann/detail/iterators/primitive_iterator.hpp
similarity index 100%
rename from develop/detail/iterators/primitive_iterator.hpp
rename to include/nlohmann/detail/iterators/primitive_iterator.hpp
diff --git a/develop/detail/json_pointer.hpp b/include/nlohmann/detail/json_pointer.hpp
similarity index 99%
rename from develop/detail/json_pointer.hpp
rename to include/nlohmann/detail/json_pointer.hpp
index 9cbbfb36cb..fce8001a52 100644
--- a/develop/detail/json_pointer.hpp
+++ b/include/nlohmann/detail/json_pointer.hpp
@@ -5,9 +5,9 @@
 #include <string> // string
 #include <vector> // vector
 
-#include "detail/macro_scope.hpp"
-#include "detail/exceptions.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/json_ref.hpp b/include/nlohmann/detail/json_ref.hpp
similarity index 100%
rename from develop/detail/json_ref.hpp
rename to include/nlohmann/detail/json_ref.hpp
diff --git a/develop/detail/macro_scope.hpp b/include/nlohmann/detail/macro_scope.hpp
similarity index 100%
rename from develop/detail/macro_scope.hpp
rename to include/nlohmann/detail/macro_scope.hpp
diff --git a/develop/detail/macro_unscope.hpp b/include/nlohmann/detail/macro_unscope.hpp
similarity index 100%
rename from develop/detail/macro_unscope.hpp
rename to include/nlohmann/detail/macro_unscope.hpp
diff --git a/develop/detail/meta.hpp b/include/nlohmann/detail/meta.hpp
similarity index 99%
rename from develop/detail/meta.hpp
rename to include/nlohmann/detail/meta.hpp
index 585b8d4493..49f1069f4f 100644
--- a/develop/detail/meta.hpp
+++ b/include/nlohmann/detail/meta.hpp
@@ -6,8 +6,8 @@
 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
 #include <utility> // declval
 
-#include "json_fwd.hpp"
-#include "detail/macro_scope.hpp"
+#include <nlohmann/json_fwd.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/output/binary_writer.hpp b/include/nlohmann/detail/output/binary_writer.hpp
similarity index 99%
rename from develop/detail/output/binary_writer.hpp
rename to include/nlohmann/detail/output/binary_writer.hpp
index fdf9a21616..10183262c2 100644
--- a/develop/detail/output/binary_writer.hpp
+++ b/include/nlohmann/detail/output/binary_writer.hpp
@@ -6,8 +6,8 @@
 #include <cstring> // memcpy
 #include <limits> // numeric_limits
 
-#include "detail/input/binary_reader.hpp"
-#include "detail/output/output_adapters.hpp"
+#include <nlohmann/detail/input/binary_reader.hpp>
+#include <nlohmann/detail/output/output_adapters.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/output/output_adapters.hpp b/include/nlohmann/detail/output/output_adapters.hpp
similarity index 100%
rename from develop/detail/output/output_adapters.hpp
rename to include/nlohmann/detail/output/output_adapters.hpp
diff --git a/develop/detail/output/serializer.hpp b/include/nlohmann/detail/output/serializer.hpp
similarity index 98%
rename from develop/detail/output/serializer.hpp
rename to include/nlohmann/detail/output/serializer.hpp
index 5ad4796cee..a644264449 100644
--- a/develop/detail/output/serializer.hpp
+++ b/include/nlohmann/detail/output/serializer.hpp
@@ -16,12 +16,12 @@
 #include <sstream> // stringstream
 #include <type_traits> // is_same
 
-#include "detail/exceptions.hpp"
-#include "detail/conversions/to_chars.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/meta.hpp"
-#include "detail/output/output_adapters.hpp"
-#include "detail/value_t.hpp"
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/conversions/to_chars.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/meta.hpp>
+#include <nlohmann/detail/output/output_adapters.hpp>
+#include <nlohmann/detail/value_t.hpp>
 
 namespace nlohmann
 {
diff --git a/develop/detail/value_t.hpp b/include/nlohmann/detail/value_t.hpp
similarity index 100%
rename from develop/detail/value_t.hpp
rename to include/nlohmann/detail/value_t.hpp
diff --git a/develop/json.hpp b/include/nlohmann/json.hpp
similarity index 99%
rename from develop/json.hpp
rename to include/nlohmann/json.hpp
index e1e6d3fd37..0ab7d007c0 100644
--- a/develop/json.hpp
+++ b/include/nlohmann/json.hpp
@@ -45,28 +45,28 @@ SOFTWARE.
 #include <string> // string, stoi, to_string
 #include <utility> // declval, forward, move, pair, swap
 
-#include "json_fwd.hpp"
-#include "detail/macro_scope.hpp"
-#include "detail/meta.hpp"
-#include "detail/exceptions.hpp"
-#include "detail/value_t.hpp"
-#include "detail/conversions/from_json.hpp"
-#include "detail/conversions/to_json.hpp"
-#include "detail/input/input_adapters.hpp"
-#include "detail/input/lexer.hpp"
-#include "detail/input/parser.hpp"
-#include "detail/iterators/primitive_iterator.hpp"
-#include "detail/iterators/internal_iterator.hpp"
-#include "detail/iterators/iter_impl.hpp"
-#include "detail/iterators/iteration_proxy.hpp"
-#include "detail/iterators/json_reverse_iterator.hpp"
-#include "detail/output/output_adapters.hpp"
-#include "detail/input/binary_reader.hpp"
-#include "detail/output/binary_writer.hpp"
-#include "detail/output/serializer.hpp"
-#include "detail/json_ref.hpp"
-#include "detail/json_pointer.hpp"
-#include "adl_serializer.hpp"
+#include <nlohmann/json_fwd.hpp>
+#include <nlohmann/detail/macro_scope.hpp>
+#include <nlohmann/detail/meta.hpp>
+#include <nlohmann/detail/exceptions.hpp>
+#include <nlohmann/detail/value_t.hpp>
+#include <nlohmann/detail/conversions/from_json.hpp>
+#include <nlohmann/detail/conversions/to_json.hpp>
+#include <nlohmann/detail/input/input_adapters.hpp>
+#include <nlohmann/detail/input/lexer.hpp>
+#include <nlohmann/detail/input/parser.hpp>
+#include <nlohmann/detail/iterators/primitive_iterator.hpp>
+#include <nlohmann/detail/iterators/internal_iterator.hpp>
+#include <nlohmann/detail/iterators/iter_impl.hpp>
+#include <nlohmann/detail/iterators/iteration_proxy.hpp>
+#include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
+#include <nlohmann/detail/output/output_adapters.hpp>
+#include <nlohmann/detail/input/binary_reader.hpp>
+#include <nlohmann/detail/output/binary_writer.hpp>
+#include <nlohmann/detail/output/serializer.hpp>
+#include <nlohmann/detail/json_ref.hpp>
+#include <nlohmann/detail/json_pointer.hpp>
+#include <nlohmann/adl_serializer.hpp>
 
 /*!
 @brief namespace for Niels Lohmann
@@ -7564,6 +7564,6 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std
     return nlohmann::json::json_pointer(std::string(s, n));
 }
 
-#include "detail/macro_unscope.hpp"
+#include <nlohmann/detail/macro_unscope.hpp>
 
 #endif
diff --git a/develop/json_fwd.hpp b/include/nlohmann/json_fwd.hpp
similarity index 100%
rename from develop/json_fwd.hpp
rename to include/nlohmann/json_fwd.hpp
diff --git a/src/json.hpp b/single_include/nlohmann/json.hpp
similarity index 99%
rename from src/json.hpp
rename to single_include/nlohmann/json.hpp
index 7dbce3b812..6c19d1e4bb 100644
--- a/src/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -45,7 +45,7 @@ SOFTWARE.
 #include <string> // string, stoi, to_string
 #include <utility> // declval, forward, move, pair, swap
 
-// #include "json_fwd.hpp"
+// #include <nlohmann/json_fwd.hpp>
 #ifndef NLOHMANN_JSON_FWD_HPP
 #define NLOHMANN_JSON_FWD_HPP
 
@@ -111,7 +111,7 @@ using json = basic_json<>;
 
 #endif
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
 
 // This file contains all internal macro definitions
@@ -228,7 +228,7 @@ contains a `mapped_type`, whereas `std::vector` fails the test.
                 std::is_integral<decltype(detect(std::declval<T>()))>::value; \
     }
 
-// #include "detail/meta.hpp"
+// #include <nlohmann/detail/meta.hpp>
 
 
 #include <ciso646> // not
@@ -237,9 +237,9 @@ contains a `mapped_type`, whereas `std::vector` fails the test.
 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
 #include <utility> // declval
 
-// #include "json_fwd.hpp"
+// #include <nlohmann/json_fwd.hpp>
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
 
 namespace nlohmann
@@ -490,7 +490,7 @@ constexpr T static_const<T>::value;
 }
 }
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
 
 #include <exception> // exception
@@ -821,7 +821,7 @@ class other_error : public exception
 }
 }
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 #include <array> // array
@@ -899,7 +899,7 @@ inline bool operator<(const value_t lhs, const value_t rhs) noexcept
 }
 }
 
-// #include "detail/conversions/from_json.hpp"
+// #include <nlohmann/detail/conversions/from_json.hpp>
 
 
 #include <algorithm> // transform
@@ -913,13 +913,13 @@ inline bool operator<(const value_t lhs, const value_t rhs) noexcept
 #include <utility> // pair, declval
 #include <valarray> // valarray
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/meta.hpp"
+// #include <nlohmann/detail/meta.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -1220,7 +1220,7 @@ constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::va
 }
 }
 
-// #include "detail/conversions/to_json.hpp"
+// #include <nlohmann/detail/conversions/to_json.hpp>
 
 
 #include <ciso646> // or, and, not
@@ -1231,9 +1231,9 @@ constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::va
 #include <valarray> // valarray
 #include <vector> // vector
 
-// #include "detail/meta.hpp"
+// #include <nlohmann/detail/meta.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -1562,7 +1562,7 @@ constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
 }
 }
 
-// #include "detail/input/input_adapters.hpp"
+// #include <nlohmann/detail/input/input_adapters.hpp>
 
 
 #include <algorithm> // min
@@ -1579,7 +1579,7 @@ constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
 #include <utility> // pair, declval
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
 
 namespace nlohmann
@@ -1827,7 +1827,7 @@ class input_adapter
 }
 }
 
-// #include "detail/input/lexer.hpp"
+// #include <nlohmann/detail/input/lexer.hpp>
 
 
 #include <clocale> // localeconv
@@ -1840,9 +1840,9 @@ class input_adapter
 #include <string> // char_traits, string
 #include <vector> // vector
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/input/input_adapters.hpp"
+// #include <nlohmann/detail/input/input_adapters.hpp>
 
 
 namespace nlohmann
@@ -3108,7 +3108,7 @@ class lexer
 }
 }
 
-// #include "detail/input/parser.hpp"
+// #include <nlohmann/detail/input/parser.hpp>
 
 
 #include <cassert> // assert
@@ -3118,15 +3118,15 @@ class lexer
 #include <string> // string
 #include <utility> // move
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/input/input_adapters.hpp"
+// #include <nlohmann/detail/input/input_adapters.hpp>
 
-// #include "detail/input/lexer.hpp"
+// #include <nlohmann/detail/input/lexer.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -3704,7 +3704,7 @@ class parser
 }
 }
 
-// #include "detail/iterators/primitive_iterator.hpp"
+// #include <nlohmann/detail/iterators/primitive_iterator.hpp>
 
 
 #include <cstddef> // ptrdiff_t
@@ -3826,10 +3826,10 @@ class primitive_iterator_t
 }
 }
 
-// #include "detail/iterators/internal_iterator.hpp"
+// #include <nlohmann/detail/iterators/internal_iterator.hpp>
 
 
-// #include "detail/iterators/primitive_iterator.hpp"
+// #include <nlohmann/detail/iterators/primitive_iterator.hpp>
 
 
 namespace nlohmann
@@ -3854,24 +3854,24 @@ template<typename BasicJsonType> struct internal_iterator
 }
 }
 
-// #include "detail/iterators/iter_impl.hpp"
+// #include <nlohmann/detail/iterators/iter_impl.hpp>
 
 
 #include <ciso646> // not
 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
 #include <type_traits> // conditional, is_const, remove_const
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/iterators/internal_iterator.hpp"
+// #include <nlohmann/detail/iterators/internal_iterator.hpp>
 
-// #include "detail/iterators/primitive_iterator.hpp"
+// #include <nlohmann/detail/iterators/primitive_iterator.hpp>
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/meta.hpp"
+// #include <nlohmann/detail/meta.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -4476,13 +4476,13 @@ class iter_impl
 }
 }
 
-// #include "detail/iterators/iteration_proxy.hpp"
+// #include <nlohmann/detail/iterators/iteration_proxy.hpp>
 
 
 #include <cstddef> // size_t
 #include <string> // string, to_string
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -4577,7 +4577,7 @@ template<typename IteratorType> class iteration_proxy
 }
 }
 
-// #include "detail/iterators/json_reverse_iterator.hpp"
+// #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
 
 
 #include <cstddef> // ptrdiff_t
@@ -4698,7 +4698,7 @@ class json_reverse_iterator : public std::reverse_iterator<Base>
 }
 }
 
-// #include "detail/output/output_adapters.hpp"
+// #include <nlohmann/detail/output/output_adapters.hpp>
 
 
 #include <algorithm> // copy
@@ -4813,7 +4813,7 @@ class output_adapter
 }
 }
 
-// #include "detail/input/binary_reader.hpp"
+// #include <nlohmann/detail/input/binary_reader.hpp>
 
 
 #include <algorithm> // generate_n
@@ -4831,13 +4831,13 @@ class output_adapter
 #include <string> // char_traits, string
 #include <utility> // make_pair, move
 
-// #include "detail/input/input_adapters.hpp"
+// #include <nlohmann/detail/input/input_adapters.hpp>
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -6180,7 +6180,7 @@ class binary_reader
 }
 }
 
-// #include "detail/output/binary_writer.hpp"
+// #include <nlohmann/detail/output/binary_writer.hpp>
 
 
 #include <algorithm> // reverse
@@ -6189,9 +6189,9 @@ class binary_reader
 #include <cstring> // memcpy
 #include <limits> // numeric_limits
 
-// #include "detail/input/binary_reader.hpp"
+// #include <nlohmann/detail/input/binary_reader.hpp>
 
-// #include "detail/output/output_adapters.hpp"
+// #include <nlohmann/detail/output/output_adapters.hpp>
 
 
 namespace nlohmann
@@ -7093,7 +7093,7 @@ class binary_writer
 }
 }
 
-// #include "detail/output/serializer.hpp"
+// #include <nlohmann/detail/output/serializer.hpp>
 
 
 #include <algorithm> // reverse, remove, fill, find, none_of
@@ -7112,9 +7112,9 @@ class binary_writer
 #include <sstream> // stringstream
 #include <type_traits> // is_same
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/conversions/to_chars.hpp"
+// #include <nlohmann/detail/conversions/to_chars.hpp>
 
 
 #include <cassert> // assert
@@ -8211,13 +8211,13 @@ char* to_chars(char* first, char* last, FloatType value)
 } // namespace detail
 } // namespace nlohmann
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/meta.hpp"
+// #include <nlohmann/detail/meta.hpp>
 
-// #include "detail/output/output_adapters.hpp"
+// #include <nlohmann/detail/output/output_adapters.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -8830,7 +8830,7 @@ class serializer
 }
 }
 
-// #include "detail/json_ref.hpp"
+// #include <nlohmann/detail/json_ref.hpp>
 
 
 #include <initializer_list>
@@ -8895,7 +8895,7 @@ class json_ref
 }
 }
 
-// #include "detail/json_pointer.hpp"
+// #include <nlohmann/detail/json_pointer.hpp>
 
 
 #include <cassert> // assert
@@ -8903,11 +8903,11 @@ class json_ref
 #include <string> // string
 #include <vector> // vector
 
-// #include "detail/macro_scope.hpp"
+// #include <nlohmann/detail/macro_scope.hpp>
 
-// #include "detail/exceptions.hpp"
+// #include <nlohmann/detail/exceptions.hpp>
 
-// #include "detail/value_t.hpp"
+// #include <nlohmann/detail/value_t.hpp>
 
 
 namespace nlohmann
@@ -9596,14 +9596,14 @@ class json_pointer
 };
 }
 
-// #include "adl_serializer.hpp"
+// #include <nlohmann/adl_serializer.hpp>
 
 
 #include <utility>
 
-// #include "detail/conversions/from_json.hpp"
+// #include <nlohmann/detail/conversions/from_json.hpp>
 
-// #include "detail/conversions/to_json.hpp"
+// #include <nlohmann/detail/conversions/to_json.hpp>
 
 
 namespace nlohmann
@@ -17142,7 +17142,7 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std
     return nlohmann::json::json_pointer(std::string(s, n));
 }
 
-// #include "detail/macro_unscope.hpp"
+// #include <nlohmann/detail/macro_unscope.hpp>
 
 
 // restore GCC/clang diagnostic settings
diff --git a/third_party/amalgamate/config.json b/third_party/amalgamate/config.json
index ce937e65de..32fc21cf47 100644
--- a/third_party/amalgamate/config.json
+++ b/third_party/amalgamate/config.json
@@ -1,8 +1,8 @@
 {
 	"project": "JSON for Modern C++",
-	"target": "src/json.hpp",
+	"target": "single_include/nlohmann/json.hpp",
 	"sources": [
-		"json.hpp"
+		"include/nlohmann/json.hpp"
 	],
-	"include_paths": ["."]
+	"include_paths": ["include"]
 }

diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 89f5c22129..ddce7e0f2b 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -101,6 +101,7 @@ foreach(file ${files})
 
     target_compile_definitions(${testcase} PRIVATE CATCH_CONFIG_FAST_COMPILE)
     target_include_directories(${testcase} PRIVATE "thirdparty/catch")
+    target_include_directories(${testcase} PRIVATE ${NLOHMANN_JSON_INCLUDE_BUILD_DIR})
     target_link_libraries(${testcase} ${NLOHMANN_JSON_TARGET_NAME})
 
     if(NOT MSVC)
diff --git a/test/Makefile b/test/Makefile
index 91dd7654c1..4dc3991620 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -4,7 +4,7 @@
 
 # additional flags
 CXXFLAGS += -std=c++11 -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wno-ctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion -Wsign-promo -Wstrict-overflow=5 -Wswitch -Wundef -Wno-unused -Wnon-virtual-dtor -Wreorder -Wdeprecated -Wno-float-equal
-CPPFLAGS += -I ../src -I . -I thirdparty/catch -DCATCH_CONFIG_FAST_COMPILE
+CPPFLAGS += -I ../single_include -I . -I thirdparty/catch -DCATCH_CONFIG_FAST_COMPILE
 
 SOURCES = src/unit.cpp \
           src/unit-algorithms.cpp \
@@ -60,11 +60,11 @@ clean:
 # single test file
 ##############################################################################
 
-json_unit: $(OBJECTS) ../src/json.hpp thirdparty/catch/catch.hpp
+json_unit: $(OBJECTS) ../single_include/nlohmann/json.hpp thirdparty/catch/catch.hpp
 	@echo "[CXXLD] $@"
 	@$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) -o $@
 
-%.o: %.cpp ../src/json.hpp thirdparty/catch/catch.hpp
+%.o: %.cpp ../single_include/nlohmann/json.hpp thirdparty/catch/catch.hpp
 	@echo "[CXX]   $@"
 	@$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $@
 
@@ -73,7 +73,7 @@ json_unit: $(OBJECTS) ../src/json.hpp thirdparty/catch/catch.hpp
 # individual test cases
 ##############################################################################
 
-test-%: src/unit-%.o src/unit.o ../src/json.hpp thirdparty/catch/catch.hpp
+test-%: src/unit-%.o src/unit.o ../single_include/nlohmann/json.hpp thirdparty/catch/catch.hpp
 	@echo "[CXXLD] $@"
 	@$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $< src/unit.o -o $@
 
diff --git a/test/src/fuzzer-parse_cbor.cpp b/test/src/fuzzer-parse_cbor.cpp
index 576407bb4d..72978e54fd 100644
--- a/test/src/fuzzer-parse_cbor.cpp
+++ b/test/src/fuzzer-parse_cbor.cpp
@@ -20,7 +20,7 @@ Licensed under the MIT License <http://opensource.org/licenses/MIT>.
 
 #include <iostream>
 #include <sstream>
-#include <json.hpp>
+#include <nlohmann/json.hpp>
 
 using json = nlohmann::json;
 
diff --git a/test/src/fuzzer-parse_json.cpp b/test/src/fuzzer-parse_json.cpp
index 6b2b11541d..86a8f7fbe5 100644
--- a/test/src/fuzzer-parse_json.cpp
+++ b/test/src/fuzzer-parse_json.cpp
@@ -21,7 +21,7 @@ Licensed under the MIT License <http://opensource.org/licenses/MIT>.
 
 #include <iostream>
 #include <sstream>
-#include <json.hpp>
+#include <nlohmann/json.hpp>
 
 using json = nlohmann::json;
 
diff --git a/test/src/fuzzer-parse_msgpack.cpp b/test/src/fuzzer-parse_msgpack.cpp
index c3f9eb5dbe..03da575924 100644
--- a/test/src/fuzzer-parse_msgpack.cpp
+++ b/test/src/fuzzer-parse_msgpack.cpp
@@ -20,7 +20,7 @@ Licensed under the MIT License <http://opensource.org/licenses/MIT>.
 
 #include <iostream>
 #include <sstream>
-#include <json.hpp>
+#include <nlohmann/json.hpp>
 
 using json = nlohmann::json;
 
diff --git a/test/src/fuzzer-parse_ubjson.cpp b/test/src/fuzzer-parse_ubjson.cpp
index 947d96e05b..1980f684a1 100644
--- a/test/src/fuzzer-parse_ubjson.cpp
+++ b/test/src/fuzzer-parse_ubjson.cpp
@@ -20,7 +20,7 @@ Licensed under the MIT License <http://opensource.org/licenses/MIT>.
 
 #include <iostream>
 #include <sstream>
-#include <json.hpp>
+#include <nlohmann/json.hpp>
 
 using json = nlohmann::json;
 
diff --git a/test/src/unit-algorithms.cpp b/test/src/unit-algorithms.cpp
index f74ca72e7b..001f566e46 100644
--- a/test/src/unit-algorithms.cpp
+++ b/test/src/unit-algorithms.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("algorithms")
diff --git a/test/src/unit-allocator.cpp b/test/src/unit-allocator.cpp
index a182d9898a..9fdb41cb63 100644
--- a/test/src/unit-allocator.cpp
+++ b/test/src/unit-allocator.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 // special test case to check if memory is leaked if constructor throws
diff --git a/test/src/unit-capacity.cpp b/test/src/unit-capacity.cpp
index 4df512a879..1c0d573a12 100644
--- a/test/src/unit-capacity.cpp
+++ b/test/src/unit-capacity.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("capacity")
diff --git a/test/src/unit-cbor.cpp b/test/src/unit-cbor.cpp
index 43fca02893..41b2e15cc5 100644
--- a/test/src/unit-cbor.cpp
+++ b/test/src/unit-cbor.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-class_const_iterator.cpp b/test/src/unit-class_const_iterator.cpp
index 5ecc9d6aed..cf6777e95c 100644
--- a/test/src/unit-class_const_iterator.cpp
+++ b/test/src/unit-class_const_iterator.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("const_iterator class")
diff --git a/test/src/unit-class_iterator.cpp b/test/src/unit-class_iterator.cpp
index 45f28ef6cc..168988d607 100644
--- a/test/src/unit-class_iterator.cpp
+++ b/test/src/unit-class_iterator.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("iterator class")
diff --git a/test/src/unit-class_lexer.cpp b/test/src/unit-class_lexer.cpp
index 45355cd749..4ae7e77cdd 100644
--- a/test/src/unit-class_lexer.cpp
+++ b/test/src/unit-class_lexer.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 // shortcut to scan a string literal
diff --git a/test/src/unit-class_parser.cpp b/test/src/unit-class_parser.cpp
index 91fd18190a..ad1a97230a 100644
--- a/test/src/unit-class_parser.cpp
+++ b/test/src/unit-class_parser.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <valarray>
diff --git a/test/src/unit-comparison.cpp b/test/src/unit-comparison.cpp
index dbd7788b41..3ca7d552e9 100644
--- a/test/src/unit-comparison.cpp
+++ b/test/src/unit-comparison.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 // helper function to check std::less<json::value_t>
diff --git a/test/src/unit-concepts.cpp b/test/src/unit-concepts.cpp
index dea1238dc6..29be62ddcb 100644
--- a/test/src/unit-concepts.cpp
+++ b/test/src/unit-concepts.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("concepts")
diff --git a/test/src/unit-constructor1.cpp b/test/src/unit-constructor1.cpp
index 33a4f677f8..b1aafc342d 100644
--- a/test/src/unit-constructor1.cpp
+++ b/test/src/unit-constructor1.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <deque>
diff --git a/test/src/unit-constructor2.cpp b/test/src/unit-constructor2.cpp
index 58545ad0de..5cb33fa459 100644
--- a/test/src/unit-constructor2.cpp
+++ b/test/src/unit-constructor2.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("other constructors and destructor")
diff --git a/test/src/unit-convenience.cpp b/test/src/unit-convenience.cpp
index f74c00aecf..fc04d4a614 100644
--- a/test/src/unit-convenience.cpp
+++ b/test/src/unit-convenience.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 void check_escaped(const char* original, const char* escaped = "", const bool ensure_ascii = false);
diff --git a/test/src/unit-conversions.cpp b/test/src/unit-conversions.cpp
index f9d49a838c..38c3d8dd19 100644
--- a/test/src/unit-conversions.cpp
+++ b/test/src/unit-conversions.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <deque>
diff --git a/test/src/unit-deserialization.cpp b/test/src/unit-deserialization.cpp
index 1da791a92a..e790f21ae8 100644
--- a/test/src/unit-deserialization.cpp
+++ b/test/src/unit-deserialization.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <iostream>
diff --git a/test/src/unit-element_access1.cpp b/test/src/unit-element_access1.cpp
index e288cb5c9f..cc9b3ff46d 100644
--- a/test/src/unit-element_access1.cpp
+++ b/test/src/unit-element_access1.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("element access 1")
diff --git a/test/src/unit-element_access2.cpp b/test/src/unit-element_access2.cpp
index 8f628f6989..4a566b152d 100644
--- a/test/src/unit-element_access2.cpp
+++ b/test/src/unit-element_access2.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("element access 2")
diff --git a/test/src/unit-inspection.cpp b/test/src/unit-inspection.cpp
index 21f637aa4d..b4fdb9a6ae 100644
--- a/test/src/unit-inspection.cpp
+++ b/test/src/unit-inspection.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #include <fstream>
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("object inspection")
@@ -316,8 +316,8 @@ TEST_CASE("object inspection")
     SECTION("round trips")
     {
         for (const auto& s :
-                {"3.141592653589793", "1000000000000000010E5"
-                })
+    {"3.141592653589793", "1000000000000000010E5"
+    })
         {
             json j1 = json::parse(s);
             std::string s1 = j1.dump();
diff --git a/test/src/unit-items.cpp b/test/src/unit-items.cpp
index 4f5bd15d25..9d4552049c 100644
--- a/test/src/unit-items.cpp
+++ b/test/src/unit-items.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("iterator_wrapper")
diff --git a/test/src/unit-iterators1.cpp b/test/src/unit-iterators1.cpp
index 8c5eddba71..ea789fa352 100644
--- a/test/src/unit-iterators1.cpp
+++ b/test/src/unit-iterators1.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("iterators 1")
diff --git a/test/src/unit-iterators2.cpp b/test/src/unit-iterators2.cpp
index d872890f69..b778f040b8 100644
--- a/test/src/unit-iterators2.cpp
+++ b/test/src/unit-iterators2.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("iterators 2")
diff --git a/test/src/unit-json_patch.cpp b/test/src/unit-json_patch.cpp
index 3490f7046c..c69b3f0788 100644
--- a/test/src/unit-json_patch.cpp
+++ b/test/src/unit-json_patch.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-json_pointer.cpp b/test/src/unit-json_pointer.cpp
index 7a49334759..d6b6149491 100644
--- a/test/src/unit-json_pointer.cpp
+++ b/test/src/unit-json_pointer.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("JSON pointers")
diff --git a/test/src/unit-merge_patch.cpp b/test/src/unit-merge_patch.cpp
index 79bbaa2a3e..887207663c 100644
--- a/test/src/unit-merge_patch.cpp
+++ b/test/src/unit-merge_patch.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("JSON Merge Patch")
diff --git a/test/src/unit-meta.cpp b/test/src/unit-meta.cpp
index f6e9d6f444..63d9abada1 100644
--- a/test/src/unit-meta.cpp
+++ b/test/src/unit-meta.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("version information")
diff --git a/test/src/unit-modifiers.cpp b/test/src/unit-modifiers.cpp
index 44b9cf2bc9..3b31bda9e7 100644
--- a/test/src/unit-modifiers.cpp
+++ b/test/src/unit-modifiers.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("modifiers")
diff --git a/test/src/unit-msgpack.cpp b/test/src/unit-msgpack.cpp
index 531012b7d9..81aa36370a 100644
--- a/test/src/unit-msgpack.cpp
+++ b/test/src/unit-msgpack.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-noexcept.cpp b/test/src/unit-noexcept.cpp
index 56ca4a41c1..6d0fd359b8 100644
--- a/test/src/unit-noexcept.cpp
+++ b/test/src/unit-noexcept.cpp
@@ -27,7 +27,7 @@ SOFTWARE.
 */
 
 #include "catch.hpp"
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 
 using nlohmann::json;
 
diff --git a/test/src/unit-pointer_access.cpp b/test/src/unit-pointer_access.cpp
index 19254907b9..eec88ed36f 100644
--- a/test/src/unit-pointer_access.cpp
+++ b/test/src/unit-pointer_access.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("pointer access")
diff --git a/test/src/unit-readme.cpp b/test/src/unit-readme.cpp
index ebf10583ce..ade0e0a565 100644
--- a/test/src/unit-readme.cpp
+++ b/test/src/unit-readme.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <deque>
diff --git a/test/src/unit-reference_access.cpp b/test/src/unit-reference_access.cpp
index ea84c9e7ae..a87a0c543c 100644
--- a/test/src/unit-reference_access.cpp
+++ b/test/src/unit-reference_access.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("reference access")
diff --git a/test/src/unit-regression.cpp b/test/src/unit-regression.cpp
index c4a04775de..bcdb4ace1c 100644
--- a/test/src/unit-regression.cpp
+++ b/test/src/unit-regression.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-serialization.cpp b/test/src/unit-serialization.cpp
index 5668b7baa8..2f667f4124 100644
--- a/test/src/unit-serialization.cpp
+++ b/test/src/unit-serialization.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 TEST_CASE("serialization")
diff --git a/test/src/unit-testsuites.cpp b/test/src/unit-testsuites.cpp
index f88bc9d081..bd813aa5bc 100644
--- a/test/src/unit-testsuites.cpp
+++ b/test/src/unit-testsuites.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-to_chars.cpp b/test/src/unit-to_chars.cpp
index 973e4e1940..dffeaed09a 100644
--- a/test/src/unit-to_chars.cpp
+++ b/test/src/unit-to_chars.cpp
@@ -32,7 +32,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::detail::dtoa_impl::reinterpret_bits;
 
 static float make_float(uint32_t sign_bit, uint32_t biased_exponent, uint32_t significand)
diff --git a/test/src/unit-ubjson.cpp b/test/src/unit-ubjson.cpp
index 144fcfe1ae..f049270208 100644
--- a/test/src/unit-ubjson.cpp
+++ b/test/src/unit-ubjson.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>
diff --git a/test/src/unit-udt.cpp b/test/src/unit-udt.cpp
index a4adc3be24..442041514e 100644
--- a/test/src/unit-udt.cpp
+++ b/test/src/unit-udt.cpp
@@ -28,7 +28,7 @@ SOFTWARE.
 
 #include "catch.hpp"
 
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 
 using nlohmann::json;
 
diff --git a/test/src/unit-unicode.cpp b/test/src/unit-unicode.cpp
index 97fc2751aa..82a292042e 100644
--- a/test/src/unit-unicode.cpp
+++ b/test/src/unit-unicode.cpp
@@ -29,7 +29,7 @@ SOFTWARE.
 #include "catch.hpp"
 
 #define private public
-#include "json.hpp"
+#include <nlohmann/json.hpp>
 using nlohmann::json;
 
 #include <fstream>

{"test-json_pointer_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-noexcept_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-noexcept_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_pointer_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"test-json_pointer_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-noexcept_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-noexcept_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_pointer_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization_all": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization_default": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 76, "failed_count": 0, "skipped_count": 0, "passed_tests": ["test-json_pointer_default", "test-regression_all", "test-element_access2_default", "test-convenience_all", "test-items_all", "test-modifiers_all", "test-conversions_default", "test-class_parser_default", "test-constructor1_all", "test-reference_access_default", "test-element_access1_all", "test-readme_default", "test-comparison_default", "test-noexcept_default", "test-class_lexer_default", "test-class_const_iterator_all", "test-element_access1_default", "test-inspection_default", "test-class_iterator_all", "test-class_iterator_default", "test-algorithms_default", "test-unicode_all", "test-udt_all", "test-class_const_iterator_default", "test-items_default", "test-constructor2_default", "test-cbor_all", "test-allocator_default", "test-concepts_default", "test-conversions_all", "test-merge_patch_default", "test-noexcept_all", "test-iterators2_all", "test-inspection_all", "test-algorithms_all", "test-pointer_access_all", "test-iterators1_all", "test-testsuites_default", "test-comparison_all", "test-to_chars_all", "test-constructor1_default", "test-cbor_default", "test-modifiers_default", "test-json_patch_all", "test-to_chars_default", "test-capacity_all", "test-constructor2_all", "test-element_access2_all", "test-ubjson_all", "test-serialization_default", "test-testsuites_all", "test-meta_all", "test-allocator_all", "test-iterators1_default", "test-udt_default", "test-reference_access_all", "test-class_lexer_all", "test-capacity_default", "test-json_patch_default", "test-class_parser_all", "test-json_pointer_all", "test-merge_patch_all", "test-readme_all", "test-iterators2_default", "test-concepts_all", "test-unicode_default", "test-pointer_access_default", "test-serialization_all", "test-deserialization_all", "test-msgpack_default", "test-msgpack_all", "test-ubjson_default", "test-regression_default", "test-convenience_default", "test-meta_default", "test-deserialization_default"], "failed_tests": [], "skipped_tests": []}
{"passed_count": 0, "failed_count": 0, "skipped_count": 0, "passed_tests": [], "failed_tests": [], "skipped_tests": []}
{"passed_count": 76, "failed_count": 0, "skipped_count": 0, "passed_tests": ["test-json_pointer_default", "test-regression_all", "test-element_access2_default", "test-convenience_all", "test-items_all", "test-modifiers_all", "test-conversions_default", "test-class_parser_default", "test-constructor1_all", "test-reference_access_default", "test-element_access1_all", "test-readme_default", "test-comparison_default", "test-noexcept_default", "test-class_lexer_default", "test-class_const_iterator_all", "test-element_access1_default", "test-inspection_default", "test-class_iterator_all", "test-class_iterator_default", "test-algorithms_default", "test-unicode_all", "test-udt_all", "test-class_const_iterator_default", "test-items_default", "test-constructor2_default", "test-cbor_all", "test-allocator_default", "test-concepts_default", "test-conversions_all", "test-merge_patch_default", "test-noexcept_all", "test-iterators2_all", "test-inspection_all", "test-algorithms_all", "test-pointer_access_all", "test-iterators1_all", "test-testsuites_default", "test-comparison_all", "test-to_chars_all", "test-constructor1_default", "test-cbor_default", "test-modifiers_default", "test-json_patch_all", "test-to_chars_default", "test-capacity_all", "test-constructor2_all", "test-element_access2_all", "test-ubjson_all", "test-serialization_default", "test-testsuites_all", "test-meta_all", "test-allocator_all", "test-iterators1_default", "test-udt_default", "test-reference_access_all", "test-class_lexer_all", "test-capacity_default", "test-json_patch_default", "test-class_parser_all", "test-json_pointer_all", "test-merge_patch_all", "test-readme_all", "test-iterators2_default", "test-concepts_all", "test-unicode_default", "test-pointer_access_default", "test-serialization_all", "test-deserialization_all", "test-msgpack_default", "test-msgpack_all", "test-ubjson_default", "test-regression_default", "test-convenience_default", "test-meta_default", "test-deserialization_default"], "failed_tests": [], "skipped_tests": []}