diff --git a/.gitignore b/.gitignore
index 92ea2903..8157f1a9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,4 +21,3 @@ benchmarks/files/numbers/*.json
 cmake-build-debug
 
 test/test-*
-third_party/Amalgamate
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b2acb73f..7e427020 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,12 +16,12 @@ include(ExternalProject)
 ## OPTIONS
 ##
 option(JSON_BuildTests "Build the unit tests when BUILD_TESTING is enabled." ON)
+option(JSON_MultipleHeaders "Use non-amalgamated version of the library." OFF)
 
 ##
 ## CONFIGURATION
 ##
 set(NLOHMANN_JSON_TARGET_NAME               ${PROJECT_NAME})
-set(NLOHMANN_JSON_SOURCE_DIR                "src")
 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")
@@ -31,6 +31,12 @@ set(NLOHMANN_JSON_CMAKE_CONFIG_DIR          "${CMAKE_CURRENT_BINARY_DIR}/cmake_c
 set(NLOHMANN_JSON_CMAKE_VERSION_CONFIG_FILE "${NLOHMANN_JSON_CMAKE_CONFIG_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
 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/")
+else()
+    set(NLOHMANN_JSON_SOURCE_DIR "src/")
+endif()
+
 ##
 ## TARGET
 ## create target and add include path
@@ -40,7 +46,7 @@ add_library(${NLOHMANN_JSON_TARGET_NAME} INTERFACE)
 target_include_directories(
     ${NLOHMANN_JSON_TARGET_NAME}
     INTERFACE
-    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
+    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/${NLOHMANN_JSON_SOURCE_DIR}>
     $<INSTALL_INTERFACE:include>
 )
 
diff --git a/Makefile b/Makefile
index 6756182e..7f745249 100644
--- a/Makefile
+++ b/Makefile
@@ -254,7 +254,7 @@ pretty:
 amalgamate: src/json.hpp
 
 src/json.hpp: $(SRCS)
-	develop/amalgamate/amalgamate.py -c develop/amalgamate/config.json -s develop --verbose=yes
+	third_party/amalgamate/amalgamate.py -c third_party/amalgamate/config.json -s develop --verbose=yes
 	$(MAKE) pretty
 
 # check if src/json.hpp has been amalgamated from the develop sources
diff --git a/develop/amalgamate/CHANGES.md b/third_party/amalgamate/CHANGES.md
similarity index 100%
rename from develop/amalgamate/CHANGES.md
rename to third_party/amalgamate/CHANGES.md
diff --git a/develop/amalgamate/LICENSE.md b/third_party/amalgamate/LICENSE.md
similarity index 100%
rename from develop/amalgamate/LICENSE.md
rename to third_party/amalgamate/LICENSE.md
diff --git a/develop/amalgamate/README.md b/third_party/amalgamate/README.md
similarity index 100%
rename from develop/amalgamate/README.md
rename to third_party/amalgamate/README.md
diff --git a/develop/amalgamate/amalgamate.py b/third_party/amalgamate/amalgamate.py
old mode 100755
new mode 100644
similarity index 100%
rename from develop/amalgamate/amalgamate.py
rename to third_party/amalgamate/amalgamate.py
diff --git a/develop/amalgamate/config.json b/third_party/amalgamate/config.json
similarity index 100%
rename from develop/amalgamate/config.json
rename to third_party/amalgamate/config.json