--- /dev/null
+++ tests/CMakeLists.txt
@@ -0,0 +1,9 @@
+if(TINYGLTF_BUILD_TESTS)
+  add_executable(tester tester.cc)
+  set_property(TARGET tester PROPERTY CXX_STANDARD 11)
+  add_test(NAME tester COMMAND tester WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+  target_include_directories(tester PRIVATE
+    ${CMAKE_SOURCE_DIR}
+    ${stb_INCLUDE_DIRS}
+  )
+endif()


--- CMakeLists.txt.orig	 2025-01-03 11:56:36
+++ CMakeLists.txt	2025-01-03 12:05:10
@@ -21,6 +21,7 @@
 option(TINYGLTF_HEADER_ONLY "On: header-only mode. Off: create tinygltf library(No TINYGLTF_IMPLEMENTATION required in your project)" OFF)
 option(TINYGLTF_INSTALL "Install tinygltf files during install step. Usually set to OFF if you include tinygltf through add_subdirectory()" ON)
 option(TINYGLTF_INSTALL_VENDOR "Install vendored nlohmann/json and nothings/stb headers" ON)
+option(TINYGLTF_BUILD_TESTS "Build tests" OFF)
 
 if (TINYGLTF_BUILD_LOADER_EXAMPLE)
   add_executable(loader_example
@@ -66,3 +67,8 @@
   NAMESPACE ${PROJECT_NAME}::
   DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
 install(FILES tiny_gltf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+if(TINYGLTF_BUILD_TESTS)
+  include(CTest)
+  add_subdirectory(tests)
+endif(TINYGLTF_BUILD_TESTS)
