[CMake] Two phase install?

Nicholas Braden nicholas11braden at gmail.com
Wed Mar 23 21:14:03 EDT 2016


Sure, here are a couple of my own projects:
https://github.com/LB--/events/blob/e3215d84644c67848b6d716d308e66c6f186b84e/CMakeLists.txt#L26-L29
https://github.com/LB--/simple-platformer/blob/5b8541354109137798d648bc9d8fe164137de9ab/CMakeLists.txt#L63-L67

On Wed, Mar 23, 2016 at 8:11 PM, Scott Aron Bloom <scott at towel42.com> wrote:
> Ok.. Do you have an example somewhere ?
>
> -----Original Message-----
> From: Nicholas Braden [mailto:nicholas11braden at gmail.com]
> Sent: Wednesday, March 23, 2016 6:11 PM
> To: Scott Aron Bloom
> Cc: Alan W. Irwin; cmake at cmake.org
> Subject: Re: [CMake] Two phase install?
>
> Both projects should be built via ExternalProject within a superproject, this way you can use the DEPENDS arguments to guarantee build order.
>
> On Wed, Mar 23, 2016 at 8:08 PM, Scott Aron Bloom <scott at towel42.com> wrote:
>> Do you have apointer to an example of using the external_project.
>>
>> I have split the projects up, and install the first one.. But I cant
>> seem to get the external project on the downstream cmake run to
>> properly depend that the previous one was run
>>
>> Scott
>>
>> -----Original Message-----
>> From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Scott Aron
>> Bloom
>> Sent: Wednesday, March 23, 2016 2:50 PM
>> To: Alan W. Irwin
>> Cc: cmake at cmake.org
>> Subject: Re: [CMake] Two phase install?
>>
>> -----Original Message-----
>> From: Alan W. Irwin [mailto:irwin at beluga.phys.uvic.ca]
>> Sent: Wednesday, March 23, 2016 2:48 PM
>> To: Scott Aron Bloom
>> Cc: cmake at cmake.org
>> Subject: Re: [CMake] Two phase install?
>>
>> On 2016-03-23 20:25-0000 Scott Aron Bloom wrote:
>>
>>> Here is my problem.
>>>
>>> The project I have creates an application, that is needed to build the rest of the project.
>>>
>>> To imagine it, imagine the application is a custom yacc/lex based parser that reads in a file and generates an output file.
>>>
>>> In order for the application to run correctly, it needs an install step.  However, the results of the application, are part of the final install.
>>>
>>> Is there anyway to say "build this, and create its install area" and afterwards run the rest of the requirements for install?
>>
>> Yes.  I suggest you build and install your application and the rest of your project as two separate CMake projects with a common install-tree prefix.
>>
>> Of course, you could stop there with two completely independent projects that you (and your users) learn to build and install in the correct order. However, CMake allows you to organize such multiple builds and installs with ExternalProject_Add.  I like and use that a lot for large numbers of different projects that depend on each other, and you might also find it useful for your case of just two independent projects.
>>
>> Alan
>> ============
>>
>> Thanks, the ExternalProject_Add is exactly what I needed a hint towards!!!
>>
>>
>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake


More information about the CMake mailing list