ensure DLL are generated with branded names
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Tue, 5 Oct 2021 09:29:49 +0000 (11:29 +0200)
committerMatthieu Gallien (Rebase PR Action) <matthieu_gallien@yahoo.fr>
Wed, 6 Oct 2021 07:56:33 +0000 (07:56 +0000)
cmake distinct runtime and library

on unix dynamic shared libraries are library kind of objects
on windows they are runtime kind of objects

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/csync/CMakeLists.txt
src/libsync/CMakeLists.txt
src/libsync/vfs/cfapi/CMakeLists.txt
src/libsync/vfs/suffix/CMakeLists.txt
src/libsync/vfs/xattr/CMakeLists.txt

index 725e516762e387e67d5a9b82f7d022645ee9a19a..43efa425234b35c7b75d1e079a1cdf43288d56e8 100644 (file)
@@ -109,7 +109,9 @@ set_target_properties(
       RUNTIME_OUTPUT_DIRECTORY
         ${BIN_OUTPUT_DIRECTORY}
       LIBRARY_OUTPUT_NAME
-        "${APPLICATION_EXECUTABLE}_csync"
+        ${APPLICATION_EXECUTABLE}_csync
+      RUNTIME_OUTPUT_NAME
+        ${APPLICATION_EXECUTABLE}_csync
 )
 if(BUILD_OWNCLOUD_OSX_BUNDLE)
   INSTALL(
index 3f563bddaab290a0ada038649d3d1525b75676fc..1b0788834094fe11693a14f1bd9661d2a1ae4f8c 100644 (file)
@@ -104,7 +104,7 @@ ENDIF(NOT APPLE)
 
 find_package(Qt5 REQUIRED COMPONENTS WebSockets)
 add_library(nextcloudsync SHARED ${libsync_SRCS})
-set_target_properties(nextcloudsync PROPERTIES LIBRARY_OUTPUT_NAME ${APPLICATION_EXECUTABLE}sync)
+
 target_link_libraries(nextcloudsync
   PUBLIC
   nextcloud_csync
@@ -135,11 +135,19 @@ GENERATE_EXPORT_HEADER( nextcloudsync
 
 target_include_directories(nextcloudsync PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
 
-
-set_target_properties( nextcloudsync  PROPERTIES
-       VERSION ${MIRALL_VERSION}
-       SOVERSION ${MIRALL_SOVERSION}
-       RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
+set_target_properties(
+  nextcloudsync
+    PROPERTIES
+      VERSION
+        ${MIRALL_VERSION}
+      SOVERSION
+        ${MIRALL_SOVERSION}
+      RUNTIME_OUTPUT_DIRECTORY
+        ${BIN_OUTPUT_DIRECTORY}
+      LIBRARY_OUTPUT_NAME
+        ${APPLICATION_EXECUTABLE}sync
+      RUNTIME_OUTPUT_NAME
+        ${APPLICATION_EXECUTABLE}sync
 )
 
 if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
index 5d79007119e737755e59e19665e19355ea175fd3..e2d351245677835aa844604508513265ebb3c552 100644 (file)
@@ -6,21 +6,26 @@ if (WIN32)
         hydrationjob.cpp
         vfs_cfapi.cpp
     )
-    set_target_properties(nextcloudsync_vfs_cfapi
-        PROPERTIES
-        LIBRARY_OUTPUT_NAME ${APPLICATION_EXECUTABLE}sync_vfs_cfapi
-    )
 
     target_link_libraries(nextcloudsync_vfs_cfapi PRIVATE
         nextcloudsync
         cldapi
     )
 
-    set_target_properties("nextcloudsync_vfs_cfapi" PROPERTIES
-        LIBRARY_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-        RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-        PREFIX ""
-        AUTOMOC TRUE
+    set_target_properties(nextcloudsync_vfs_cfapi
+      PROPERTIES
+        LIBRARY_OUTPUT_DIRECTORY
+          ${BIN_OUTPUT_DIRECTORY}
+        RUNTIME_OUTPUT_DIRECTORY
+          ${BIN_OUTPUT_DIRECTORY}
+        PREFIX
+          ""
+        AUTOMOC
+          TRUE
+        LIBRARY_OUTPUT_NAME
+          ${APPLICATION_EXECUTABLE}sync_vfs_cfapi
+        RUNTIME_OUTPUT_NAME
+          ${APPLICATION_EXECUTABLE}sync_vfs_cfapi
     )
 
     target_include_directories("nextcloudsync_vfs_cfapi" BEFORE PUBLIC ${CMAKE_CURRENT_BINARY_DIR} INTERFACE ${CMAKE_BINARY_DIR})
index bec840ca265f09c1dc558713b5d4a30258e39206..677f041c11d341715beff93b1abf07d66ae856cb 100644 (file)
@@ -1,18 +1,23 @@
 add_library(nextcloudsync_vfs_suffix SHARED
     vfs_suffix.cpp
 )
-set_target_properties(nextcloudsync_vfs_suffix
-    PROPERTIES
-    LIBRARY_OUTPUT_NAME ${APPLICATION_EXECUTABLE}sync_vfs_suffix
-)
 
 target_link_libraries(nextcloudsync_vfs_suffix PRIVATE nextcloudsync)
 
-set_target_properties(nextcloudsync_vfs_suffix PROPERTIES
-    LIBRARY_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-    RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-    PREFIX ""
-    AUTOMOC TRUE
+set_target_properties(nextcloudsync_vfs_suffix
+  PROPERTIES
+    LIBRARY_OUTPUT_DIRECTORY
+      ${BIN_OUTPUT_DIRECTORY}
+    RUNTIME_OUTPUT_DIRECTORY
+      ${BIN_OUTPUT_DIRECTORY}
+    PREFIX
+      ""
+    AUTOMOC
+      TRUE
+    LIBRARY_OUTPUT_NAME
+      ${APPLICATION_EXECUTABLE}sync_vfs_suffix
+    RUNTIME_OUTPUT_NAME
+      ${APPLICATION_EXECUTABLE}sync_vfs_suffix
 )
 
 if(APPLE)
index f87bd4f9c06d9ab2b09e613fbed4d01b923851f2..645e6aadc46e8cd2f6d154b60005cf2bafb41cd1 100644 (file)
@@ -7,18 +7,23 @@ if (LINUX)
     add_library(nextcloudsync_vfs_xattr SHARED
         ${vfs_xattr_SRCS}
     )
-    set_target_properties(nextcloudsync_vfs_xattr
-        PROPERTIES
-        LIBRARY_OUTPUT_NAME ${APPLICATION_EXECUTABLE}sync_vfs_xattr
-    )
 
     target_link_libraries(nextcloudsync_vfs_xattr PRIVATE nextcloudsync)
 
-    set_target_properties(nextcloudsync_vfs_xattr PROPERTIES
-        LIBRARY_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-        RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
-        PREFIX ""
-        AUTOMOC TRUE
+    set_target_properties(nextcloudsync_vfs_xattr
+      PROPERTIES
+        LIBRARY_OUTPUT_DIRECTORY
+          ${BIN_OUTPUT_DIRECTORY}
+        RUNTIME_OUTPUT_DIRECTORY
+          ${BIN_OUTPUT_DIRECTORY}
+        PREFIX
+          ""
+        AUTOMOC
+          TRUE
+        LIBRARY_OUTPUT_NAME
+          ${APPLICATION_EXECUTABLE}sync_vfs_xattr
+        RUNTIME_OUTPUT_NAME
+          ${APPLICATION_EXECUTABLE}sync_vfs_xattr
     )
 
     target_include_directories(nextcloudsync_vfs_xattr BEFORE PUBLIC ${CMAKE_CURRENT_BINARY_DIR} INTERFACE ${CMAKE_CURRENT_BINARY_DIR})