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 725e516762..43efa42523 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 3f563bddaa..1b07888340 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 5d79007119..e2d3512456 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 bec840ca26..677f041c11 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 f87bd4f9c0..645e6aadc4 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})