Skip to content

Require C++20 to fix build against newer KDE#3

Open
casept wants to merge 1 commit intoivan-cukic:masterfrom
casept:fix-build
Open

Require C++20 to fix build against newer KDE#3
casept wants to merge 1 commit intoivan-cukic:masterfrom
casept:fix-build

Conversation

@casept
Copy link

@casept casept commented Dec 3, 2025

Without this, trying to build against KDE 6.5.3 results in the following:

In file included from /usr/include/KDecoration3/KDecoration3/Decoration:1,
from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/EWIEGA46WW/../../decoration.hpp:9,
from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/EWIEGA46WW/moc_decoration.cpp:9,
from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/mocs_compilation.cpp:2:
/usr/include/KDecoration3/kdecoration3/decoration.h:45:10: error: declaration of ‘operator<=’ as non-function
45 | bool operator<=>(const BorderRadius &other) const = default;
| ^~~~~~~~
/usr/include/KDecoration3/kdecoration3/decoration.h:45:18: error: expected ‘;’ at end of member declaration
45 | bool operator<=>(const BorderRadius &other) const = default;
| ^~
| ;
/usr/include/KDecoration3/kdecoration3/decoration.h:45:20: error: expected unqualified-id before ‘>’ token
45 | bool operator<=>(const BorderRadius &other) const = default;
| ^
/usr/include/KDecoration3/kdecoration3/decoration.h:68:10: error: defaulted ‘bool KDecoration3::BorderOutline::operator==(const KDecoration3::BorderOutline&) const’ only available with ‘-std=c++20’ or ‘-std=gnu++20’
68 | bool operator==(const BorderOutline &other) const = default;
| ^~~~~~~~
/usr/include/KDecoration3/kdecoration3/decoration.h:69:10: error: defaulted ‘bool KDecoration3::BorderOutline::operator!=(const KDecoration3::BorderOutline&) const’ only available with ‘-std=c++20’ or ‘-std=gnu++20’
69 | bool operator!=(const BorderOutline &other) const = default;
| ^~~~~~~~
make[2]: *** [src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/build.make:85: src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/bismuth_kdecoration_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:194: src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Without this, trying to build against KDE 6.5.3 results in the following:

In file included from /usr/include/KDecoration3/KDecoration3/Decoration:1,
                 from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/EWIEGA46WW/../../decoration.hpp:9,
                 from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/EWIEGA46WW/moc_decoration.cpp:9,
                 from /home/casept/dev/kwin6-bismuth-decoration/src/kdecoration/bismuth_kdecoration_autogen/mocs_compilation.cpp:2:
/usr/include/KDecoration3/kdecoration3/decoration.h:45:10: error: declaration of ‘operator<=’ as non-function
   45 |     bool operator<=>(const BorderRadius &other) const = default;
      |          ^~~~~~~~
/usr/include/KDecoration3/kdecoration3/decoration.h:45:18: error: expected ‘;’ at end of member declaration
   45 |     bool operator<=>(const BorderRadius &other) const = default;
      |                  ^~
      |                    ;
/usr/include/KDecoration3/kdecoration3/decoration.h:45:20: error: expected unqualified-id before ‘>’ token
   45 |     bool operator<=>(const BorderRadius &other) const = default;
      |                    ^
/usr/include/KDecoration3/kdecoration3/decoration.h:68:10: error: defaulted ‘bool KDecoration3::BorderOutline::operator==(const KDecoration3::BorderOutline&) const’ only available with ‘-std=c++20’ or ‘-std=gnu++20’
   68 |     bool operator==(const BorderOutline &other) const = default;
      |          ^~~~~~~~
/usr/include/KDecoration3/kdecoration3/decoration.h:69:10: error: defaulted ‘bool KDecoration3::BorderOutline::operator!=(const KDecoration3::BorderOutline&) const’ only available with ‘-std=c++20’ or ‘-std=gnu++20’
   69 |     bool operator!=(const BorderOutline &other) const = default;
      |          ^~~~~~~~
make[2]: *** [src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/build.make:85: src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/bismuth_kdecoration_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:194: src/kdecoration/CMakeFiles/bismuth_kdecoration.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant