graaf is header-only and can be used from CMake via: find_path(GRAAF_INCLUDE_DIRS "graaflib/graph.h") target_include_directories(main PRIVATE ${GRAAF_INCLUDE_DIRS})