CMakeLists.txt 878 B

1234567891011121314151617181920
  1. cmake_minimum_required(VERSION 4.2)
  2. project(dungeon)
  3. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  4. set(CMAKE_CXX_STANDARD 20)
  5. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  6. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
  7. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/$<CONFIGURATION>")
  8. set(tinyxml2_SHARED_LIBS OFF)
  9. set(SDL_STATIC ON)
  10. add_subdirectory(lib/SDL EXCLUDE_FROM_ALL)
  11. add_subdirectory(lib/entt EXCLUDE_FROM_ALL)
  12. add_subdirectory(lib/physfs EXCLUDE_FROM_ALL)
  13. # add_subdirectory(lib/pocketpy EXCLUDE_FROM_ALL)
  14. add_subdirectory(lib/tinyxml2 EXCLUDE_FROM_ALL)
  15. add_executable(dungeon WIN32 src/Dungeon.cpp src/components/Position.cpp src/components/Sprite.cpp src/systems/RenderingSystem.cpp)
  16. target_link_libraries(dungeon PRIVATE SDL3-static physfs-static tinyxml2 EnTT::EnTT)
  17. target_link_options(dungeon PRIVATE "-static-libgcc" "-static-libstdc++")