|
|
@@ -0,0 +1,65 @@
|
|
|
+cmake_minimum_required(VERSION 3.28)
|
|
|
+project(ls-atlantis-engine VERSION 0.0.1 LANGUAGES CXX)
|
|
|
+
|
|
|
+set(CMAKE_CONFIGURATION_TYPES "Debug" CACHE STRING "Build configurations" FORCE)
|
|
|
+
|
|
|
+################################
|
|
|
+# 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)
|
|
|
+
|
|
|
+include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
|
|
+
|
|
|
+################################
|
|
|
+# Dependencies
|
|
|
+################################
|
|
|
+
|
|
|
+find_package(GTest REQUIRED)
|
|
|
+
|
|
|
+################################
|
|
|
+# Source Files: Core Module
|
|
|
+################################
|
|
|
+
|
|
|
+set(ATLANTIS_CORE_SOURCES
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/source/IWindowApi.cpp
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/source/StatusCode.cpp
|
|
|
+)
|
|
|
+
|
|
|
+################################
|
|
|
+# Library Creation: Core Module
|
|
|
+################################
|
|
|
+
|
|
|
+add_library(${MODULE_NAME_CORE} SHARED ${ATLANTIS_CORE_SOURCES})
|
|
|
+
|
|
|
+################################
|
|
|
+# Test Files: Core Module
|
|
|
+################################
|
|
|
+
|
|
|
+set(ATLANTIS_CORE_TEST_SOURCES
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeTest.cpp
|
|
|
+)
|
|
|
+
|
|
|
+################################
|
|
|
+# Test Case Creation: Core Module
|
|
|
+################################
|
|
|
+
|
|
|
+enable_testing()
|
|
|
+
|
|
|
+add_executable(atlantis-core-tests ${ATLANTIS_CORE_TEST_SOURCES})
|
|
|
+
|
|
|
+target_link_libraries(atlantis-core-tests PRIVATE
|
|
|
+ ${MODULE_NAME_CORE}
|
|
|
+ GTest::gtest_main
|
|
|
+)
|
|
|
+
|
|
|
+include(GoogleTest)
|
|
|
+gtest_discover_tests(atlantis-core-tests)
|