CMakeLists.txt 939 B

12345678910111213141516171819202122232425
  1. cmake_minimum_required(VERSION 3.31)
  2. project(Slate)
  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(${PROJECT_NAME} WIN32
  16. src/Slate.cpp
  17. src/components/Position.cpp
  18. src/components/Sprite.cpp
  19. src/systems/RenderingSystem.cpp)
  20. target_link_libraries(${PROJECT_NAME} PRIVATE SDL3-static physfs-static pocketpy tinyxml2 EnTT::EnTT)
  21. target_link_options(${PROJECT_NAME} PRIVATE "-static-libgcc" "-static-libstdc++")