1. 11

  2. 5

    Seems like a reasonably fair comparison without any too contrived examples.

    Globbing is usually avoided in CMake because it is a build system generator (the problem is who knows when a source file as added or removed).

    In the dependency support section it might be better to use imported targets from “modern CMake” (and if the package is required, generation will fail if it is not found). Something like:

    add_executable(test main.c)
    find_package(OpenSSL REQUIRED)
    target_link_libraries(test PRIVATE OpenSSL::SSL)
    find_package(ZLIB REQUIRED)
    target_link_libraries(test PRIVATE ZLIB::ZLIB)

    Incidentally, I believe if you use the cmake_paths generator with Conan the above should work there as well, which has the benefit (depending on your use case) of making the CMake script independent of the package manager.