From c751fd56723284d5bcd3a9bb79db2e4c59acd70a Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Tue, 5 Oct 2021 11:29:49 +0200 Subject: [PATCH] ensure DLL are generated with branded names 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 --- src/csync/CMakeLists.txt | 4 +++- src/libsync/CMakeLists.txt | 20 ++++++++++++++------ src/libsync/vfs/cfapi/CMakeLists.txt | 23 ++++++++++++++--------- src/libsync/vfs/suffix/CMakeLists.txt | 23 ++++++++++++++--------- src/libsync/vfs/xattr/CMakeLists.txt | 23 ++++++++++++++--------- 5 files changed, 59 insertions(+), 34 deletions(-) diff --git a/src/csync/CMakeLists.txt b/src/csync/CMakeLists.txt index 725e51676..43efa4252 100644 --- a/src/csync/CMakeLists.txt +++ b/src/csync/CMakeLists.txt @@ -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( diff --git a/src/libsync/CMakeLists.txt b/src/libsync/CMakeLists.txt index 3f563bdda..1b0788834 100644 --- a/src/libsync/CMakeLists.txt +++ b/src/libsync/CMakeLists.txt @@ -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) diff --git a/src/libsync/vfs/cfapi/CMakeLists.txt b/src/libsync/vfs/cfapi/CMakeLists.txt index 5d7900711..e2d351245 100644 --- a/src/libsync/vfs/cfapi/CMakeLists.txt +++ b/src/libsync/vfs/cfapi/CMakeLists.txt @@ -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}) diff --git a/src/libsync/vfs/suffix/CMakeLists.txt b/src/libsync/vfs/suffix/CMakeLists.txt index bec840ca2..677f041c1 100644 --- a/src/libsync/vfs/suffix/CMakeLists.txt +++ b/src/libsync/vfs/suffix/CMakeLists.txt @@ -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) diff --git a/src/libsync/vfs/xattr/CMakeLists.txt b/src/libsync/vfs/xattr/CMakeLists.txt index f87bd4f9c..645e6aadc 100644 --- a/src/libsync/vfs/xattr/CMakeLists.txt +++ b/src/libsync/vfs/xattr/CMakeLists.txt @@ -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}) -- 2.30.2