Chris Thrasher
360268ea39
Improve const correctness
2024-09-12 10:08:46 -06:00
Chris Thrasher
7f5807a6b5
Fix Doxygen warnings
2024-09-11 22:19:10 -06:00
Chris Thrasher
63beea6043
Add Doxygen CI job
2024-09-11 21:54:22 -06:00
Chris Thrasher
290e43ff66
Match return types with underlying SFML interface
2024-09-11 17:19:31 -06:00
Chris Thrasher
8cf074444f
Stop using deprecated DOXYGEN_EXECUTABLE variable
...
This was deprecated in CMake 3.9.
See https://cmake.org/cmake/help/v3.22/module/FindDoxygen.html#variable:DOXYGEN_EXECUTABLE
2024-09-11 17:06:44 -06:00
Chris Thrasher
a430c713e3
Remove redundant definition
...
This is already inherited as a usage requirement when linking to
SFML's CMake targets.
2024-09-11 16:17:14 -06:00
Chris Thrasher
574c6afe05
Use ON and OFF for CMake booleans
2024-09-11 14:36:23 -06:00
Chris Thrasher
53bd3517db
Update to new anti-aliasing naming
2024-09-09 23:42:05 -06:00
Chris Thrasher
b05b1f1997
Add tests for sfContextAttribute
2024-09-08 12:08:43 -06:00
Chris Thrasher
8cc7537899
Add missing window state parameters
2024-09-08 10:45:11 -06:00
Chris Thrasher
d971aada83
Add more tests for the Window module
2024-09-08 09:56:31 -06:00
Chris Thrasher
02d6d4937a
Use modern CMake property to handle static runtime linking with MSVC
...
See https://github.com/SFML/SFML/pull/1834
2024-09-08 08:49:13 -06:00
Chris Thrasher
b662349832
Enforce variable and parameter casing style
2024-09-07 21:26:36 -06:00
Chris Thrasher
055e69520f
Support building CSFML as static libraries
...
Some languages can make use of C foreign function interfaces
compiled as static libraries so it's a good idea for CSFML to
support this use case.
2024-09-07 15:17:05 -06:00
Chris Thrasher
e963079712
Remove unnecessary .gitignore entries
2024-09-07 09:45:13 -06:00
Chris Thrasher
5d158dbed6
Revert "Remove unnecessary extern from C function declarations"
...
This reverts commit dfaebc6b88 .
2024-09-05 15:03:56 -06:00
Chris Thrasher
e336d9fb77
Add missing sf prefix
...
This function pointer is within the `sf::` namespace of SFML so it
ought to have an `sf` prefix in CSFML.
2024-09-05 14:21:42 -06:00
Chris Thrasher
2d88625f4e
Update copyright year
2024-09-05 14:06:13 -06:00
Chris Thrasher
34f95771d8
Move copyToChar32 to the one file where it's used
2024-09-05 13:41:26 -06:00
Chris Thrasher
d50ff75b44
Use project-local CMake variables
2024-09-05 13:13:48 -06:00
Chris Thrasher
87289d57ea
Use parentheses for constructor calls
2024-09-05 12:47:44 -06:00
Chris Thrasher
b5e3cb6122
Clarify instructions for building CSFML
2024-09-04 16:17:56 -06:00
Chris Thrasher
53c364deec
Copy SFML DLLs alongside test executables
2024-09-03 18:09:35 -06:00
Chris Thrasher
431c9641ea
Add myself to authors list
2024-09-03 16:58:18 -06:00
Chris Thrasher
a9108a2e77
Document the current state of development
2024-09-03 16:44:32 -06:00
Chris Thrasher
1a95bf0807
Use more [[nodiscard]]
2024-09-03 14:45:19 -06:00
Chris Thrasher
4d23a89918
Add clang-tidy cppcoreguidelines-* checks
2024-09-03 12:15:01 -06:00
Chris Thrasher
cc1b6f0c45
Ensure CMake options include CSFML_ prefix
2024-09-03 10:44:50 -06:00
Chris Thrasher
34febc214f
Add missing sfSoundBufferRecorder functions inherited from sf::SoundRecorder
2024-09-03 09:38:22 -06:00
Chris Thrasher
725b00e6ae
Simplify FTP types
2024-09-02 21:18:31 -06:00
Chris Thrasher
6035a5fa5a
Use SFML_ROOT to find SFML installation
...
This is line with modern CMake convention where -D<PackageName>_ROOT
is used to locate a given package's installation.
https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html#variable:%3CPackageName%3E_ROOT
2024-09-02 21:03:54 -06:00
Chris Thrasher
f9e67732e2
Put common configuration settings in a CMakePresets file
2024-09-02 20:48:16 -06:00
Chris Thrasher
9750455b76
Remove leading newlines
2024-09-02 20:47:35 -06:00
Chris Thrasher
479554024d
Add tests for sfHttp
2024-09-02 20:04:06 -06:00
Chris Thrasher
b5dc20260c
Add tests for sfFtp
2024-09-02 20:04:06 -06:00
Chris Thrasher
10aaee1290
Add tests for sfSocketStatus
2024-09-02 20:04:06 -06:00
Chris Thrasher
84978f8acc
Add tests for sfIpAddress
2024-09-02 20:04:06 -06:00
Chris Thrasher
497b261acd
Add clang-tidy modernize- checks
2024-09-02 20:02:29 -06:00
Chris Thrasher
afc07ec565
Simplify event conversion
2024-09-02 15:39:15 -06:00
Chris Thrasher
3c0931b744
Build with newer macOS image
2024-09-02 14:54:22 -06:00
Chris Thrasher
fde5bd02d7
Fix typo in documentation
2024-09-02 11:53:58 -06:00
Chris Thrasher
00f78c1964
Use assert to protect against dereferencing null pointers
2024-09-02 11:49:10 -06:00
Chris Thrasher
6e654c8193
Fix documentation bug
2024-09-01 13:59:37 -06:00
Chris Thrasher
dfaebc6b88
Remove unnecessary extern from C function declarations
2024-09-01 13:52:28 -06:00
Chris Thrasher
b3a0ed815b
Clean up implementation of sf<T>Rect_intersects
2024-09-01 12:56:29 -06:00
Chris Thrasher
54d28325b9
Run clang-format
2024-09-01 11:32:18 -06:00
Chris Thrasher
42aec92642
Add format target for running clang-format
2024-09-01 11:32:18 -06:00
Chris Thrasher
86d52f4712
Use vectors for pairs of scalar parameters
2024-08-31 12:03:21 -06:00
Chris Thrasher
10685c7d0d
Stop leaving variables unused in release builds
...
In a Release build, macros like `CSFML_CHECK_RETURN` expand into
nothing more than a cast-to-void which is meant to silence compiler
warnings about unused variables.
By declaring a temporary inside the macro argument, we ensure that
debug builds behave the same as always but Release builds expand
these macros into truly no code thus ensuring these temporary
variables are never created in the first place so there is now
nothing that we have to cast to void.
2024-08-27 10:21:46 -06:00
Chris Thrasher
513a6c2fda
Add missing apt package dependency
2024-08-27 07:00:13 +01:00
Chris Thrasher
caabd98100
Add convenience functions for converting between SFML and CSFML types
2024-08-26 16:04:44 -06:00
Chris Thrasher
3316223629
Add tidy target for running clang-tidy
2024-08-25 14:18:36 -06:00
Chris Thrasher
fe8d8a972c
Fix typos in public documentation
...
Typos found with codespell tool
2024-08-25 12:09:04 -06:00
Chris Thrasher
55fe064af4
Remove unnecessary (void) parameters from C++ implementations
2024-08-25 12:07:01 -06:00
Chris Thrasher
e2e5ef1d31
Use .hpp as file extension for C++ headers
2024-08-25 10:11:32 -06:00
Chris Thrasher
c5158c77b4
Move CSFML source files to CSFML/ directory
...
This helps make it easier to distinguish SFML files from CSFML files.
This is especially important for CSFML private headers which are
often C++ code with .hpp file extensions. This change means SFML and
CSFML can use headers with the same name without conflict.
2024-08-24 14:05:06 -06:00
Chris Thrasher
458da959f5
Remove deprecated interfaces
2024-08-24 11:32:56 -06:00
Chris Thrasher
620fdbc530
Remove references to removed types
2024-08-24 08:28:50 -06:00
Chris Thrasher
3536aeafd6
Switch to #pragma once
2024-08-24 07:40:26 -06:00
Chris Thrasher
db4d5e4815
Reenable some MSVC warnings
2024-08-23 14:29:06 -06:00
Chris Thrasher
41a269faa9
Update Catch2
2024-08-23 14:14:25 -06:00
Chris Thrasher
379e26ac99
Delay test discovery to ensure all DLLs get copied first
2024-08-23 12:48:47 -06:00
Chris Thrasher
82ac0503b5
Revert "Temporarily lock SFML revision used in CI"
...
This reverts commit 36a6e7c5a6 .
2024-08-23 12:48:47 -06:00
Chris Thrasher
b778f44681
Update to latest SFML 3 API
2024-08-09 13:22:43 -06:00
Chris Thrasher
a9c35c8e85
Remove references to OpenAL
2024-06-27 19:35:10 +02:00
Chris Thrasher
9b96c2a797
Add sfJoystick tests
...
These are just copied from the SFML sf::Joystick tests with minor
changes to adhere to the CSFML API.
2024-06-24 20:50:07 -06:00
Chris Thrasher
ed8babaf41
Update Catch2
2024-06-24 20:50:07 -06:00
Chris Thrasher
44380e7507
Fix API changes in SFML 3
2024-05-31 16:36:13 -06:00
Chris Thrasher
36a6e7c5a6
Temporarily lock SFML revision used in CI
...
The SFML 3 API is changing faster than I care to update in CSFML.
For now let's lock CSFML to a particular revision of SFML until
the SFML 3 API changes slow down and we can go back to tracking
the master branch.
2024-05-31 16:36:13 -06:00
Chris Thrasher
5fb7d4a0a1
Catch up with SFML 3 API changes
2024-05-18 23:35:57 +02:00
Chris Thrasher
330b423ee9
Add unit tests
...
Yay tests!
2024-04-15 15:24:51 -06:00
Chris Thrasher
fce7450bbf
Merge branch '2.6.x' into feature/backmerge
2024-03-30 20:44:49 -05:00
Chris Thrasher
671afabfc2
Use bash by default in all CI jobs
2024-03-30 12:41:28 +01:00
Chris Thrasher
5e3d87858f
Set compiler warnings on a per-target basis
2024-03-29 09:58:28 -05:00
Chris Thrasher
65165dbc55
Remove $GITHUB_WORKSPACE where not needed
2024-03-29 09:58:13 -05:00
Chris Thrasher
b71e8c1dfc
Remove unused code
2024-02-19 16:35:08 -07:00
Chris Thrasher
e67340f1c5
Remove trailing whitespace
2024-02-19 22:55:18 +00:00
Chris Thrasher
2493f13baa
Update checkout action to fix deprecation warnings
2024-02-19 23:30:30 +01:00
Chris Thrasher
d007025e0f
Use = default
2024-02-19 23:30:30 +01:00
Chris Thrasher
683677b5aa
Use override
2024-02-19 23:30:30 +01:00
Chris Thrasher
907b0ca6ee
Use std::vector::data
2024-02-19 23:30:30 +01:00
Chris Thrasher
3446239371
Allow for using unexpected compilers
2024-02-19 23:30:30 +01:00
Chris Thrasher
00303b7165
Remove unused code
2024-02-19 23:30:30 +01:00
Chris Thrasher
d54f8e839e
Remove macOS 10.5 detection
...
This also gets rid of exec_program which has been deprecated in
CMake.
2024-02-19 23:30:30 +01:00
Chris Thrasher
9f1619520e
Use list(APPEND to append to lists
2024-02-19 23:30:30 +01:00
Chris Thrasher
bb347c2c8c
Remove deprecated APIs
2024-02-19 23:30:30 +01:00
Chris Thrasher
0ad43bc7d2
Enable MSVC's strict standards conformance mode
2024-02-19 23:30:30 +01:00
Chris Thrasher
c7ac60f312
Require C11
...
This required silencing C5105 which emits warnings about system
headers which we can't change.
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5105?view=msvc-170
2024-02-19 23:30:30 +01:00
Chris Thrasher
a51c22a7a3
Use C standard library utilities for booleans and fixed-width ints
2024-02-19 23:30:30 +01:00
Chris Thrasher
46bc9a7ed8
Remove C++11 compiler warning
2024-02-19 23:30:30 +01:00
Chris Thrasher
3401cade6e
Use ranged-for loops
2024-02-19 23:30:30 +01:00
Chris Thrasher
7676dfd95e
Use nullptr
2024-02-19 23:30:30 +01:00
Chris Thrasher
2273672415
Remove workarounds for old compilers
2024-02-19 23:30:30 +01:00
Chris Thrasher
942f23ca0b
Require C++17
2024-02-19 23:30:30 +01:00
Chris Thrasher
f9cf6b935a
Increase CMake requirement
2024-02-19 23:30:30 +01:00
Chris Thrasher
5b446077e6
Update project version
2024-02-19 23:30:30 +01:00
Chris Thrasher
160e764c4c
Use custom fixed width integer typedef in Vulkan.h
2024-01-28 20:16:05 +01:00
Chris Thrasher
b1d02ce571
Use sf::err() for error logging
2023-12-29 12:32:02 -06:00
Chris Thrasher
5ccbbdf61b
Remove unnecessary file install exclusion
2023-12-21 14:39:18 -06:00
Chris Thrasher
83b44e3feb
Install contents of include/ instead of include/ itself
2023-12-21 14:39:18 -06:00