diff --git a/CHANGELOG.md b/CHANGELOG.md index a094fd120..ec06a130b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ current (development) - Feature: Add support for `Input`'s insert mode. Add `InputOption::insert` option. Added by @mingsheng13. +### Build +- Support for cmake's "unity/jumbo" builds. Fixed by @ClausKlein. + 5.0.0 ----- diff --git a/cmake/ftxui_test.cmake b/cmake/ftxui_test.cmake index 71caa6919..0b9a86df3 100644 --- a/cmake/ftxui_test.cmake +++ b/cmake/ftxui_test.cmake @@ -59,6 +59,11 @@ target_include_directories(ftxui-tests ) target_compile_features(ftxui-tests PRIVATE cxx_std_20) +# Disable unity build for tests. There are several files defining the same +# function in different anonymous namespaces. This is not allowed in unity +# builds, as it would result in multiple definitions of the same function. +set_target_properties(ftxui-tests PROPERTIES UNITY_BUILD OFF) + if (FTXUI_MICROSOFT_TERMINAL_FALLBACK) target_compile_definitions(ftxui-tests PRIVATE "FTXUI_MICROSOFT_TERMINAL_FALLBACK") diff --git a/src/ftxui/screen/util.hpp b/src/ftxui/screen/util.hpp index e2d765747..91a769b8a 100644 --- a/src/ftxui/screen/util.hpp +++ b/src/ftxui/screen/util.hpp @@ -1,6 +1,9 @@ // Copyright 2022 Arthur Sonzogni. All rights reserved. // Use of this source code is governed by the MIT license that can be found in // the LICENSE file. +#ifndef FTXUI_SCREEN_UTIL_HPP +#define FTXUI_SCREEN_UTIL_HPP + namespace ftxui { namespace util { @@ -12,3 +15,5 @@ constexpr const T& clamp(const T& v, const T& lo, const T& hi) { } // namespace util } // namespace ftxui + +#endif /* end of include guard: FTXUI_SCREEN_UTIL_HPP */