Commit Graph

3175 Commits

Author SHA1 Message Date
Chris Thrasher
1cca7cde7e Consistently use getNativeHandle function name 2023-08-27 16:52:00 -06:00
kimci86
282dedd0d5 Fail to destruct used SoundBuffer also in release builds 2023-08-27 16:46:52 -06:00
kimci86
635c8c9290 Make Sound::getBuffer return a reference
because the pointer now cannot be null
2023-08-27 16:46:52 -06:00
kimci86
9cbcd56eb8 Remove Sound default constructor
so that a Sound instance is always bound to a SoundBuffer
2023-08-27 16:46:52 -06:00
Chris Thrasher
63088c1bf1 Add tests for sf::SocketSelector
I added move semantics while I was at it
2023-08-27 16:46:05 -06:00
Chris Thrasher
b3a467678d Add tests for sf::Http
This class hides a lot of its logic in the private section of the
classes and uses friends to access them so there is little accessible
in the public interface for testing.
2023-08-27 16:46:05 -06:00
Chris Thrasher
364fe38956 Add tests for sf::UdpSocket 2023-08-27 16:46:05 -06:00
Chris Thrasher
90d6d74282 Add tests for sf::TcpSocket 2023-08-27 16:46:05 -06:00
Chris Thrasher
ab06efbe95 Add tests for sf::TcpListener 2023-08-27 16:46:05 -06:00
Chris Thrasher
05b69119e4 Add tests for sf::Event 2023-08-27 10:04:14 -06:00
Chris Thrasher
71615c8268 Use struct for user defined type with no private section 2023-08-27 10:04:14 -06:00
Chris Thrasher
e5c41c4eb5 Enable move semantics for socket types 2023-08-26 22:17:34 -06:00
Chris Thrasher
29ed8bf3a0 Add tests for sf::Socket 2023-08-26 22:17:34 -06:00
Chris Thrasher
bbb6f60dda Disable faulty Windows Clang job
The problem is that the Windows CI image hasn't yet be updated to
Clang 16. See this PR for progress on fixing it

https://github.com/actions/runner-images/pull/8134

This has been merged but we still have to wait for the changes to
propogate to all runners.
2023-08-26 21:09:31 -06:00
Chris Thrasher
6d3c8d0786 Remove templates where not necessary 2023-08-23 09:34:25 -06:00
Chris Thrasher
962e6ed972 Default to building static libraries
See https://github.com/SFML/SFML/issues/2389 for full rationale
2023-08-23 09:17:43 -06:00
Chris Thrasher
3b71bfc1d7 Remove nonexistent link library 2023-08-23 09:14:59 -06:00
Chris Thrasher
f0e72be285 Prefer using IMPORTED targets where possible
My goal is to reduce our need on sfml_find_package until it can
finally be removed. It's preferred to simply use find_package to
find 3rd party projects.

I had to add IMPORTED targets to some of our find modules so that
we could get away from using INTERFACE libraries for external code.
That also implied that our find moduels need to be installed so that
users have access to them when processing SFML's config module.
2023-08-23 09:14:59 -06:00
Chris Thrasher
af7d6c2589 Simplify sfml_find_package
All in service of hopefully removing sfml_find_package one day since
that will simplify packaging SFML and better set us up for adopting
a package manager.
2023-08-23 09:14:59 -06:00
Chris Thrasher
62c376ffa5 Remove unnecessary parentheses 2023-08-21 09:07:32 -06:00
Chris Thrasher
37575e4ed7 Use native CMake support for detecting architecture size 2023-08-21 09:05:30 -06:00
Chris Thrasher
5f87a04111 Remove use of deprecated CMake variable 2023-08-21 09:02:07 -06:00
Lukas Dürrenberger
9dff7b50c1
Merge branch '2.6.x' into master 2023-08-17 20:36:04 +02:00
Chris Thrasher
27a75d2c6c
Merge remote-tracking branch 'origin/2.6.x' into feature/backmerge 2023-08-16 19:57:57 -06:00
kimci86
66a5f3c42c Skip ClientMessage events with other window ID unless it is for IM 2023-08-16 19:52:56 -06:00
kimci86
6232f719a5 Add CMakeUserPresets to .gitignore
Now that we use a CMakePresets.json file for CI, it makes sense to
support users having their own presets in a CMakeUserPresets.json file.

