[jira] [Resolved] (XERCESC-2176) Incorrect symbolic links created for Linux static library and MacOS static and shared libraries
[ https://issues.apache.org/jira/browse/XERCESC-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Roger Leigh resolved XERCESC-2176. -- Fix Version/s: 3.3.0 Resolution: Fixed > Incorrect symbolic links created for Linux static library and MacOS static > and shared libraries > --- > > Key: XERCESC-2176 > URL: https://issues.apache.org/jira/browse/XERCESC-2176 > Project: Xerces-C++ > Issue Type: Bug > Components: Build >Affects Versions: 3.2.0, 3.2.1, 3.2.2 > Environment: Linux, MacOS >Reporter: Brent Davis >Assignee: Roger Leigh >Priority: Minor > Fix For: 3.2.3, 3.3.0 > > > We build Xerces-C++ for both the Linux and MacOS platforms, with both static > and shared libraries. There are arguably some dubiously named symbolic links > created by src/CMakeLists.txt. The symlinks are always named > 'libxerces-c.so' regardless or library type, or use of the .dylib extension > on MacOS. > ||Platform||Library Type||Symbolic Link||Comment|| > |{color:#de350b}Linux{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#00875a} > {color}|{color:#00875a}shared{color}|{color:#00875a}libxerces-c.so -> > libxerces-c-3.2.so{color}|{color:#00875a}good{color}| > |{color:#de350b}MacOS{color}|{color:#de350b}static{color}|{color:#de350b}libxerces-c.so > -> libxerces-c-3.2.a{color}|{color:#de350b}symbolic link should either be > libxerces-c.a or not created{color}| > |{color:#de350b} > {color}|{color:#de350b}shared{color}|{color:#de350b}libxerces-c.so -> > libxerces-c-3.2.dylib{color}|{color:#de350b}symbolic link should best be > named libxerces-c.dylib{color}| > Curiously, the Microsoft _vcpkg_ folks just recently ran into the Linux > static library portion of this issue and elected to not create the symlink in > that case. See [[xerces-c] produces strange files in > installed/x64-linux/lib|[https://github.com/microsoft/vcpkg/issues/7490]]. > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[GitHub] [xerces-c] rleigh-codelibre merged pull request #10: cmake: Correct shared library name and symlink creation (3.2)
rleigh-codelibre merged pull request #10: cmake: Correct shared library name and symlink creation (3.2) URL: https://github.com/apache/xerces-c/pull/10 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[xerces-c] branch master updated: cmake: Correct shared library name and symlink creation
This is an automated email from the ASF dual-hosted git repository. rleigh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/xerces-c.git The following commit(s) were added to refs/heads/master by this push: new 84395e5 cmake: Correct shared library name and symlink creation new 03fee10 Merge pull request #9 from rleigh-codelibre/cmake-libname-fixes 84395e5 is described below commit 84395e5a61188ed05efb668661f5e2aad17c3a7b Author: Roger Leigh AuthorDate: Thu Apr 2 13:21:06 2020 +0100 cmake: Correct shared library name and symlink creation --- src/CMakeLists.txt | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c29aa25..344851f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1289,11 +1289,13 @@ elseif(UNIX) # set the version in the filename, and create the symlink at install # time. Note: could be dropped when the SONAME is updated and # libtool compatibility is no longer required. - set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") - file(GENERATE -OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" -CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") - install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + if(BUILD_SHARED_LIBS) +set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" + CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c${CMAKE_SHARED_LIBRARY_SUFFIX}\")") +install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + endif() else() # Not used for the common cases, though this would be the default if # not for libtool compatibility. - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[xerces-c] branch xerces-3.2 updated: cmake: Correct shared library name and symlink creation
This is an automated email from the ASF dual-hosted git repository. rleigh pushed a commit to branch xerces-3.2 in repository https://gitbox.apache.org/repos/asf/xerces-c.git The following commit(s) were added to refs/heads/xerces-3.2 by this push: new 44a039f cmake: Correct shared library name and symlink creation new 575717d Merge pull request #10 from rleigh-codelibre/cmake-libname-fixes-3.2 44a039f is described below commit 44a039f61e1a27ecd5bfb45007fc9cbb0c2acfc9 Author: Roger Leigh AuthorDate: Thu Apr 2 13:21:06 2020 +0100 cmake: Correct shared library name and symlink creation --- src/CMakeLists.txt | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c29aa25..344851f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1289,11 +1289,13 @@ elseif(UNIX) # set the version in the filename, and create the symlink at install # time. Note: could be dropped when the SONAME is updated and # libtool compatibility is no longer required. - set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") - file(GENERATE -OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" -CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") - install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + if(BUILD_SHARED_LIBS) +set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" + CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c${CMAKE_SHARED_LIBRARY_SUFFIX}\")") +install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") + endif() else() # Not used for the common cases, though this would be the default if # not for libtool compatibility. - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org
[GitHub] [xerces-c] rleigh-codelibre merged pull request #9: cmake: Correct shared library name and symlink creation
rleigh-codelibre merged pull request #9: cmake: Correct shared library name and symlink creation URL: https://github.com/apache/xerces-c/pull/9 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org