Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

saucer: add package #5431

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from
Draft

saucer: add package #5431

wants to merge 1 commit into from

Conversation

paul-reilly
Copy link
Contributor

@paul-reilly paul-reilly commented Oct 6, 2024

This xmake package is not building on Manjaro, I want to see what happens in with the automated testing on other platforms.

It fails because it cant find tl_expected. Building the saucer project directly with CMake does work.

For some reason a check in the cmake file polyfill.cmake is not running, which checks for std::expected. This is the CMake output for that section is this when building saucer directly:

-- [saucer] Avoiding local packages as 'saucer_prefer_remote' is ON
-- [saucer] Backend is 'Defaut', using WebKitGtk
-- Performing Test has_jthread
-- Performing Test has_jthread - Success
-- Performing Test has_move_only_function
-- Performing Test has_move_only_function - Success
-- Performing Test has_expected                                <-----  these are missing in xmake package output
-- Performing Test has_expected - Success                      <----`
-- CPM: Adding package lockpp@3.0 (v3.0)
-- CPM: Adding package boost_callable_traits@ (boost-1.86.0)
-- CPM: Adding package ereignis@4.3 (v4.3)
-- CPM: Adding package fmt@11.0.2 (11.0.2)

... and the output when CMake is invoked from this package is:

-- [saucer] Avoiding local packages as 'saucer_prefer_remote' is ON
-- [saucer] Backend is 'Defaut', using WebKitGtk
-- Performing Test has_jthread
-- Performing Test has_jthread - Success
-- Performing Test has_move_only_function
-- Performing Test has_move_only_function - Success
-- CPM: Adding package lockpp@3.0 (v3.0)
-- CPM: Adding package boost_callable_traits@ (boost-1.86.0)
-- CPM: Adding package tl-expected@1.1.0 (v1.1.0)
-- CPM: Adding package ereignis@4.3 (v4.3)
-- CPM: Adding package fmt@11.0.2 (11.0.2)

I've tried recreating by mirroring the xmake CMake invocation when building saucer directly with CMake but I can't replicate.

@paul-reilly
Copy link
Contributor Author

paul-reilly commented Oct 6, 2024

Arch Linux: missing libadwaita (GNOME gfx lib)
Linux: "outdated compiler" error... saucer requires new compiler
Windows 2019: outdated compiler
msys2/mingw64: missing include

Windows 2022: "cannot open include file: 'tl/expected.hpp'"

This last one is the error I saw locally. The check for tl_expected after this line is never made.

Does anybody have any idea why?

I could add a dependency on tl_expected but this error is unexpected and it would be good to know why there is a difference between building saucer directly and trying to build it inside an xmake package, both with CMake.

@star-hengxing
Copy link
Contributor

xmake will pass project toolchain to cmake. If you directly call cmake, maybe find a low version compiler.

@paul-reilly
Copy link
Contributor Author

paul-reilly commented Oct 8, 2024

That would explain the CI builds failing, but I don't think it explains the issue of the differences between what feature tests are run in the CMake script.

CMake doesn't seem to run this check at all when invoked by xmake in this package:

https://github.com/saucer/saucer/blob/master/cmake/polyfill.cmake#L30

@star-hengxing
Copy link
Contributor

star-hengxing commented Oct 8, 2024

2024-10-03: https://github.com/saucer/saucer/releases/tag/v4.0.0
2024-10-04: feat: prefer std::expected if available saucer/saucer@22b7cb7

I think you local build from git clone(latest commit)
xmake package build from v4.0.0.

adds extsources for linux

fixes whitespace

add backends linux
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.

2 participants