Re: [CMake] Framework + Unix tools help
On 2010/08/13, at 08:52, Michael Wild wrote: 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 ...). Hmm, I thought CMake would be able do it by itself since it also constructs all the framework tree including the Versions/, Headers/, and Resources/ symlinks. Thanks, Carlos Gonçalves ___ Powered by www.kitware.com Visit other Kitware open-source projects at http
Re: [CMake] Framework + Unix tools help
On 2010/08/13, at 08:52, Michael Wild wrote: 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 ...). But how do I install the executable inside the framework dir? What I have now is: install(TARGETS genrunner generatorrunner RUNTIME DESTINATION bin FRAMEWORK DESTINATION Library/Frameworks LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER
[CMake] Framework + Unix tools help
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 ___ 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
Re: [CMake] Framework + Unix tools help
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 ___ 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