cmake_minimum_required(VERSION 3.28) project(CMakeSFMLProject LANGUAGES CXX) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(ASSETS_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets") set(ASSETS_DEST_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/assets") file(GLOB_RECURSE SOURCES "src/*.cpp") include(FetchContent) FetchContent_Declare(SFML GIT_REPOSITORY https://github.com/SFML/SFML.git GIT_TAG 3.0.2 GIT_SHALLOW ON EXCLUDE_FROM_ALL SYSTEM) FetchContent_MakeAvailable(SFML) add_executable(main ${SOURCES}) target_include_directories(main PRIVATE include) target_compile_features(main PRIVATE cxx_std_17) target_link_libraries(main PRIVATE SFML::Graphics) add_custom_command(TARGET main POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${ASSETS_SRC_DIR}" "${ASSETS_DEST_DIR}" )