|
|
@@ -20,14 +20,21 @@ set(MODULE_NAME_WINDOW ls-atlantis-window)
|
|
|
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)
|
|
|
|
|
|
+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: Core
|
|
|
@@ -51,6 +58,8 @@ add_library(${MODULE_NAME_CORE} SHARED ${ATLANTIS_CORE_SOURCES})
|
|
|
|
|
|
target_link_libraries(${MODULE_NAME_CORE} PUBLIC
|
|
|
${MODULE_NAME_INTERFACE}
|
|
|
+ $<$<CONFIG:Debug>:ls-std::ls-std-core-d>
|
|
|
+ $<$<CONFIG:Release>:ls-std::ls-std-core>
|
|
|
)
|
|
|
|
|
|
################################
|
|
|
@@ -76,7 +85,18 @@ target_link_libraries(${MODULE_NAME_CORE}-tests PRIVATE
|
|
|
)
|
|
|
|
|
|
include(GoogleTest)
|
|
|
-gtest_discover_tests(${MODULE_NAME_CORE}-tests)
|
|
|
+gtest_discover_tests(${MODULE_NAME_CORE}-tests DISCOVERY_MODE PRE_TEST)
|
|
|
+
|
|
|
+if (WIN32)
|
|
|
+ add_custom_command(TARGET ${MODULE_NAME_CORE}-tests POST_BUILD
|
|
|
+ COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_CORE}-tests>
|
|
|
+ $<TARGET_RUNTIME_DLLS:${MODULE_NAME_CORE}-tests>
|
|
|
+ COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_CORE}-tests>
|
|
|
+ "$<$<CONFIG:Debug>:${LS_STD_DLLS_DEBUG}>"
|
|
|
+ "$<$<CONFIG:Release>:${LS_STD_DLLS_RELEASE}>"
|
|
|
+ COMMAND_EXPAND_LISTS
|
|
|
+ )
|
|
|
+endif ()
|
|
|
|
|
|
################################################################
|
|
|
################################################################
|
|
|
@@ -130,3 +150,48 @@ target_link_libraries(${MODULE_NAME_WINDOW} PUBLIC
|
|
|
${MODULE_NAME_INTERFACE}
|
|
|
SDL3::SDL3
|
|
|
)
|
|
|
+
|
|
|
+################################
|
|
|
+# Test Files: Window Module
|
|
|
+################################
|
|
|
+
|
|
|
+set(ATLANTIS_WINDOW_TEST_SOURCES
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/window/mock/SdlApiMock.cpp
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/window/SdlWindowApiTest.cpp
|
|
|
+)
|
|
|
+
|
|
|
+################################
|
|
|
+# Test Case Creation: Window Module
|
|
|
+################################
|
|
|
+
|
|
|
+add_executable(${MODULE_NAME_WINDOW}-tests ${ATLANTIS_WINDOW_TEST_SOURCES})
|
|
|
+
|
|
|
+target_link_libraries(${MODULE_NAME_WINDOW}-tests PRIVATE
|
|
|
+ ${MODULE_NAME_WINDOW}
|
|
|
+ GTest::gmock_main
|
|
|
+)
|
|
|
+
|
|
|
+gtest_discover_tests(${MODULE_NAME_WINDOW}-tests DISCOVERY_MODE PRE_TEST)
|
|
|
+
|
|
|
+if (WIN32)
|
|
|
+ add_custom_command(TARGET ${MODULE_NAME_WINDOW}-tests POST_BUILD
|
|
|
+ COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_WINDOW}-tests>
|
|
|
+ $<TARGET_RUNTIME_DLLS:${MODULE_NAME_WINDOW}-tests>
|
|
|
+ COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_WINDOW}-tests>
|
|
|
+ "$<$<CONFIG:Debug>:${LS_STD_DLLS_DEBUG}>"
|
|
|
+ "$<$<CONFIG:Release>:${LS_STD_DLLS_RELEASE}>"
|
|
|
+ COMMAND_EXPAND_LISTS
|
|
|
+ )
|
|
|
+endif ()
|
|
|
+
|
|
|
+################################################################
|
|
|
+################################################################
|
|
|
+# All Tests
|
|
|
+################################################################
|
|
|
+################################################################
|
|
|
+
|
|
|
+add_custom_target(ls-atlantis-tests
|
|
|
+ DEPENDS
|
|
|
+ ${MODULE_NAME_CORE}-tests
|
|
|
+ ${MODULE_NAME_WINDOW}-tests
|
|
|
+)
|