[CMake] is it possible to download CMake modules at configure time?

Jean-Christophe Fillion-Robin jchris.fillionr at kitware.com
Fri Apr 19 13:14:11 EDT 2013


Hi,

That is awesome.  May be the most generic component could be hosted on the
http://github.com/commontk ? We are also trying to make
generic component allowing to easily build application relying on multiple
project.

The idea would be to provide a drop-in CMake module (named CMakeSuperBuild
?) allowing to very very easily leverage External project. We would also
have a repository of existing external project definition that could easily
be re-used.

This new module would also provide the helper to make packaging and MAcOSx
bundling easier.

Thanks
Jc



On Fri, Apr 19, 2013 at 1:04 PM, radovan bast <
radovan.bast at irsamc.ups-tlse.fr> wrote:

> dear Jean-Christophe,
>
> absolutely. it will take a bit of time until
> we finetune things but the plan is to have and share an open
> source repository (probably on github) that will provide
> generic plug-n-play CMake infrastructure for projects that require
> Fortran, C, and C++,
> as well as MPI/OpenMP, BLAS, and LAPACK. the focus
> is on scientific computing but i will try to keep things
> general and generic also for other projects.
>
> best greetings,
>   radovan
>
>
>
> On Fri, 19 Apr 2013 18:45:04 +0200, Jean-Christophe Fillion-Robin <
> jchris.fillionr at kitware.com> wrote:
>
>  Hi Radovan,
>>
>> That is good news :) Do you think you could share the CMake code you ended
>> up created. May be could generalize the solution to create a re-usable
>> module.
>>
>> Thanks
>> Jc
>>
>>
>> On Fri, Apr 19, 2013 at 12:23 PM, radovan bast <
>> radovan.bast at irsamc.ups-tlse.**fr <radovan.bast at irsamc.ups-tlse.fr>>
>> wrote:
>>
>>  dear Jean-Christophe,
>>>
>>> indeed the approach you demostrated works for me!
>>> this is exactly what i needed.
>>> thank you again!
>>>
>>> (i am sorry for coming back to you so late;
>>> was too busy with other things)
>>>
>>> best regards,
>>>   radovan
>>>
>>>
>>>
>>> On Sat, 13 Apr 2013 12:24:02 +0200, Jean-Christophe Fillion-Robin <
>>> jchris.fillionr at kitware.com> wrote:
>>>
>>>  Hi Radovan,
>>>
>>>> Did you manage to make use and/or generalize the code I pointed you?
>>>> Thanks
>>>> Jc
>>>>
>>>> --
>>>> Sent from my mobile device
>>>> On Apr 6, 2013 10:29 AM, "radovan bast" <radovan at bast.fr> wrote:
>>>>
>>>>  dear Jean-Christophe,
>>>>
>>>>> wonderful! thank you very much.
>>>>> i will test it out.
>>>>> best regards,
>>>>>   radovan
>>>>>
>>>>>
>>>>> On Fri, 05 Apr 2013 18:13:52 +0200, Jean-Christophe Fillion-Robin <
>>>>> jchris.fillionr at kitware.com> wrote:
>>>>>
>>>>>  Hi Radovan,
>>>>>
>>>>>
>>>>>> This is possible. You could look at the approach we consider in CTK.
>>>>>> See
>>>>>> https://github.com/commontk/******CTK/compare/**<https://github.com/commontk/****CTK/compare/**>
>>>>>> <https://**github.com/commontk/**CTK/**compare/**<https://github.com/commontk/**CTK/compare/**>
>>>>>> >
>>>>>> 00694c9f8a0da6ee28fb079902e6a8******c3ec428058...**
>>>>>> 891aa5443b110cc7e6aa0ec1339aad******4b2c83ef9d<https://github.****
>>>>>> com/commontk/CTK/compare/****00694c9f8a0da6ee28fb079902e6a8****
>>>>>> c3ec428058...****891aa5443b110cc7e6aa0ec1339aad****4b2c83ef9d<
>>>>>> https://github.**com/commontk/CTK/compare/**
>>>>>> 00694c9f8a0da6ee28fb079902e6a8**c3ec428058...**
>>>>>> 891aa5443b110cc7e6aa0ec1339aad**4b2c83ef9d<https://github.com/commontk/CTK/compare/00694c9f8a0da6ee28fb079902e6a8c3ec428058...891aa5443b110cc7e6aa0ec1339aad4b2c83ef9d>
>>>>>> >
>>>>>>
>>>>>> >
>>>>>>
>>>>>>
>>>>>> Hth
>>>>>> Jc
>>>>>>
>>>>>>
>>>>>> On Fri, Apr 5, 2013 at 12:03 PM, radovan bast <
>>>>>> radovan.bast at irsamc.ups-tlse.******fr <radovan.bast at irsamc.ups-tlse.*
>>>>>> ***fr<radovan.bast at irsamc.ups-**tlse.fr<radovan.bast at irsamc.ups-tlse.fr>
>>>>>> >
>>>>>>
>>>>>> >>
>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>  dear CMake developers and users,
>>>>>>
>>>>>>
>>>>>>> first of all, a big thanks for the CMake developers
>>>>>>> for a great product! we like CMake a lot.
>>>>>>>
>>>>>>> we are extensively using CMake external project support
>>>>>>> in combination with Git submodules in a number of larger
>>>>>>> projects and that works nicely.
>>>>>>>
>>>>>>> my question is: could i do something similar with CMake
>>>>>>> modules? is it possible to start with a minimal core
>>>>>>> CMakeLists.txt which would fetch other CMake modules from an
>>>>>>> external public (Git) repository
>>>>>>> and use them to configure the project?
>>>>>>>
>>>>>>> the motivation for this is that we have several projects
>>>>>>> with rather complex CMake infrastructures. the projects
>>>>>>> are independent, live on different repositories, but the
>>>>>>> CMake infrastructures are to a large extent overlapping.
>>>>>>> currently we synchronize the CMake code between these projects
>>>>>>> manually but this is not great and there is the risk that
>>>>>>> the codes will diverge, that wheels will be reinvented,
>>>>>>> and that improvements are not communicated between the projects.
>>>>>>> this could be avoided if the CMake code was not explicitly
>>>>>>> present but fetched from a repository which would also
>>>>>>> enforce (or encourage) communicating all improvements
>>>>>>> to the same place. everything that is generic and not project
>>>>>>> specific would go into that external repo, only project specific
>>>>>>> things would be kept in the minimal core CMakeLists.txt.
>>>>>>>
>>>>>>> i will appreciate any pointers and suggestions
>>>>>>> on how i could implement such a scheme.
>>>>>>>
>>>>>>> thanks and best regards,
>>>>>>>   radovan
>>>>>>> --
>>>>>>>
>>>>>>> Powered by www.kitware.com
>>>>>>>
>>>>>>> Visit other Kitware open-source projects at
>>>>>>> http://www.kitware.com/**
>>>>>>> opensource/opensource.html<****htt**p://www.kitware.com/**
>>>>>>>
>>>>>>>
>>>>>>> opensource/opensource.html<**htt**p://www.kitware.com/**
>>>>>>> opensource/opensource.html<htt**p://www.kitware.com/**
>>>>>>> opensource/opensource.html<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<http://www.cmake.org/Wiki/******CMake_FAQ>
>>>>>>> <http://www.cmake.**org/Wiki/****CMake_FAQ<http://www.cmake.org/Wiki/****CMake_FAQ>
>>>>>>> >
>>>>>>> <http://www.cmake.**org/Wiki/****CMake_FAQ<http://www.cmake.**
>>>>>>> org/Wiki/**CMake_FAQ <http://www.cmake.org/Wiki/**CMake_FAQ>>
>>>>>>> >
>>>>>>> <http://www.cmake.**org/Wiki/****CMake_FAQ<http://www.cmake.**
>>>>>>> org/Wiki/CMake_FAQ <http://www.cmake.org/Wiki/**CMake_FAQ<http://www.cmake.org/Wiki/CMake_FAQ>
>>>>>>> >>
>>>>>>>
>>>>>>>
>>>>>>> >
>>>>>>>
>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>> http://www.cmake.org/mailman/********listinfo/cmake<http://www.cmake.org/mailman/******listinfo/cmake>
>>>>>>> <http://**www.cmake.org/mailman/******listinfo/cmake<http://www.cmake.org/mailman/****listinfo/cmake>
>>>>>>> >
>>>>>>> <http://www.**cmake.org/**mailman/**listinfo/**cmake<http://cmake.org/mailman/**listinfo/**cmake>
>>>>>>> <htt**p://www.cmake.org/mailman/****listinfo/cmake<http://www.cmake.org/mailman/**listinfo/cmake>
>>>>>>> >
>>>>>>> >
>>>>>>> <http://www.**cmake.org/****mailman/listinfo/**cmake<http://cmake.org/**mailman/listinfo/**cmake>
>>>>>>> <http:**//cmake.org/mailman/listinfo/****cmake<http://cmake.org/mailman/listinfo/**cmake>
>>>>>>> >
>>>>>>> <http:**//www.cmake.org/**mailman/**listinfo/cmake<http://www.cmake.org/mailman/**listinfo/cmake>
>>>>>>> <http:**//www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake>
>>>>>>> >
>>>>>>>
>>>>>>


-- 
+1 919 869 8849
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130419/113b735f/attachment-0001.htm>


More information about the CMake mailing list