From CMake documentation:

> CMakePresets.json may be checked into a version control system, and
> CMakeUserPresets.json should NOT be checked in. For example, if a
> project is using Git, CMakePresets.json may be tracked, and
> CMakeUserPresets.json should be added to the .gitignore.
2023-08-14 14:33:41 -06:00
Chris Thrasher
10bd1ffeba Remove $GITHUB_WORKSPACE where not needed 2023-08-12 12:10:46 -06:00
Chris Thrasher
157feec05d Simplify CI with CMake presets 2023-08-11 15:25:14 -06:00
Chris Thrasher
5c41a7c6bb Test SFML_USE_STATIC_STD_LIBS 2023-08-11 14:57:10 -06:00
Chris Thrasher
bc86e0bced Add tests for sf::Sprite 2023-08-06 11:18:06 -06:00
Chris Thrasher
60dbed7e5e Add tests for sf::Text 2023-08-05 18:58:54 -06:00
Chris Thrasher
733a0a8d6d Let compiler define extra special member functions 2023-08-05 18:58:54 -06:00
kimci86
669d9f53bc Update Text constructor static assert to use correct parameters 2023-08-05 14:39:07 -06:00
kimci86
3d2944998d Make Text::getFont return a reference
because a the m_font pointer cannot be null.
2023-08-05 14:39:07 -06:00
kimci86
623d0f67ea Make Sprite::getTexture return a reference
and do some simplification using the fact that a constructed sprite has
a non-null texture pointer.
2023-08-05 14:39:07 -06:00
Chris Thrasher
751aceadf8 Add tests for sf::Shader::loadFromFile
Plus a few cleanups while I was in there
2023-08-05 14:37:47 -06:00
Chris Thrasher
e17cab1fbf Add tests for sf::Texture::loadFromFile 2023-08-05 14:37:47 -06:00
kimci86
954fc656d8 Show debug path information when loading a shader file fails 2023-08-05 11:21:54 -06:00
Chris Thrasher
c9d9f84a0e Add tests for sf::Image::loadFromFile 2023-08-04 19:26:30 -06:00
Chris Thrasher
3d63de9a21 Add iOS clang-tidy job 2023-08-04 11:16:20 -06:00
Chris Thrasher
b99a4e341e Add Android clang-tidy job 2023-07-31 15:28:25 -06:00
Chris Thrasher
66e7476872 Mark 3rd party headers as SYSTEM headers 2023-07-31 15:28:25 -06:00
Shane Whitmire
86285c5378 Fix macOS resize bug
There is a commit up for the macOS resize bug where we get rid of a
previous fix entiry and just resize, but kimci86 stated that he found
better behavior with this solution. I'm going to put up this for code
review and we can compare it to https://github.com/SFML/SFML/pull/2538
and see which we like best
2023-07-30 14:56:03 -06:00
kimci86
683662edad Clamp window height on macOS 2023-07-30 14:28:38 -06:00
Chris Thrasher
b8f72c7cf2 Fix path to macOS Frameworks 2023-07-27 13:24:03 -06:00
Chris Thrasher
b68482754b Use std::filesystem::path for paths 2023-07-27 11:13:45 -06:00
Chris Thrasher
ddfb7f6cb0 Use modern name for macOS
In a few places I left references to the old name where appropriate.
There are also many CMake references to "OSX" that we have to keep
using since CMake does not offer alternative names for those variables
and target properties.
2023-07-24 21:25:26 -06:00
Chris Thrasher
b298b728f5 Remove unnecessary export() call 2023-07-23 19:41:03 -06:00
Chris Thrasher
429bde6648 Don't specify standard library on macOS
libc++ is already the default and GCC can't even be used so there's
no circumstance where we'd need to explicitly tell Clang to use
libc++. I confirmed that even with this removed, libc++ headers are
still being used and found.
2023-07-22 20:57:55 -06:00
Chris Thrasher
932309f238 Upgrade Checkout action
Fixes some deprecation warnings
2023-07-22 11:28:29 -06:00