View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002513CMakeCMakepublic2005-11-22 13:552006-03-03 13:01
ReporterChris Scharver 
Assigned ToBrad King 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0002513: Specify shared library install_name/rpath
DescriptionAlthough 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.
TagsNo tags attached.
Attached Files


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
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

 Issue History
Date Modified Username Field Change

Copyright © 2000 - 2018 MantisBT Team