[CMake] External project source

Eric Noulard eric.noulard at gmail.com
Mon Feb 13 03:15:17 EST 2012


2012/2/13 Nicholas Yue <yue.nicholas at gmail.com>:
> On 13/02/12 6:47 PM, Eric Noulard wrote:
>>
>> 2012/2/13 Nicholas Yue<yue.nicholas at gmail.com>:
>>>
>>> Hi,
>>>
>>>    There is an existing project I have access to that already have CMake
>>> configuration file but the way it is written requires alot of
>>> preprocessing
>>> steps (python, shell etc) before it is usable.
>>>
>>>    I wanted to investigate a cleaner (truer to CMake original design
>>> purpose) usage of CMake,
>>>
>>>    So, I have an  original-project directory which contains both the
>>> source
>>> and the CMakeLists.txt in a nested directory structure.
>>>
>>>    I want to create my own CMake hierarchy (structure the same way) but
>>> reference the source code in the original-project directory location.
>>>
>>>    How do I tell CMake to refer to source code at some other top level
>>> directory as a starting point.
>>>
>>>    Is there such a concept in CMake ?
>>
>> I am not sure to fully understand you request but in a CMakeLists.txt
>> you can perfectly
>> refer to source located outside the directory the CMakeLists.txt is in,
>> you can use either relative or absolute path and do something like:
>>
>> add_executable(NiceTarget ../../relpath/to/source.c
>> ${CMAKE_SOURCE_DIR}/abspath/to/another.c)
>
> Yes, I know I can do that. I am hoping to avoid maintaining a hierarchy of
> such modification.
>
> There are 42 CMakeLists.txt files each with multiple libraries, test and
> such.

I see...

> I was hoping there is a way to (assuming I maintain the same hierarchy) tell
> CMake to start looking for source from some other top level directory 'once'
> and it will be able to find the source in the 'other' location that is
> different to my 'cleaned-up' version of CMakeLists.txt

I'm afraid there isn't such a feature with CMake.
If I'm wrong I'm sure somebody will step in and explain the nasty
possibly undocumented feature you can use but I doubt it.


-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list