diff --git a/thirdparty/cpm-imgui.cmake b/thirdparty/cpm-imgui.cmake
index d4cffc7d308b040221d92cd8494cea11eac82bed..2afd71a2c29c5eb9381947f6976a0a0f93b92e11 100644
--- a/thirdparty/cpm-imgui.cmake
+++ b/thirdparty/cpm-imgui.cmake
@@ -21,6 +21,7 @@ if(imgui_ADDED)
 
 	add_custom_command(
 		OUTPUT "${imgui_BINARY_DIR}/include/imgui.h" "${imgui_BINARY_DIR}/include/imconfig.h"
+		COMMAND ${CMAKE_COMMAND} -E make_directory "${imgui_BINARY_DIR}/include"
 		COMMAND ${CMAKE_COMMAND} -E copy "${imgui_SOURCE_DIR}/imgui.h" "${imgui_SOURCE_DIR}/imconfig.h" "${imgui_BINARY_DIR}/include"
 		DEPENDS "${imgui_SOURCE_DIR}/imgui.h" "${imgui_SOURCE_DIR}/imconfig.h"
 		VERBATIM
diff --git a/thirdparty/tcbrindle_span/CMakeLists.txt b/thirdparty/tcbrindle_span/CMakeLists.txt
index a9a5bf6433f5bd86cebf1b152f0eb5a1224eeefd..19cf8e7397bd1ece6929921b2ec2bf2ca5829b2e 100644
--- a/thirdparty/tcbrindle_span/CMakeLists.txt
+++ b/thirdparty/tcbrindle_span/CMakeLists.txt
@@ -2,7 +2,10 @@
 # Portable implementation of C++20 std::span
 # Boost License 1.0
 
-add_library(tcbrindle_span INTERFACE include/tcb/span.hpp)
+cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+
+add_library(tcbrindle_span INTERFACE)
+target_sources(tcbrindle_span INTERFACE include/tcb/span.hpp)
 target_include_directories(tcbrindle_span INTERFACE include)
 
 add_library(tcbrindle::span ALIAS tcbrindle_span)