diff --git a/cmake/Config.cmake b/cmake/Config.cmake
index 823fc8688..ec23c7f27 100644
--- a/cmake/Config.cmake
+++ b/cmake/Config.cmake
@@ -92,6 +92,5 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
     execute_process(COMMAND "${CMAKE_CXX_COMPILER}" "--version" OUTPUT_VARIABLE GCC_COMPILER_VERSION)
     string(REGEX MATCHALL ".*(tdm[64]*-[1-9]).*" SFML_COMPILER_GCC_TDM "${GCC_COMPILER_VERSION}")
 else()
-    message(FATAL_ERROR "Unsupported compiler")
-    return()
+    message(WARNING "Unrecognized compiler: ${CMAKE_CXX_COMPILER_ID}. Use at your own risk.")
 endif()
diff --git a/src/SFML/CMakeLists.txt b/src/SFML/CMakeLists.txt
index 1e76f2b4d..08d7c8e9a 100644
--- a/src/SFML/CMakeLists.txt
+++ b/src/SFML/CMakeLists.txt
@@ -32,7 +32,7 @@ elseif(SFML_OS_ANDROID)
 endif()
 
 # define the path of our additional CMake modules
-set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules/")
+list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules/")
 
 # set the output directory for SFML libraries
 set(LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib")
diff --git a/src/SFML/Graphics/Texture.cpp b/src/SFML/Graphics/Texture.cpp
index 7c6df2e5a..9462a7c47 100644
--- a/src/SFML/Graphics/Texture.cpp
+++ b/src/SFML/Graphics/Texture.cpp
@@ -880,6 +880,9 @@ unsigned int Texture::getMaximumSize()
 
         GLint value = 0;
 
+        // Make sure that extensions are initialized
+        sf::priv::ensureExtensionsInit();
+
         glCheck(glGetIntegerv(GL_MAX_TEXTURE_SIZE, &value));
 
         return static_cast<unsigned int>(value);