[CMake] add_subdirectory and build directory

Pierre-Julien Villoud PVilloud at movea.com
Fri Sep 11 11:34:26 EDT 2009


Hi and thanks for your answer...

Here is the ouput : 

I'm building A : My CMakelists.txt is in C:/A

-- Configuring done
-- Generating done
-- Build files have been written to: C:/A/Debug
==============Building A==============
[  0%] Built target CMake
Scanning dependencies of target B
[  4%] Building CXX object C:/B/CMakeFiles/B.dir/B.cpp.obj
Linking CXX static library C:\lib\libB.a
[  4%] Built target B
Linking CXX shared module C:\bin\A.dll
[100%] Built target A

Then I'm building B : My CMakeLists.txt is in C:/B

-- Configuring done
-- Generating done
-- Build files have been written to: C:/B/Debug
==============Building B==============
[  0%] Built target CMake
Scanning dependencies of target B
[100%] Building CXX object CMakeFiles/B.dir/B.cpp.obj
Linking CXX static library C:\lib\libB.a
[100%] Built target B


Any clues ?

@Michael : I did not look at your long and precise answer (thank you very much for it BTW) but it seems quite complicated !! How are you managing your dependencies ?

Thank you for your help !



-----Message d'origine-----
De : Marcel Loose [mailto:loose at astron.nl] 
Envoyé : vendredi 11 septembre 2009 16:30
À : Pierre-Julien Villoud
Cc : cmake at cmake.org
Objet : Re: [CMake] add_subdirectory and build directory

Hi Pierre-Julien,

Are you sure it's rebuilding? CMake (or 'make' actually), prints a lot
of messages "Built target ..." even if no compilation was needed.
However, if you also see messages like "Building ..." then it is
actually rebuilding.

Without an example of the output of your build, it is hard to judge
what, if anything, is going wrong.

Best regards,
Marcel Loose.

On Fri, 2009-09-11 at 15:12 +0200, Pierre-Julien Villoud wrote:
> Hi everyone, 
> 
>  
> 
> After unsuccessfully looking for an answer on Google, I contact you.
> 
> I have a question regarding the use of add_subdirectory. When a
> project A is depending on a project B, I add the following in A's
> CMakeLists.txt : 
> 
>  
> 
> Add_subdirectory(B Path/To/B/Build/Directory)
> 
>  
> 
> It does build B before A. But when I build B in its build directory
> and I build A after, it builds B again whereas it should not since B
> is up to date.
> 
>  
> 
> Anyone sees what's wrong ?
> 
>  
> 
> Thanks in advance
> 
>  
> 
> Pierre-Julien VILLOUD
> 
> 
> _______________________________________________
> 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



More information about the CMake mailing list