file globbing broken on armhf
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cmake (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Running cmake on ubuntu armhf fails compiler ID detection with errors like:
CMake Error at /usr/share/
list sub-command REMOVE_ITEM requires two or more arguments.
Call Stack (most recent call first):
/usr/share/
/usr/share/
/usr/
/usr/
Looking in more detail, the `file(GLOB ...)`s regularly (though not always?) return empty results. For example, with
#: mkdir -p path/1/2/3
#: cat CMakeLists.txt
file(GLOB p1 "./path/*")
file(GLOB p2 "./path/1/*")
file(GLOB p3 "./path/1/2/*")
message("${p1}: ${p2}: ${p3}")
#: cmake .
.. I see on amd64
/root/./path/1: /root/./path/1/2/: /root/./path/1/2/3
but on ARMHF just
: :
For different choices of path, sometimes I'll get results at some depth but not at others.
tested on Docker amd64/ubuntu:latest and arm32v7/
Hello, I can't reproduce with cmake 3.18 on impish...
CMake Warning (dev) in //CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project( ProjectName)
near the top of the file, but after cmake_minimum_ required( ).
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 10.3.0 required command is present. A line of code such as
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- 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
//./path/1: //./path/1/2: //./path/1/2/3
CMake Warning (dev) in //CMakeLists.txt:
No cmake_minimum_
cmake_ minimum_ required( VERSION 3.18)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /
same with paths created under /foo/
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project( ProjectName)
near the top of the file, but after cmake_minimum_ required( ).
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 10.3.0 required command is present. A line of code such as
-- The CXX compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- 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
/foo/./path/1: /foo/./path/1/2: /foo/./path/1/2/3
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_
cmake_ minimum_ required( VERSION 3.18)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /foo/bar