From f4583e1151ab1b9d1a28b5007c297b1ee0ef7f19 Mon Sep 17 00:00:00 2001
From: AlQuemist <alquemist@Lyriks>
Date: Mon, 11 Nov 2024 12:09:03 +0100
Subject: [PATCH] CMake: distinguish between BornAgain and Windows extra
 libraries

---
 App/CMakeLists.txt               | 12 ++++++------
 cmake/BornAgain/InstallDll.cmake | 14 +++++++-------
 cmake/BornAgain/Pack.cmake       |  9 ++++++++-
 3 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/App/CMakeLists.txt b/App/CMakeLists.txt
index ee6b7524ef5..a710c1bad7e 100644
--- a/App/CMakeLists.txt
+++ b/App/CMakeLists.txt
@@ -146,7 +146,7 @@ if(WIN32)
         set(QtComp Qt6::${comp})
         get_target_property(dll ${QtComp} LOCATION_Release)
         get_property(dll TARGET ${QtComp} PROPERTY LOCATION_Release)
-        install(FILES ${dll} DESTINATION ${destination_lib} COMPONENT Libraries)
+        install(FILES ${dll} DESTINATION ${destination_lib} COMPONENT WinLibraries)
         message(STATUS "Install Qt lib ${QtComp} (${dll})")
     endforeach()
 
@@ -156,20 +156,20 @@ if(WIN32)
 
     install(FILES ${Qt_DIR}/bin/opengl32sw.dll
         DESTINATION ${destination_lib}
-        COMPONENT Libraries)
+        COMPONENT WinLibraries)
     install(FILES ${Qt_PLUGINS_DIR}/platforms/qwindows.dll
         DESTINATION bin/platforms
-        COMPONENT Libraries)
+        COMPONENT WinLibraries)
     install(FILES ${Qt_PLUGINS_DIR}/iconengines/qsvgicon.dll
         DESTINATION bin/iconengines
-        COMPONENT Libraries)
+        COMPONENT WinLibraries)
     install(FILES ${Qt_PLUGINS_DIR}/imageformats/qjpeg.dll ${Qt_PLUGINS_DIR}/imageformats/qsvg.dll
         DESTINATION bin/imageformats
-        COMPONENT Libraries)
+        COMPONENT WinLibraries)
 
     set(QT_VISTA_STYLE ${Qt_PLUGINS_DIR}/styles/qwindowsvistastyle.dll)
     if(EXISTS ${QT_VISTA_STYLE})
-        install(FILES ${QT_VISTA_STYLE} DESTINATION bin/styles COMPONENT Libraries)
+        install(FILES ${QT_VISTA_STYLE} DESTINATION bin/styles COMPONENT WinLibraries)
     else()
         message(AUTHOR_WARNING File ${QT_VISTA_STYLE} not found.)
     endif()
diff --git a/cmake/BornAgain/InstallDll.cmake b/cmake/BornAgain/InstallDll.cmake
index 12cfc9592e7..ea9e741558e 100644
--- a/cmake/BornAgain/InstallDll.cmake
+++ b/cmake/BornAgain/InstallDll.cmake
@@ -42,7 +42,7 @@ foreach(Boost_lib ${Boost_LIBRARIES})
     get_filename_component(UTF_PATH ${Boost_lib} PATH)
     list(APPEND BA_Dependencies_WIN32 "${UTF_PATH}/${UTF_BASE_NAME}.dll")
     install(FILES ${UTF_PATH}/${UTF_BASE_NAME}.dll
-        DESTINATION ${destination_lib} COMPONENT Libraries
+        DESTINATION ${destination_lib} COMPONENT WinLibraries
         CONFIGURATIONS [Release|MinSizeRel|RelWithDebInfo])
     message("    ${UTF_PATH}/${UTF_BASE_NAME}.dll - will be installed in ${destination_lib}")
 endforeach()
@@ -54,7 +54,7 @@ foreach(lib ${Boost_Additional_Libraries})
     get_filename_component(UTF_PATH ${lib} PATH)
     list(APPEND BA_Dependencies_WIN32 "${UTF_PATH}/${UTF_BASE_NAME}.dll")
     install(FILES ${UTF_PATH}/${UTF_BASE_NAME}.dll
-        DESTINATION ${destination_lib} COMPONENT Libraries
+        DESTINATION ${destination_lib} COMPONENT WinLibraries
         CONFIGURATIONS [Release|MinSizeRel|RelWithDebInfo])
     message("    ${UTF_PATH}/${UTF_BASE_NAME}.dll - will be installed in ${destination_lib}")
 endforeach()
