Parcourir la source

Move core module logic to dedicated CMake file

Patrick-Christopher Mattulat il y a 1 semaine
Parent
commit
f1c04b3fde
3 fichiers modifiés avec 71 ajouts et 58 suppressions
  1. 2 58
      CMakeLists.txt
  2. 42 0
      cmake/ls-atlantis-core-tests.cmake
  3. 27 0
      cmake/ls-atlantis-core.cmake

+ 2 - 58
CMakeLists.txt

@@ -41,64 +41,8 @@ endif ()
 ################################################################
 ################################################################
 
-################################
-# Source Files: Core Module
-################################
-
-set(ATLANTIS_CORE_SOURCES
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeOk.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeWindowApiLoadingFailed.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeWindowCreationFailed.cpp
-)
-
-################################
-# Library Creation: Core Module
-################################
-
-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>
-)
-
-################################
-# Test Files: Core Module
-################################
-
-set(ATLANTIS_CORE_TEST_SOURCES
-        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeOkTest.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeWindowApiLoadingFailedTest.cpp
-        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeWindowCreationFailedTest.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 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 ()
+include(cmake/ls-atlantis-core.cmake)
+include(cmake/ls-atlantis-core-tests.cmake)
 
 ################################################################
 ################################################################

+ 42 - 0
cmake/ls-atlantis-core-tests.cmake

@@ -0,0 +1,42 @@
+################################################################
+################################################################
+# Module-Test: Core
+################################################################
+################################################################
+
+################################
+# Test Files: Core Module
+################################
+
+set(ATLANTIS_CORE_TEST_SOURCES
+        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeOkTest.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeWindowApiLoadingFailedTest.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/test/core/StatusCodeWindowCreationFailedTest.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 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 ()

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

@@ -0,0 +1,27 @@
+################################################################
+################################################################
+# Module: Core
+################################################################
+################################################################
+
+################################
+# Source Files: Core Module
+################################
+
+set(ATLANTIS_CORE_SOURCES
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeOk.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeWindowApiLoadingFailed.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/source/core/StatusCodeWindowCreationFailed.cpp
+)
+
+################################
+# Library Creation: Core Module
+################################
+
+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>
+)