cmake_minimum_required(VERSION 3.28) project(CMakeSFMLProject LANGUAGES CXX) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) include(FetchContent) FetchContent_Declare(SFML GIT_REPOSITORY https://github.com/SFML/SFML.git GIT_TAG 3.0.0 GIT_SHALLOW ON EXCLUDE_FROM_ALL SYSTEM) FetchContent_MakeAvailable(SFML) FetchContent_Declare( glm GIT_REPOSITORY https://github.com/g-truc/glm.git GIT_TAG 0af55ccecd98d4e5a8d1fad7de25ba429d60e863 #refs/tags/1.0.1 ) FetchContent_MakeAvailable(glm) # Aggiunta ImGUI FetchContent_Declare(ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG v1.91.9b GIT_SHALLOW ON EXCLUDE_FROM_ALL SYSTEM) FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) set(IMGUI_SFML_FIND_SFML OFF) FetchContent_Declare(ImGui-SFML GIT_REPOSITORY https://github.com/SFML/imgui-sfml GIT_TAG v3.0 GIT_SHALLOW ON EXCLUDE_FROM_ALL SYSTEM) FetchContent_MakeAvailable(ImGui-SFML) #add_library(common INTERFACE) #target_compile_features(common INTERFACE cxx_std_17) #target_compile_options(common INTERFACE # $<$,$,$>: -Wall> # $<$: /W4> #) # Fine aggiunta set(METHODS_PATH "./src/*/methods/*.cpp") set(VERSION "V7") file(GLOB_RECURSE METHODS_SRC "${METHODS_PATH}") add_executable(main${VERSION} ./src/testMain.cpp ${METHODS_SRC} ) target_link_libraries(main${VERSION} PRIVATE SFML::Graphics ImGui-SFML::ImGui-SFML common glm) target_compile_definitions(main${VERSION} PRIVATE $<$:DEBUG_MODE>)