On 12. Aug, 2010, at 22:41 , Carlos Gonçalves wrote: > Hi, > > On 2010/08/12, at 20:15, Chris Wolf wrote: > >> >> >> On 8/12/10 10:20 AM, Carlos Gonçalves wrote: >>> Hi, >>> >>> I have already looked everywhere possible (so to speak) on how to create a >>> Framework + Unix tools as described in [1] but found no examples. So far I >>> was able to create a Framework only [2]. >>> >>> I'm trying to add Mac OS X support to GeneratorRunner[3] and my current >>> CMakeLists.txt can be viewed in [4]. Any help would be appreciated :-) >>> >>> Thanks, >>> Carlos Gonçalves >>> >>> [1] >>> http://www.cmake.org/Wiki/CMake:Bundles_And_Frameworks#Framework_.2B_Unix_tools >>> [2] http://www.cmake.org/Wiki/CMake:Bundles_And_Frameworks#Framework_only >>> [3] http://qt.gitorious.org/pyside/generatorrunner >>> [4] http://pastebin.com/p7CKYP2z >> >> I am not certain about your main question - but looking at your code, I see >> you have: >> >> add_custom_target(dist... >> >> ...which creates a file, "ChangeLog.txt" from the git log, then creates an >> archive. You only need to create the "ChangeLog.txt" file here; you >> don't need to create temp dirs and invoke tar and bzip2 - cpack can >> do that for you, via the defined package generators. > > That's a custom target to create a new release tarball, so nothing to do with > my question :-) > >> For creating source and/or binary archives, just use one of the CPack >> package generators: >> >> http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#TBZ2 >> >> To create the configured binary package(s), either invoke "make package" >> or invoke cpack directly: "cpack" >> >> To create the configured source package, either invoke cpack via: >> "make package_source" or directly via: >> "cpack --config ./CPackSourceConfig.cmake" >> >> >> Sorry I couldn't answer your "real" question... ;) > > My fault, not yours. Ok, let me explain it better. > > GeneratorRunner builds successfully on Linux and installs just fine. Now, I > want to add Mac OS X support on it. Since GeneratorRunner contains an > application (generatorrunner) and a library (genrunner) the installation file > hierarchy should be, for what I have understand, something equivalent to the > example given in > http://www.cmake.org/Wiki/CMake:Bundles_And_Frameworks#Framework_.2B_Unix_tools > > -- Installing: /Library/Frameworks/genrunner.framework > -- Installing: /Library/Frameworks/genrunner.framework/genrunner > -- Installing: /Library/Frameworks/genrunner.framework/Resources > -- Installing: /Library/Frameworks/genrunner.framework/Versions > -- Installing: /Library/Frameworks/genrunner.framework/Versions/0.6.1 > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/genrunner > -- Installing: /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/cmake > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/cmake/GeneratorRunner-0.6.1 > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/cmake/GeneratorRunner-0.6.1/GeneratorRunnerConfig.cmake > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/cmake/GeneratorRunner-0.6.1/GeneratorRunnerConfigVersion.cmake > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/pkgconfig > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/lib/pkgconfig/generatorrunner.pc > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/Resources > -- Installing: > /Library/Frameworks/genrunner.framework/Versions/0.6.1/Resources/Info.plist > -- Installing: /Library/Frameworks/genrunner.framework/Versions/Current > -- Installing: /Applications/GeneratorRunner/bin/generatorrunner > > My question is mainly about file > /Applications/GeneratorRunner/bin/generatorrunner which, although I've set it > to be installed there for testing purposes, what I want is it so be installed > either in > /Library/Frameworks/genrunner.framework/Versions/0.6.1/Commands/generatorrunner > or in > Library/Frameworks/genrunner.framework/Versions/0.6.1/bin/generatorrunner (I > truly don't know what the difference between Commands/ and bin/ is since they > both contain executables), but I don't know how to do it. I tried messing > with RUNTIME DESTINATION setting it to "bin" but that didn't help. > > Hope I have clarified my question ;-) > > Thanks, > Carlos Gonçalves
Now you only have to use execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ...) to create a symlink somewhere in your build tree that points to the executable inside the framework (either using a relative path or the absolute install-path) and then install it using install(FILES ...). HTH Michael _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake