Skip to content

Getting things to work with CMake's FetchContent #238

Description

@unindented

In my C++ projects, I'm used to including libraries like googletest and catch2 using FetchContent functionality in CMake:

FetchContent_Declare(
  catch2
  GIT_REPOSITORY https://github.com/catchorg/Catch2.git
  GIT_TAG        v2.10.2
)
FetchContent_MakeAvailable(catch2)

target_link_libraries(mytests PRIVATE myapp Catch2::Catch2)

I haven't been able to get a similar setup working with check. If I do something like this:

FetchContent_Declare(
  check
  GIT_REPOSITORY https://github.com/libcheck/check.git
  GIT_TAG        0.13.0
)
FetchContent_MakeAvailable(check)

target_link_libraries(mytests PRIVATE myapp Check::check)

I get this error:

CMake Error at tests/CMakeLists.txt:10 (add_executable):
  Target "loxtest" links to target "Check::check" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?

What am I doing wrong?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions