From d301fab1f4ecdd3544ed99b9c98e647d5804c341 Mon Sep 17 00:00:00 2001
From: ArthurSonzogni <sonzogniarthur@gmail.com>
Date: Sun, 12 Feb 2023 14:09:47 +0100
Subject: [PATCH] Release v4.0.0

---
 CHANGELOG.md                               |  3 +++
 CMakeLists.txt                             | 11 ++++++++---
 cmake/ftxui_set_options.cmake              |  1 -
 include/ftxui/screen/screen.hpp            |  2 +-
 src/ftxui/component/animation.cpp          |  1 -
 src/ftxui/component/screen_interactive.cpp |  3 +--
 6 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7b4b9182..b8584fb6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@ Changelog
 current (development) 
 ---------------------
 
+4.0.0
+-----
+
 ### DOM
 - Feature: more styles:
   - `strikethrough`
diff --git a/CMakeLists.txt b/CMakeLists.txt
index adb4ec58..e58a9be1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11)
 
 project(ftxui
   LANGUAGES CXX
-  VERSION 3.0.0
+  VERSION 4.0.0
 )
 
 option(FTXUI_BUILD_DOCS "Set to ON to build docs" ON)
@@ -131,12 +131,17 @@ target_link_libraries(dom
   PUBLIC screen
 )
 
-find_package(Threads)
 target_link_libraries(component
   PUBLIC dom
-  PUBLIC Threads::Threads
 )
 
+if (NOT EMSCRIPTEN)
+  find_package(Threads)
+  target_link_libraries(component
+    PUBLIC Threads::Threads
+  )
+endif()
+
 include(cmake/ftxui_set_options.cmake)
 ftxui_set_options(screen)
 ftxui_set_options(dom)
diff --git a/cmake/ftxui_set_options.cmake b/cmake/ftxui_set_options.cmake
index 1294e7d8..d6089802 100644
--- a/cmake/ftxui_set_options.cmake
+++ b/cmake/ftxui_set_options.cmake
@@ -44,7 +44,6 @@ function(ftxui_set_options library)
   )
 
   # C++17 is used. We require fold expression at least.
-  target_compile_features(${library} PUBLIC cxx_std_20)
   set_target_properties(${library} PROPERTIES
     CXX_STANDARD 17
     CXX_EXTENSIONS OFF
diff --git a/include/ftxui/screen/screen.hpp b/include/ftxui/screen/screen.hpp
index b6e82fcb..d8a5329d 100644
--- a/include/ftxui/screen/screen.hpp
+++ b/include/ftxui/screen/screen.hpp
@@ -2,7 +2,7 @@
 #define FTXUI_SCREEN_SCREEN_HPP
 
 #include <memory>
-#include <string>  // for allocator, string, basic_string
+#include <string>  // for string, allocator, basic_string
 #include <vector>  // for vector
 
 #include "ftxui/screen/box.hpp"       // for Box
diff --git a/src/ftxui/component/animation.cpp b/src/ftxui/component/animation.cpp
index 1a0a501b..1a576e75 100644
--- a/src/ftxui/component/animation.cpp
+++ b/src/ftxui/component/animation.cpp
@@ -1,5 +1,4 @@
 #include <cmath>    // for sin, pow, sqrt, cos
-#include <compare>  // for operator<=, operator>=, partial_ordering
 #include <ratio>    // for ratio
 #include <utility>  // for move
 
diff --git a/src/ftxui/component/screen_interactive.cpp b/src/ftxui/component/screen_interactive.cpp
index f9db0a4e..46e2b5b3 100644
--- a/src/ftxui/component/screen_interactive.cpp
+++ b/src/ftxui/component/screen_interactive.cpp
@@ -1,7 +1,6 @@
 #include <algorithm>  // for copy, max, min
 #include <array>      // for array
-#include <chrono>  // for operator-, milliseconds, operator<=>, duration, common_type<>::type, time_point
-#include <compare>  // for operator>=, strong_ordering
+#include <chrono>  // for operator-, milliseconds, operator>=, duration, common_type<>::type, time_point
 #include <csignal>  // for signal, SIGTSTP, SIGABRT, SIGWINCH, raise, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM, __sighandler_t, size_t
 #include <cstdio>   // for fileno, stdin
 #include <ftxui/component/task.hpp>  // for Task, Closure, AnimationTask
-- 
GitLab