View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002513 | CMake | CMake | public | 2005-11-22 13:55 | 2006-03-03 13:01 | ||||
Reporter | Chris Scharver | ||||||||
Assigned To | Brad King | ||||||||
Priority | low | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002513: Specify shared library install_name/rpath | ||||||||
Description | Although CMAKE_SKIP_RPATH can be used to include the full build path, there is not an automatic mechanism to set a more useful install_name on Mac OS X. As a result, the use of shared libraries is tied to load library paths specified through environment variables. DYLD_LIBRARY_PATH is not recommended for general use on Mac OS X, so it should be possible to build libraries such that they include the correct install_name paths. More useful path options might include: * Build location (as currently implemented), useful for developers during development prior to installation * Use CMAKE_INSTALL_PREFIX and determine the install location for the given library * User-defined string such as "@executable_path../Frameworks" for embedding within application bundles I tried implementing something similar to the second option in Modules/Platform/Darwin.cmake, but CMake did not expand the CMAKE_INSTALL_PREFIX variable. If CMake retains the install location for a given library within a variable, that might be used within CMAKE_C_CREATE_SHARED_LIBRARY or CMAKE_CXX_CREATE_SHARED_LIBRARY to set the correct install_name on Mac OS X or rpath on other systems. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0003808) Brad King (manager) 2006-02-24 13:16 |
The following changes introduce this feature. See the documentation of the INSTALL_NAME_DIR property in the SET_TARGET_PROPERTIES command. Please try it out and re-open the bug if there are problems. I'm now closing this bug. /cvsroot/CMake/CMake/Modules/Platform/Darwin.cmake,v <-- Darwin.cmake new revision: 1.16; previous revision: 1.15 /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v <-- cmGlobalXCodeGenerator.cxx new revision: 1.97; previous revision: 1.96 /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.h,v <-- cmGlobalXCodeGenerator.h new revision: 1.35; previous revision: 1.34 /cvsroot/CMake/CMake/Source/cmInstallTargetGenerator.cxx,v <-- cmInstallTargetGenerator.cxx new revision: 1.6; previous revision: 1.5 /cvsroot/CMake/CMake/Source/cmInstallTargetGenerator.h,v <-- cmInstallTargetGenerator.h new revision: 1.2; previous revision: 1.1 /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v <-- cmLocalGenerator.cxx new revision: 1.109; previous revision: 1.108 /cvsroot/CMake/CMake/Source/cmLocalGenerator.h,v <-- cmLocalGenerator.h new revision: 1.49; previous revision: 1.48 /cvsroot/CMake/CMake/Source/cmMakefileLibraryTargetGenerator.cxx,v <-- cmMakefileLibraryTargetGenerator.cxx new revision: 1.7; previous revision: 1.6 /cvsroot/CMake/CMake/Source/cmSetTargetPropertiesCommand.h,v <-- cmSetTargetPropertiesCommand.h new revision: 1.17; previous revision: 1.16 /cvsroot/CMake/CMake/Source/cmTarget.cxx,v <-- cmTarget.cxx new revision: 1.88; previous revision: 1.87 /cvsroot/CMake/CMake/Source/cmTarget.h,v <-- cmTarget.h new revision: 1.55; previous revision: 1.54 /cvsroot/CMake/CMake/Tests/SimpleInstall/CMakeLists.txt,v <-- CMakeLists.txt new revision: 1.37; previous revision: 1.36 |
(0003832) Brad King (manager) 2006-03-03 13:01 |
The following changes fix the support for install_name with bundles and add a test: /cvsroot/CMake/CMake/Source/CMakeLists.txt,v <-- CMakeLists.txt new revision: 1.273; previous revision: 1.272 /cvsroot/CMake/CMake/Source/cmGlobalGenerator.cxx,v <-- cmGlobalGenerator.cxx new revision: 1.122; previous revision: 1.121 /cvsroot/CMake/CMake/Source/cmGlobalGenerator.h,v <-- cmGlobalGenerator.h new revision: 1.47; previous revision: 1.46 /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio6Generator.cxx,v <-- cmGlobalVisualStudio6Generator.cxx new revision: 1.57; previous revision: 1.56 /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio6Generator.h,v <-- cmGlobalVisualStudio6Generator.h new revision: 1.24; previous revision: 1.23 /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio7Generator.cxx,v <-- cmGlobalVisualStudio7Generator.cxx new revision: 1.69; previous revision: 1.68 /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio7Generator.h,v <-- cmGlobalVisualStudio7Generator.h new revision: 1.32; previous revision: 1.31 /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v <-- cmGlobalXCodeGenerator.cxx new revision: 1.100; previous revision: 1.99 /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.h,v <-- cmGlobalXCodeGenerator.h new revision: 1.38; previous revision: 1.37 /cvsroot/CMake/CMake/Source/cmInstallTargetGenerator.cxx,v <-- cmInstallTargetGenerator.cxx new revision: 1.7; previous revision: 1.6 /cvsroot/CMake/CMake/Source/cmInstallTargetGenerator.h,v <-- cmInstallTargetGenerator.h new revision: 1.3; previous revision: 1.2 /cvsroot/CMake/CMake/Source/cmMakefileExecutableTargetGenerator.cxx,v <-- cmMakefileExecutableTargetGenerator.cxx new revision: 1.7; previous revision: 1.6 /cvsroot/CMake/CMake/Source/cmTarget.cxx,v <-- cmTarget.cxx new revision: 1.90; previous revision: 1.89 /cvsroot/CMake/CMake/Tests/BundleTest/BundleLib.cxx,v <-- BundleLib.cxx initial revision: 1.1 /cvsroot/CMake/CMake/Tests/BundleTest/BundleTest.cxx,v <-- BundleTest.cxx new revision: 1.2; previous revision: 1.1 /cvsroot/CMake/CMake/Tests/BundleTest/CMakeLists.txt,v <-- CMakeLists.txt new revision: 1.2; previous revision: 1.1 |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |