CMakeLists.txt 1002 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 3.1)
  2. # External cmake modules
  3. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external/cmake ${CMAKE_MODULE_PATH})
  4. project("GameEngine")
  5. include(GetGitRevisionDescription)
  6. include(GetLua)
  7. git_describe(VERSION --tags --dirty=-dirty)
  8. option(WARN_AS_ERROR "Enable warning as error" OFF)
  9. set(CMAKE_CXX_STANDARD 17)
  10. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  11. set(CMAKE_CXX_EXTENSIONS OFF)
  12. set(COMP_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-result -Wno-write-strings")
  13. if (WARN_AS_ERROR)
  14. set(COMP_FLAGS "${COMP_FLAGS} -Werror")
  15. endif()
  16. set(CMAKE_C_FLAGS ${COMP_FLAGS})
  17. set(CMAKE_CXX_FLAGS ${COMP_FLAGS})
  18. # Add Lua
  19. AddExternalLua(5.3.5 112eb10ff04d1b4c9898e121d6bdf54a81482447)
  20. # Add other libraries deps
  21. # Need to find how we will add imgui
  22. # add_subdirectory(external/imgui)
  23. add_subdirectory(external/glm)
  24. add_subdirectory(external/sol)
  25. message("-- Building version ${VERSION}")
  26. add_compile_definitions(VERSION="${VERSION}")
  27. add_subdirectory(source)