From b0d3ef3197fd320dfcbaa970a240234af27fd070 Mon Sep 17 00:00:00 2001 From: Chris Thrasher Date: Thu, 13 Apr 2023 20:43:17 -0600 Subject: [PATCH] Use SFML 3 --- .github/workflows/ci.yml | 4 ++-- CMakeLists.txt | 18 +++--------------- src/main.cpp | 6 +++--- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 621fb8d..b02d208 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - { name: Windows VS2019, os: windows-2019 } - { name: Windows VS2022, os: windows-2022 } - { name: Linux GCC, os: ubuntu-latest } - - { name: Linux Clang, os: ubuntu-latest, flags: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ } + - { name: Linux Clang, os: ubuntu-latest, flags: -DCMAKE_CXX_COMPILER=clang++ } - { name: macOS, os: macos-latest } config: - { name: Shared, flags: -DBUILD_SHARED_LIBS=TRUE } @@ -27,7 +27,7 @@ jobs: steps: - name: Install Linux Dependencies if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev + run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libxi-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev - name: Checkout uses: actions/checkout@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b586b7..3a6f154 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,12 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.22) project(CMakeSFMLProject LANGUAGES CXX) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -option(BUILD_SHARED_LIBS "Build shared libraries" OFF) - include(FetchContent) FetchContent_Declare(SFML GIT_REPOSITORY https://github.com/SFML/SFML.git - GIT_TAG 2.6.x + GIT_TAG master GIT_SHALLOW ON) FetchContent_MakeAvailable(SFML) add_executable(main src/main.cpp) -target_link_libraries(main PRIVATE sfml-graphics) -target_compile_features(main PRIVATE cxx_std_17) - -if(WIN32) - add_custom_command( - TARGET main - COMMENT "Copy OpenAL DLL" - PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${SFML_SOURCE_DIR}/extlibs/bin/$,x64,x86>/openal32.dll $ - VERBATIM) -endif() +target_link_libraries(main PRIVATE SFML::Graphics) diff --git a/src/main.cpp b/src/main.cpp index cb00d46..393c275 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,14 +2,14 @@ int main() { - auto window = sf::RenderWindow{ { 1920u, 1080u }, "CMake SFML Project" }; + auto window = sf::RenderWindow{ sf::VideoMode{ { 1920u, 1080u } }, "CMake SFML Project" }; window.setFramerateLimit(144); while (window.isOpen()) { - for (auto event = sf::Event{}; window.pollEvent(event);) + while (const std::optional event = window.pollEvent()) { - if (event.type == sf::Event::Closed) + if (event->is()) { window.close(); }