diff --git a/cmake/ftxui_set_options.cmake b/cmake/ftxui_set_options.cmake
index 31a2608184affaf4e8aafefb712002b0d8420758..c960c7cf1029534ff5c634352a8a198fe11ebe6a 100644
--- a/cmake/ftxui_set_options.cmake
+++ b/cmake/ftxui_set_options.cmake
@@ -43,9 +43,17 @@ function(ftxui_set_options library)
       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
   )
 
+  # Play nicely if we are being consumed by another project
+  # and use their CMAKE_CXX_STANDARD. Otherwise, fall back to 17
   # C++17 is used. We require fold expression at least.
+  if (DEFINED CMAKE_CXX_STANDARD)
+    set(CXX_STANDARD ${CMAKE_CXX_STANDARD})
+  else()
+    set(CXX_STANDARD 17)
+  endif()
+  
   set_target_properties(${library} PROPERTIES
-    CXX_STANDARD 17
+    CXX_STANDARD ${CXX_STANDARD}
     CXX_EXTENSIONS OFF
   )