CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. cmake_minimum_required(VERSION 3.28)
  2. project(ls-atlantis-engine VERSION 0.0.1 LANGUAGES CXX)
  3. set(CMAKE_CONFIGURATION_TYPES "Debug" CACHE STRING "Build configurations" FORCE)
  4. ################################
  5. # Compiler Settings
  6. ################################
  7. set(CMAKE_CXX_STANDARD 17)
  8. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  9. set(CMAKE_CXX_EXTENSIONS OFF)
  10. ################################
  11. # Global Project Settings
  12. ################################
  13. set(MODULE_NAME_CORE ls-atlantis-core)
  14. include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
  15. ################################
  16. # Dependencies
  17. ################################
  18. find_package(GTest REQUIRED)
  19. ################################
  20. # Source Files: Core Module
  21. ################################
  22. set(ATLANTIS_CORE_SOURCES
  23. ${CMAKE_CURRENT_SOURCE_DIR}/source/IWindowApi.cpp
  24. ${CMAKE_CURRENT_SOURCE_DIR}/source/StatusCode.cpp
  25. )
  26. ################################
  27. # Library Creation: Core Module
  28. ################################
  29. add_library(${MODULE_NAME_CORE} SHARED ${ATLANTIS_CORE_SOURCES})
  30. ################################
  31. # Test Files: Core Module
  32. ################################
  33. set(ATLANTIS_CORE_TEST_SOURCES
  34. ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeTest.cpp
  35. )
  36. ################################
  37. # Test Case Creation: Core Module
  38. ################################
  39. enable_testing()
  40. add_executable(atlantis-core-tests ${ATLANTIS_CORE_TEST_SOURCES})
  41. target_link_libraries(atlantis-core-tests PRIVATE
  42. ${MODULE_NAME_CORE}
  43. GTest::gtest_main
  44. )
  45. include(GoogleTest)
  46. gtest_discover_tests(atlantis-core-tests)