CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. cmake_minimum_required(VERSION 3.0)
  2. project(spaceace
  3. VERSION 0.1
  4. LANGUAGES CXX C)
  5. ###########
  6. # Debug or Release
  7. ###########
  8. if (NOT CMAKE_BUILD_TYPE)
  9. ## set default to Debug
  10. set(CMAKE_BUILD_TYPE RelWithDebInfo) # override with -DCMAKE_BUILD_TYPE=Release
  11. message("==> CMAKE_BUILD_TYPE empty. Changing it to Debug.")
  12. else()
  13. message("==> CMAKE_BUILD_TYPE == ${CMAKE_BUILD_TYPE}.")
  14. endif()
  15. ## https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html
  16. ## During Debug, use debug version of libstdc++ (asserts on access to invalid iterators, etc!)
  17. set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG")
  18. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
  19. ##############
  20. # C++ Standard
  21. ##############
  22. set(CMAKE_CXX_STANDARD 14)
  23. # set(CMAKE_CXX_STANDARD 17)
  24. set(CMAKE_CXX_EXTENSIONS ON)
  25. if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/door++)
  26. message("***")
  27. message("*** ERROR/MISSING *** please run: git clone ssh://gitredgreen/RedGreen/bzdoor.git")
  28. message("*** (Or whatever git clone you need for door++)")
  29. message("***")
  30. endif()
  31. add_subdirectory(door++)
  32. file(GLOB IMAGES
  33. ansi/*.ans
  34. )
  35. add_custom_command(
  36. OUTPUT images.h
  37. COMMAND ./build_images.sh
  38. DEPENDS ${IMAGES}
  39. COMMENT "Generating images.h"
  40. WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
  41. )
  42. if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/SQLiteCpp)
  43. message("***")
  44. message("*** ERROR/MISSING *** please run: git clone https://github.com/SRombauts/SQLiteCpp.git")
  45. message("***")
  46. endif()
  47. set(SQLITECPP_RUN_CPPCHECK OFF CACHE BOOL "" FORCE)
  48. set(SQLITECPP_RUN_CPPLINT OFF CACHE BOOL "" FORCE)
  49. add_subdirectory(SQLiteCpp)
  50. if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp)
  51. message("***")
  52. message("*** ERROR/MISSING *** please run: git clone https://github.com/jbeder/yaml-cpp.git")
  53. message("***")
  54. endif()
  55. add_subdirectory(yaml-cpp)
  56. add_executable(space-ace main.cpp deck.cpp db.h db.cpp play.h play.cpp images.h)
  57. target_link_libraries(space-ace door++ pthread SQLiteCpp sqlite3 dl yaml-cpp)