CMakeLists.txt 885 B

123456789101112131415161718192021222324252627282930
  1. cmake_minimum_required(VERSION 3.10)
  2. project(box2d)
  3. set(CMAKE_CXX_STANDARD 17)
  4. include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
  5. include_directories(${CMAKE_CURRENT_LIST_DIR}/../../pocketpy/include)
  6. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/collision BOX2D_SRC_0)
  7. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/common BOX2D_SRC_1)
  8. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/dynamics BOX2D_SRC_2)
  9. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/rope BOX2D_SRC_3)
  10. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src BOX2D_BINDINGS_SRC)
  11. if(MSVC)
  12. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /utf-8 /O2")
  13. else()
  14. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -O2")
  15. endif()
  16. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  17. add_library(
  18. box2d
  19. STATIC
  20. ${BOX2D_SRC_0} ${BOX2D_SRC_1} ${BOX2D_SRC_2} ${BOX2D_SRC_3}
  21. ${BOX2D_BINDINGS_SRC}
  22. )