On Mon, Apr 14, 2008 at 5:08 PM, Brad King <[EMAIL PROTECTED]> wrote:
> I guess no one has been using CMake from CVS on the mac. This has been > broken since Aug 22 2007: > > > http://www.cmake.org/cgi-bin/viewcvs.cgi/Source/cmInstallCommand.cxx?root=CMake&r1=1.26&r2=1.27 Nope, when trying to build packages for The Real World I try to stick to production stuff. ;) > > Adding "BUNDLE DESTINATION lib" fixes it; but I would say that if > > BUNDLE DESTINATION is not set, cmake should fall back to whatever > > LIBRARY DESTINATION is set to. > > CMake 2.4 uses the RUNTIME DESTINATION for bundles and the LIBRARY > DESTINATION for frameworks. Therefore these should be the fallbacks. I'm getting even more confused then... "RUNTIME" means executables in this context, doesn't it? Then maybe I was wrong in my assessment of what "BUNDLE" means in the install command in the first place... does it mean loadable modules (.bundle) or does it mean app-bundles? Hrm, OK, I just checked "cmake --help-command install" and this 5th time I've read it I think I understand it differently :) The TARGETS form specifies rules for installing targets from a project. There are five kinds of target files that may be installed: archive, library, runtime, framework, and bundle. Executables are treated as runtime targets, except that those marked with the MACOSX_BUNDLE property are treated as bundle targets on OS X. Static When I was first reading the documentation, I was grepping for "BUNDLE" and the only thing I hit was the TARGETS signature, and then this line about "MACOSX_BUNDLE" which didn't seem directly applicable. Perhaps when things from the signature are mentioned, they should be referred to as you would specify them, to make it more obvious it's referring to the same thing? It's confusing because: - .bundle files (dlopened .so files) are called "bundles" by Mach-O (bundles can be loaded, but not linked against at compile time) - Foo.app directories are called "bundles" ("app bundles" to be specific) because they are bundles of related resources - Foo.framework directories are also called "bundles" because they are bundles of related resources "bundle" is such an overloaded term in OSX that without explicit context it's hard to know what you're referring to specifically. It would be clearer in the documentation if it was more like this: The TARGETS form specifies rules for installing targets from a project. There are five kinds of target files that may be installed: ARCHIVE, LIBRARY, RUNTIME, FRAMEWORK, and BUNDLE. Executables are treated as RUNTIME targets, except that those marked with the MACOSX_BUNDLE property are treated as BUNDLE targets on OS X. Static In hindsight, I can't imagine the bin/ directory was ever the default place to put .bundle (dlopened .so) files, so "BUNDLE" in install must mean .app bundles, and if you capitalize the way they're specified in the TARGETS bit, it's a lot more obvious that that's the case... -- Benjamin Reed a.k.a. Ranger Rick Fink, KDE, and Mac OS X development http://www.racoonfink.com/ _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
