[CMake] multiple source directories - solved
pellegrini
pellegrini at ill.fr
Wed Sep 28 07:59:49 EDT 2011
thanks for the hints and your help, guys. Indeed, There was one '..\'
too much in my source files path.
Eric
Andreas Pakulat a écrit :
> On 28.09.11 12:51:53, pellegrini wrote:
>
>> Hi all,
>>
>> I have a project with the following structure:
>>
>> root/
>> CMakeLists.txt
>> prog1/
>> CMakeLists.txt
>> Src/
>> file1.f90
>> prog2/
>> CMakeLists.txt
>> Src/
>> file2.f90
>>
>> where prog1, prog2 are individual projects.
>>
>> I would like to add file1.90 to the build process of prog2. To do
>> so, in the CMakeLists.txt file of prog2 project, I put:
>>
>> set(SOURCES ../../prog1/Src/file1.f90
>> Src/file2.f90)
>> and further
>> add_executable(prog2 ${SOURCES})
>>
>> when compiling with CMake I get the following error:
>>
>> ##############################################
>> CMake Error at CMakeLists.txt:35 (add_executable):
>> Cannot find source file:
>>
>> ../../prog1/Src/file1.f90
>>
>> Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm
>> .hpp .hxx .in .txx
>> ###############################################
>>
>> It seems that CMake cna not deal with relative path when declaring
>> the sources for a project.
>>
>
> Relative paths work just fine, but your expecting a different base-path
> than cmake is. In the above example the current directory when
> assembling the sources is root/prog2 not root/prog2/Src which you seem
> to assume. Hence you have one ".." too much in your set-line. This
> should work:
>
> set( SOURCES ../prog1/Src/file1.f90 Src/file2.f90 )
>
> Andreas
>
> --
>
> 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
>
--
Eric Pellegrini
Calcul Scientifique
Institut Laue-Langevin
Grenoble, France
More information about the CMake
mailing list