diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6373cce09eb2413fec7f80e85294f35cf0515375..21447b9bf412b1f0dde73fe3828db51c36b83fc2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.11)
 
 project(matrix_client VERSION 0.2.0 LANGUAGES CXX C)
 
@@ -54,7 +54,7 @@ endif()
 find_package(OpenSSL REQUIRED)
 find_package(ZLIB REQUIRED)
 find_package(Olm 2 REQUIRED)
-find_package(sodium REQUIRED)
+find_package(sodium 1.0.14 REQUIRED)
 
 set(Boost_USE_STATIC_LIBS OFF)
 set(Boost_USE_STATIC_RUNTIME OFF)
diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
index 13c110ae9174380434e7c2af8373152fd028d533..974324c7699a24d62f9ec46c24ebbcefff701b79 100644
--- a/deps/CMakeLists.txt
+++ b/deps/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.11)
 project(MTXCLIENT_DEPS)
 
 # Point CMake at any custom modules we may ship
@@ -33,6 +33,11 @@ option(USE_EXISTING_SRC_DIR
 
 include(ExternalProject)
 
+if(USE_BUNDLED_BOOST)
+  # bundled boost is 1.68, which requires CMake 3.13 or greater.
+  cmake_minimum_required(VERSION 3.13)
+endif()
+
 set(BOOST_URL
     https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2)
 set(BOOST_SHA256