CMakeLists.txt 958 B

123456789101112131415161718192021222324
  1. cmake_minimum_required(VERSION 3.13)
  2. project(godot-cpp LANGUAGES CXX)
  3. # Configure CMake
  4. # https://discourse.cmake.org/t/how-do-i-remove-compile-options-from-target/5965
  5. # https://stackoverflow.com/questions/74426638/how-to-remove-rtc1-from-specific-target-or-file-in-cmake
  6. if(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
  7. if(NOT CMAKE_BUILD_TYPE MATCHES Debug)
  8. STRING(REGEX REPLACE "/RTC(su|[1su])" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  9. string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
  10. endif ()
  11. endif ()
  12. include( ${PROJECT_SOURCE_DIR}/cmake/godotcpp.cmake )
  13. # I know this doesn't look like a typical CMakeLists.txt, but as we are
  14. # attempting mostly feature parity with SCons, and easy maintenance, the closer
  15. # the two build systems look the easier they will be to keep in lockstep.
  16. # The typical target definitions are in ${PROJECT_SOURCE_DIR}/cmake/godotcpp.cmake
  17. godotcpp_options()
  18. godotcpp_generate()