Bläddra i källkod

Move window module logic to dedicated CMake file

Patrick-Christopher Mattulat 1 vecka sedan
förälder
incheckning
3357e72d99
3 ändrade filer med 66 tillägg och 53 borttagningar
  1. 2 53
      CMakeLists.txt
  2. 38 0
      cmake/ls-atlantis-window-tests.cmake
  3. 26 0
      cmake/ls-atlantis-window.cmake

+ 2 - 53
CMakeLists.txt

@@ -59,59 +59,8 @@ include(cmake/ls-atlantis-interface-tests.cmake)
 ################################################################
 ################################################################
 
-################################
-# Source Files: Window Module
-################################
-
-set(ATLANTIS_WINDOW_SOURCES
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/window/SdlApi.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/window/SdlWindowApi.cpp
-)
-
-################################
-# Library Creation: Window Module
-################################
-
-add_library(${MODULE_NAME_WINDOW} SHARED ${ATLANTIS_WINDOW_SOURCES})
-
-target_link_libraries(${MODULE_NAME_WINDOW} PUBLIC
-    ${MODULE_NAME_CORE}
-    ${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 ()
+include(cmake/ls-atlantis-window.cmake)
+include(cmake/ls-atlantis-window-tests.cmake)
 
 ################################################################
 ################################################################

+ 38 - 0
cmake/ls-atlantis-window-tests.cmake

@@ -0,0 +1,38 @@
+################################################################
+################################################################
+# Module-Test: Window
+################################################################
+################################################################
+
+################################
+# 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 ()

+ 26 - 0
cmake/ls-atlantis-window.cmake

@@ -0,0 +1,26 @@
+################################################################
+################################################################
+# Module: Window
+################################################################
+################################################################
+
+################################
+# Source Files: Window Module
+################################
+
+set(ATLANTIS_WINDOW_SOURCES
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/window/SdlApi.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/window/SdlWindowApi.cpp
+)
+
+################################
+# Library Creation: Window Module
+################################
+
+add_library(${MODULE_NAME_WINDOW} SHARED ${ATLANTIS_WINDOW_SOURCES})
+
+target_link_libraries(${MODULE_NAME_WINDOW} PUBLIC
+    ${MODULE_NAME_CORE}
+    ${MODULE_NAME_INTERFACE}
+    SDL3::SDL3
+)