CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. cmake_minimum_required(VERSION 3.17)
  2. project(spine)
  3. set(CMAKE_INSTALL_PREFIX "./")
  4. set(CMAKE_VERBOSE_MAKEFILE ON)
  5. set(SPINE_SFML FALSE CACHE BOOL FALSE)
  6. set(SPINE_COCOS2D_OBJC FALSE CACHE BOOL FALSE)
  7. set(SPINE_COCOS2D_X FALSE CACHE BOOL FALSE)
  8. set(SPINE_SANITIZE FALSE CACHE BOOL FALSE)
  9. if(MSVC)
  10. message("MSCV detected")
  11. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
  12. set (CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
  13. else()
  14. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -pedantic -Wnonportable-include-path -Wshadow -std=c89")
  15. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -Wnon-virtual-dtor -pedantic -Wnonportable-include-path -Wshadow -std=c++11 -fno-exceptions -fno-rtti")
  16. if (${SPINE_SANITIZE})
  17. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=undefined")
  18. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize=undefined")
  19. endif()
  20. endif()
  21. if((${SPINE_SFML}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sfml"))
  22. add_subdirectory(spine-c)
  23. add_subdirectory(spine-sfml/c)
  24. add_subdirectory(spine-cpp)
  25. add_subdirectory(spine-sfml/cpp)
  26. endif()
  27. if((${SPINE_COCOS2D_OBJC}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-cocos2d-objc"))
  28. if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  29. add_subdirectory(spine-cocos2d-objc)
  30. endif()
  31. endif()
  32. if((${SPINE_COCOS2D_X}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-cocos2dx"))
  33. add_subdirectory(spine-cocos2dx)
  34. endif()
  35. # add_subdirectory(spine-c/spine-c-unit-tests)
  36. add_subdirectory(spine-cpp/spine-cpp-unit-tests)