Skip to content

Demo example tool_1 fails to configure on second run  #22

@daixtrose

Description

@daixtrose

Environment

  • WSL2 on Windows 10
  • Linux [...] 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • cmake version 3.27.4

Steps to reproduce

git clone https://github.com/dep-heaven/tool_1
cd tool_1
mkdir build
cd build/
cmake ..

The last call populates the dependencies to ws

rm -rf *
cmake ..

CMake fails with

...
==> Toplevel: lib_A_SOURCE_DIR = ''
Catch path is '/extras'
CMake Error at test-catch/CMakeLists.txt:7 (include):
  include could not find requested file:

    Catch


-- DEFINE_UNIT_TEST_NAME = test_tool_1
-- DEFINE_UNIT_TEST_FILES = ../src/fn.cpp;test_main.cpp;test_tool_1.cpp
CMake Error at test-catch/CMakeLists.txt:51 (catch_discover_tests):
  Unknown CMake command "catch_discover_tests".


-- Configuring incomplete, errors occurred!

Full sequence of a failure

user@jost:~/PROJECT/tool_1/build$ cmake ..
-- Resolving dependencies of project /home/markus/PROJECT/tool_1
-- Checking dependency 'lib_A': https://github.com/dep-heaven/lib_A @ master-yoda
-- Initializing in '/home/markus/PROJECT/tool_1/ws/lib_A'
-- Checking dependency 'lib_B': https://github.com/dep-heaven/lib_B @ master-yoda
-- Initializing in '/home/markus/PROJECT/tool_1/ws/lib_B'
-- Checking dependency 'libFreeAssange': https://github.com/dep-heaven/libFreeAssange @ belmarsh
-- Initializing in '/home/markus/PROJECT/tool_1/ws/libFreeAssange'
-- Checking dependency 'catch2': https://github.com/catchorg/Catch2 @ v2.x
-- Initializing in '/home/markus/PROJECT/tool_1/ws/catch2'
-- Checking dependency 'fmt': https://github.com/fmtlib/fmt @ master
-- Initializing in '/home/markus/PROJECT/tool_1/ws/fmt'
-- Resolving dependencies of project /home/markus/PROJECT/tool_1/ws/lib_A
-- Checking dependency 'catch2': https://github.com/catchorg/Catch2 @ v2.x
-- Checking dependency 'fmt': https://github.com/fmtlib/fmt @ master
-- {fmt} version: 10.2.2
-- Build type: 
-- Resolving dependencies of project /home/markus/PROJECT/tool_1/ws/lib_B
-- Checking dependency 'libFreeAssange': https://github.com/dep-heaven/libFreeAssange @ wikileaks
-- Dependency 'libFreeAssange @ wikileaks' is overridden with 'libFreeAssange @ belmarsh'
-- Checking dependency 'catch2': https://github.com/catchorg/Catch2 @ v2.x
-- Checking dependency 'fmt': https://github.com/fmtlib/fmt @ master
-- Resolving dependencies of project /home/markus/PROJECT/tool_1/ws/libFreeAssange
-- Checking dependency 'catch2': https://github.com/catchorg/Catch2 @ v2.x
-- Checking dependency 'fmt': https://github.com/fmtlib/fmt @ master
WARNING! Something is still wrong here!
   RepoMan should populate selected name, not original name
==> Toplevel: catch2_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/catch2'
==> Toplevel: Catch2_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/catch2'
==> Toplevel: lib_a_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/lib_A'
==> Toplevel: lib_A_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/lib_A'
Catch path is '/home/markus/PROJECT/tool_1/ws/catch2/extras'
-- DEFINE_UNIT_TEST_NAME = test_tool_1
-- DEFINE_UNIT_TEST_FILES = ../src/fn.cpp;test_main.cpp;test_tool_1.cpp
-- Dependencies:
--     lib_A @ master-yoda
--     lib_B @ master-yoda
--     libFreeAssange @ belmarsh, chosen from [belmarsh, wikileaks]
--     catch2 @ v2.x, chosen from [v2.x, v2.x, v2.x, v2.x]
--     fmt @ master, chosen from [master, master, master, master]
-- Configuring done (16.7s)
-- Generating done (0.0s)
-- Build files have been written to: /home/markus/PROJECT/tool_1/build
user@jost:~/PROJECT/tool_1/build$ rm -rf *
user@jost:~/PROJECT/tool_1/build$ cmake ..
-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Resolving dependencies of project /home/markus/PROJECT/tool_1
-- Checking dependency 'lib_A': https://github.com/dep-heaven/lib_A @ master-yoda
-- Dependency 'lib_A': ok (master-yoda)
-- Checking dependency 'lib_B': https://github.com/dep-heaven/lib_B @ master-yoda
-- Dependency 'lib_B': ok (master-yoda)
-- Checking dependency 'libFreeAssange': https://github.com/dep-heaven/libFreeAssange @ belmarsh
-- Dependency 'libFreeAssange': ok (belmarsh)
-- Checking dependency 'catch2': https://github.com/catchorg/Catch2 @ v2.x
-- Dependency 'catch2': ok (v2.x)
-- Checking dependency 'fmt': https://github.com/fmtlib/fmt @ master
-- Dependency 'fmt': ok (master)
WARNING! Something is still wrong here!
   RepoMan should populate selected name, not original name
==> Toplevel: catch2_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/catch2'
==> Toplevel: Catch2_SOURCE_DIR = ''
==> Toplevel: lib_a_SOURCE_DIR = '/home/markus/PROJECT/tool_1/ws/lib_A'
==> Toplevel: lib_A_SOURCE_DIR = ''
Catch path is '/extras'
CMake Error at test-catch/CMakeLists.txt:7 (include):
  include could not find requested file:

    Catch


-- DEFINE_UNIT_TEST_NAME = test_tool_1
-- DEFINE_UNIT_TEST_FILES = ../src/fn.cpp;test_main.cpp;test_tool_1.cpp
CMake Error at test-catch/CMakeLists.txt:51 (catch_discover_tests):
  Unknown CMake command "catch_discover_tests".


-- Configuring incomplete, errors occurred!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions