The package promise-cpp is header only and can be used from CMake via: find_path(PROMISE_CPP_INCLUDE_DIRS "promise-cpp/promise.hpp") target_include_directories(main PRIVATE ${PROMISE_CPP_INCLUDE_DIRS}) Make sure to define the pre-processor macro PROMISE_HEADONLY before including "promise-cpp/promise.hpp": #define PROMISE_HEADONLY #include "promise-cpp/promise.hpp"