Naios / continuable

C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)
https://naios.github.io/continuable/
MIT License
815 stars 44 forks source link

CMake install instructions are broken #70

Open Spongman opened 7 months ago

Spongman commented 7 months ago

https://naios.github.io/continuable/installation.html

$ mkdir test; cd test

$ git init
Initialized empty Git repository in /home/user/test/.git/

$ git submodule add https://github.com/Naios/continuable.git
Cloning into '/home/user/test/continuable'...
remote: Enumerating objects: 7442, done.
remote: Counting objects: 100% (308/308), done.
remote: Compressing objects: 100% (138/138), done.
remote: Total 7442 (delta 156), reused 253 (delta 151), pack-reused 7134
Receiving objects: 100% (7442/7442), 1.90 MiB | 8.09 MiB/s, done.
Resolving deltas: 100% (4954/4954), done.

$ ls continuable/
CMakeLists.txt  Findcontinuable.cmake  LICENSE.txt  Readme.md  appveyor.yml  cmake  conanfile.py  dep  doc  examples  include  test  tools

$ cat >> CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
project(foo)    
add_subdirectory(continuable)
find_package(continuable REQUIRED)
add_executable(foo)
target_link_libraries(foo continuable)

$ cmake -S . -B build
CMake Error at continuable/CMakeLists.txt:90 (find_package):
  By not providing "Findfunction2.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "function2", but CMake did not find one.

  Could not find a package configuration file provided by "function2"
  (requested version 4) with any of the following names:

    function2Config.cmake
    function2-config.cmake

  Add the installation prefix of "function2" to CMAKE_PREFIX_PATH or set
  "function2_DIR" to a directory containing one of the above files.  If
  "function2" provides a separate development package or SDK, be sure it has
  been installed.

-- Configuring incomplete, errors occurred!
See also "/home/user/test/build/CMakeFiles/CMakeOutput.log".
Naios commented 7 months ago

Hi, the documentation also states that it requires function2 and it recommends adding both libraries as git submodule (https://naios.github.io/continuable/installation.html#installation-installation-copy):

git submodule add https://github.com/Naios/continuable.git
git submodule add https://github.com/Naios/function2.git

// ...

add_subdirectory(function2)
add_subdirectory(continuable)
Spongman commented 7 months ago

that's not called out in Through CMake. it's not obvious that the instructions listed under "Through CMake" aren't sufficient in themselves.

the documentation could be significantly clearer if it just listed, for each installation method: