| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 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
- ################################
- set(MODULE_NAME_CORE ls-atlantis-core)
- set(MODULE_NAME_INTERFACE ls-atlantis-interface)
- set(CMAKE_DEBUG_POSTFIX -d)
- include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
- ################################
- # Dependencies
- ################################
- find_package(GTest REQUIRED)
- ################################################################
- ################################################################
- # Module: Core
- ################################################################
- ################################################################
- ################################
- # Source Files: Core Module
- ################################
- set(ATLANTIS_CORE_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeOk.cpp
- )
- ################################
- # Library Creation: Core Module
- ################################
- add_library(${MODULE_NAME_CORE} SHARED ${ATLANTIS_CORE_SOURCES})
- target_link_libraries(${MODULE_NAME_CORE} PUBLIC
- ${MODULE_NAME_INTERFACE}
- )
- ################################
- # Test Files: Core Module
- ################################
- set(ATLANTIS_CORE_TEST_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeOkTest.cpp
- )
- ################################
- # Test Case Creation: Core Module
- ################################
- enable_testing()
- add_executable(${MODULE_NAME_CORE}-tests ${ATLANTIS_CORE_TEST_SOURCES})
- target_link_libraries(${MODULE_NAME_CORE}-tests PRIVATE
- ${MODULE_NAME_CORE}
- GTest::gtest_main
- )
- include(GoogleTest)
- gtest_discover_tests(${MODULE_NAME_CORE}-tests)
- ################################################################
- ################################################################
- # Module: Interface
- ################################################################
- ################################################################
- ################################
- # Source Files: Interface Module
- ################################
- set(ATLANTIS_INTERFACE_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/AStatusCode.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/IWindowApi.cpp
- )
- ################################
- # Library Creation: Interface Module
- ################################
- add_library(${MODULE_NAME_INTERFACE} SHARED ${ATLANTIS_INTERFACE_SOURCES})
|