| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- cmake_minimum_required(VERSION 3.28)
- project(ls-atlantis-engine VERSION 0.0.1 LANGUAGES CXX)
- ################################
- # Compiler Settings
- ################################
- set(CMAKE_CXX_STANDARD 17)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_CXX_EXTENSIONS OFF)
- ################################
- # Global Project Settings
- ################################
- # module names
- set(MODULE_NAME_CYCLE ls-atlantis-cycle)
- set(MODULE_NAME_FACTORY ls-atlantis-factory)
- set(MODULE_NAME_INPUT ls-atlantis-input)
- set(MODULE_NAME_INTERFACE ls-atlantis-interface)
- set(MODULE_NAME_MESSAGING ls-atlantis-messaging)
- set(MODULE_NAME_WINDOW ls-atlantis-window)
- # example names
- set(EXAMPLE_NAME_BASIC_SDL_WINDOW ls-atlantis-basic-sdl-window)
- # settings
- set(CMAKE_DEBUG_POSTFIX -d)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/)
- ################################
- # Dependencies
- ################################
- find_package(GTest REQUIRED)
- find_package(ls-std REQUIRED)
- find_package(SDL3 REQUIRED)
- enable_testing()
- include(GoogleTest)
- if (WIN32)
- file(GLOB LS_STD_DLLS_DEBUG "${ls-std_LIB_DIRS_DEBUG}/*.dll")
- file(GLOB LS_STD_DLLS_RELEASE "${ls-std_LIB_DIRS_RELEASE}/*.dll")
- endif ()
- ################################################################
- ################################################################
- # Module: Interface
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-interface.cmake)
- include(cmake/ls-atlantis-interface-tests.cmake)
- ################################################################
- ################################################################
- # Module: Input
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-input.cmake)
- include(cmake/ls-atlantis-input-tests.cmake)
- ################################################################
- ################################################################
- # Module: Messaging
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-messaging.cmake)
- include(cmake/ls-atlantis-messaging-tests.cmake)
- ################################################################
- ################################################################
- # Module: Window
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-window.cmake)
- include(cmake/ls-atlantis-window-tests.cmake)
- ################################################################
- ################################################################
- # Module: Factory
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-factory.cmake)
- include(cmake/ls-atlantis-factory-tests.cmake)
- ################################################################
- ################################################################
- # Module: Cycle
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-cycle.cmake)
- include(cmake/ls-atlantis-cycle-tests.cmake)
- ################################################################
- ################################################################
- # Example
- ################################################################
- ################################################################
- include(cmake/ls-atlantis-example.cmake)
- ################################################################
- ################################################################
- # All Tests
- ################################################################
- ################################################################
- add_custom_target(ls-atlantis-tests
- DEPENDS
- ${MODULE_NAME_CYCLE}-tests
- ${MODULE_NAME_FACTORY}-tests
- ${MODULE_NAME_INPUT}-tests
- ${MODULE_NAME_INTERFACE}-tests
- ${MODULE_NAME_MESSAGING}-tests
- ${MODULE_NAME_WINDOW}-tests
- )
|