Explorar o código

Move interface module logic to dedicated CMake file

Patrick-Christopher Mattulat hai 1 semana
pai
achega
1c8f19d6a1
Modificáronse 3 ficheiros con 67 adicións e 54 borrados
  1. 2 54
      CMakeLists.txt
  2. 38 0
      cmake/ls-atlantis-interface-tests.cmake
  3. 27 0
      cmake/ls-atlantis-interface.cmake

+ 2 - 54
CMakeLists.txt

@@ -50,60 +50,8 @@ include(cmake/ls-atlantis-core-tests.cmake)
 ################################################################
 ################################################################
 
-################################
-# Source Files: Interface Module
-################################
-
-set(ATLANTIS_INTERFACE_SOURCES
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/AStatusCode.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/ISdlApi.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/IWindowApi.cpp
-)
-
-################################
-# Library Creation: Interface Module
-################################
-
-add_library(${MODULE_NAME_INTERFACE} SHARED ${ATLANTIS_INTERFACE_SOURCES})
-
-target_link_libraries(${MODULE_NAME_INTERFACE} PUBLIC
-    SDL3::SDL3
-    $<$<CONFIG:Debug>:ls-std::ls-std-core-d>
-    $<$<CONFIG:Release>:ls-std::ls-std-core>
-)
-
-################################
-# Test Files: Interface Module
-################################
-
-set(ATLANTIS_INTERFACE_TEST_SOURCES
-        ${CMAKE_CURRENT_SOURCE_DIR}/test/interface/mock/StatusCodeMock.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/test/interface/AStatusCodeTest.cpp
-)
-
-################################
-# Test Case Creation: Interface Module
-################################
-
-add_executable(${MODULE_NAME_INTERFACE}-tests ${ATLANTIS_INTERFACE_TEST_SOURCES})
-
-target_link_libraries(${MODULE_NAME_INTERFACE}-tests PRIVATE
-    ${MODULE_NAME_INTERFACE}
-    GTest::gtest_main
-)
-
-gtest_discover_tests(${MODULE_NAME_INTERFACE}-tests DISCOVERY_MODE PRE_TEST)
-
-if (WIN32)
-    add_custom_command(TARGET ${MODULE_NAME_INTERFACE}-tests POST_BUILD
-        COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_INTERFACE}-tests>
-            $<TARGET_RUNTIME_DLLS:${MODULE_NAME_INTERFACE}-tests>
-        COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_INTERFACE}-tests>
-            "$<$<CONFIG:Debug>:${LS_STD_DLLS_DEBUG}>"
-            "$<$<CONFIG:Release>:${LS_STD_DLLS_RELEASE}>"
-        COMMAND_EXPAND_LISTS
-    )
-endif ()
+include(cmake/ls-atlantis-interface.cmake)
+include(cmake/ls-atlantis-interface-tests.cmake)
 
 ################################################################
 ################################################################

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

@@ -0,0 +1,38 @@
+################################################################
+################################################################
+# Module-Test: Interface
+################################################################
+################################################################
+
+################################
+# Test Files: Interface Module
+################################
+
+set(ATLANTIS_INTERFACE_TEST_SOURCES
+        ${CMAKE_CURRENT_SOURCE_DIR}/test/interface/mock/StatusCodeMock.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/test/interface/AStatusCodeTest.cpp
+)
+
+################################
+# Test Case Creation: Interface Module
+################################
+
+add_executable(${MODULE_NAME_INTERFACE}-tests ${ATLANTIS_INTERFACE_TEST_SOURCES})
+
+target_link_libraries(${MODULE_NAME_INTERFACE}-tests PRIVATE
+    ${MODULE_NAME_INTERFACE}
+    GTest::gtest_main
+)
+
+gtest_discover_tests(${MODULE_NAME_INTERFACE}-tests DISCOVERY_MODE PRE_TEST)
+
+if (WIN32)
+    add_custom_command(TARGET ${MODULE_NAME_INTERFACE}-tests POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_INTERFACE}-tests>
+            $<TARGET_RUNTIME_DLLS:${MODULE_NAME_INTERFACE}-tests>
+        COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:${MODULE_NAME_INTERFACE}-tests>
+            "$<$<CONFIG:Debug>:${LS_STD_DLLS_DEBUG}>"
+            "$<$<CONFIG:Release>:${LS_STD_DLLS_RELEASE}>"
+        COMMAND_EXPAND_LISTS
+    )
+endif ()

+ 27 - 0
cmake/ls-atlantis-interface.cmake

@@ -0,0 +1,27 @@
+################################################################
+################################################################
+# Module: Interface
+################################################################
+################################################################
+
+################################
+# Source Files: Interface Module
+################################
+
+set(ATLANTIS_INTERFACE_SOURCES
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/AStatusCode.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/ISdlApi.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/interface/IWindowApi.cpp
+)
+
+################################
+# Library Creation: Interface Module
+################################
+
+add_library(${MODULE_NAME_INTERFACE} SHARED ${ATLANTIS_INTERFACE_SOURCES})
+
+target_link_libraries(${MODULE_NAME_INTERFACE} PUBLIC
+    SDL3::SDL3
+    $<$<CONFIG:Debug>:ls-std::ls-std-core-d>
+    $<$<CONFIG:Release>:ls-std::ls-std-core>
+)