[CMake] Framework + Unix tools help
mail at cgoncalves.info
Thu Aug 12 16:41:05 EDT 2010
On 2010/08/12, at 20:15, Chris Wolf wrote:
> On 8/12/10 10:20 AM, Carlos Gonçalves wrote:
>> I have already looked everywhere possible (so to speak) on how to create a Framework + Unix tools as described in  but found no examples. So far I was able to create a Framework only .
>> I'm trying to add Mac OS X support to GeneratorRunner and my current CMakeLists.txt can be viewed in . Any help would be appreciated :-)
>> Carlos Gonçalves
>>  http://www.cmake.org/Wiki/CMake:Bundles_And_Frameworks#Framework_.2B_Unix_tools
>>  http://www.cmake.org/Wiki/CMake:Bundles_And_Frameworks#Framework_only
>>  http://qt.gitorious.org/pyside/generatorrunner
>>  http://pastebin.com/p7CKYP2z
> I am not certain about your main question - but looking at your code, I see you have:
> ...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:
> 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 ;-)
More information about the CMake