[CMake] linking FetchContent library

Craig Scott craig.scott at crascit.com
Thu Apr 11 07:17:56 EDT 2019


(Please continue to CC the mailing list with replies)

On Thu, Apr 11, 2019 at 4:22 PM Stéphane Ancelot <sancelot at numalliance.com>
wrote:

>
> Le 10/04/2019 à 23:03, Craig Scott a écrit :
>
>
>
> On Thu, Apr 11, 2019 at 1:35 AM Stéphane Ancelot <sancelot at numalliance.com>
> wrote:
>
>> Hi,
>>
>> are there any specific Cmake configurations to setup in projects when
>> using fetchcontent.
>>
>> I am able to fetch and build a library but not able to link and include
>> files of this library in another projects.
>>
>> include(FetchContent)
>>
>> FetchContent_Declare(
>>   jconcpp
>>   GIT_REPOSITORY https://github.com/joncol/jcon-cpp.git
>> )
>>
>> FetchContent_Populate(jconcpp)
>> add_subdirectory(${jconcpp_SOURCE_DIR} ${jconcpp_BINARY_DIR})
>>
> add_subdirectory(projA)
>
> Can you provide a complete minimal example which shows the problem? The
> snippet above should bring jsoncpp into your main build, but without seeing
> how you are trying to link to it's targets, it is hard to tell what the
> problem could be.
>
>
> fetchcontent is done in the main CMakeLists.txt
>
> I have a projA dir
>
> projA/CMakeLists.txt
>
> cmake_minimum_required(VERSION 3.10)
> project(proja)
>
> add_executable(proja
>                proja.cpp)
>
> target_link_libraries(proja jconcpp)
>
There is no target in the jcon-cpp project by the name "jconcpp". The only
library I can see in that project is one called "jcon". Note that you need
to link against CMake targets, not against the dependency name used in the
call to FetchContent_Declare().



-- 
Craig Scott
Melbourne, Australia
https://crascit.com

Get the hand-book for every CMake user: Professional CMake: A Practical
Guide <https://crascit.com/professional-cmake/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20190411/112c47b1/attachment.html>


More information about the CMake mailing list