@@ -66,14 +66,14 @@ foreach(lib ${GSL_LIBRARIES})
     get_filename_component(UTF_PATH ${lib} PATH)
     list(APPEND BA_Dependencies_WIN32 "${UTF_PATH}/${UTF_BASE_NAME}.dll")
     install(FILES ${UTF_PATH}/${UTF_BASE_NAME}.dll
-        DESTINATION ${destination_lib} COMPONENT Libraries
+        DESTINATION ${destination_lib} COMPONENT WinLibraries
         CONFIGURATIONS [Release|MinSizeRel|RelWithDebInfo])
     message("    ${UTF_PATH}/${UTF_BASE_NAME}.dll - will be installed in ${destination_lib}")
 endforeach()
 
 ## CERF library
 message(STATUS "Installation of Cerf library:")
-install(FILES ${Cerf_LIBRARIES} DESTINATION ${destination_lib} COMPONENT Libraries)
+install(FILES ${Cerf_LIBRARIES} DESTINATION ${destination_lib} COMPONENT WinLibraries)
 message(STATUS "Cerf dll: ${Cerf_LIBRARIES} - will be installed in ${destination_lib}")
 list(APPEND BA_Dependencies_WIN32 "${Cerf_LIBRARIES}")
 
@@ -84,7 +84,7 @@ foreach(lib ${FFTW3_LIBRARIES})
     get_filename_component(UTF_PATH ${lib} PATH)
     list(APPEND BA_Dependencies_WIN32 "${UTF_PATH}/${UTF_BASE_NAME}.dll")
     install(FILES ${UTF_PATH}/${UTF_BASE_NAME}.dll
-        DESTINATION ${destination_lib} COMPONENT Libraries
+        DESTINATION ${destination_lib} COMPONENT WinLibraries
         CONFIGURATIONS [Release|MinSizeRel|RelWithDebInfo])
     message("    ${UTF_PATH}/${UTF_BASE_NAME}.dll - will be installed in ${destination_lib}")
 endforeach()
@@ -121,7 +121,7 @@ if(BA_TIFF_SUPPORT)
                 "Dynamic link library ${DLL} (derived from ${LIB}) does not exist")
         endif()
         list(APPEND BA_Dependencies_WIN32 "${DLL}")
-        install(FILES ${DLL} COMPONENT Libraries
+        install(FILES ${DLL} COMPONENT WinLibraries
             DESTINATION ${destination_lib}
             CONFIGURATIONS [Release|MinSizeRel|RelWithDebInfo])
         message("    ${DLL} - will be installed in ${destination_lib}")
@@ -137,5 +137,5 @@ if(NOT EXISTS ${formfactor_DLL})
         "Dynamic link library ${formfactor_DLL} (need for formfactor) does not exist")
 endif()
 list(APPEND BA_Dependencies_WIN32 "${formfactor_DLL}")
-install(FILES ${formfactor_DLL} DESTINATION ${destination_lib} COMPONENT Libraries)
+install(FILES ${formfactor_DLL} DESTINATION ${destination_lib} COMPONENT WinLibraries)
 message(STATUS "formfactor dll: ${formfactor_DLL} - will be installed in ${destination_lib}")
diff --git a/cmake/BornAgain/Pack.cmake b/cmake/BornAgain/Pack.cmake
index 502b06201b5..d92b04e433e 100644
--- a/cmake/BornAgain/Pack.cmake
+++ b/cmake/BornAgain/Pack.cmake
@@ -60,7 +60,14 @@ set(CPACK_PACKAGE_FILE_NAME ${_pkgname})
 
 # NOTE: The 'Unspecified' component is a _default_ component of CPack needed to finalize
 # the installer. It must be at the end of all other components.
-set(CPACK_COMPONENTS_ALL Libraries Headers Examples Applications Runtime Unspecified)
+set(_ALL_COMPONENTS Libraries Headers Examples Applications Runtime Unspecified)
+
+if(WIN32)
+    set(CPACK_COMPONENTS_ALL ${_ALL_COMPONENTS} WinLibraries)
+else()
+    set(CPACK_COMPONENTS_ALL ${_ALL_COMPONENTS})
+endif()
+
 
 include(CPack)
 
-- 
GitLab