diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ae1d8bb..05eda647 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0)
 # define the project
 project(json VERSION 2.0.0 LANGUAGES CXX)
 
+option(BuildTests "Build the unit tests" ON)
+
 # define project variables
 set(JSON_TARGET_NAME ${PROJECT_NAME})
 set(JSON_UNITTEST_TARGET_NAME "json_unit")
@@ -20,15 +22,19 @@ target_include_directories(${JSON_TARGET_NAME} INTERFACE
   $<INSTALL_INTERFACE:${JSON_INCLUDE_DESTINATION}>)
 
 # create and configure the unit test target
-add_executable(${JSON_UNITTEST_TARGET_NAME}
-    "test/catch.hpp" "test/unit.cpp")
-set_target_properties(${JSON_UNITTEST_TARGET_NAME} PROPERTIES
-    CXX_STANDARD 11
-    CXX_STANDARD_REQUIRED ON
-    COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
-    COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>")
-target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test")
-target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME})
+if (BuildTests)
+    add_executable(${JSON_UNITTEST_TARGET_NAME}
+        "test/catch.hpp"
+        "test/unit.cpp"
+    )
+    set_target_properties(${JSON_UNITTEST_TARGET_NAME} PROPERTIES
+        CXX_STANDARD 11
+        CXX_STANDARD_REQUIRED ON
+        COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
+        COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>")
+    target_include_directories(${JSON_UNITTEST_TARGET_NAME} PRIVATE "test")
+    target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME})
+endif()
 
 # generate a config and config version file for the package
 include(CMakePackageConfigHelpers)