[CMake] Fwd: GLOB_RECURSE

Michael Hennebry michael.hennebry at rivieranexus.com
Wed Jul 25 21:57:17 EDT 2018


---------- Forwarded message ----------
From: Michael Hennebry <michael.hennebry at rivieranexus.com>
Date: Wed, Jul 25, 2018 at 8:55 PM
Subject: Re: [CMake] GLOB_RECURSE
To: Andrew Bell <andrew.bell.ia at gmail.com>


I'd thought I was clear.
I want two lists of files, one from each of two directory trees.
Maybe GLOB_RECURSE does not do that.
If not, I can live without.

What does it do?

Maybe you have used cmake long enough for the answer to be obvious.
I have to read documentation or ask people.
The former has not been all that helpful.

What I have been getting is what appears to be the same list twice.
It includes files from three directory trees.

On Wed, Jul 25, 2018 at 8:19 PM, Andrew Bell <andrew.bell.ia at gmail.com> wrote:
> Michael,
>
> It's not clear what you're asking. You need to say what you're trying to
> achieve, your expected result, and the result that you believe incorrect.
>
> On Wed, Jul 25, 2018, 9:02 PM Michael Hennebry
> <michael.hennebry at rivieranexus.com> wrote:
>>
>> frodak wrote:
>> I think you want to try for absolute paths:
>> file (GLOB_RECURSE ards ./ArduinoCore/src/*.cpp ./ArduinoCore/src/*.c)
>> file (GLOB_RECURSE apps ./SensorUnit/*.cpp ./SensorUnit/*.c)
>>
>> relative paths from those directories:
>> file (GLOB_RECURSE ards RELATIVE  ./ArduinoCore/src/
>> ./ArduinoCore/src/*.cpp ./ArduinoCore/src/*.c)
>> file (GLOB_RECURSE apps RELATIVE ./SensorUnit/ ./SensorUnit/*.cpp
>> ./SensorUnit/*.c)
>> :frodak
>>
>> I do not understand either your constructions or mine.
>> I do not know how cmake interprets any of them,
>> nor how anyone would know.
>> What documentation I can find, cmake.org, has not been helpful..
>>
>> Mike
>>
>>
>> On Wed, Jul 25, 2018 at 7:02 PM, frodak <frodak17 at gmail.com> wrote:
>> > I think you want to try for absolute paths:
>> > file (GLOB_RECURSE ards ./ArduinoCore/src/*.cpp ./ArduinoCore/src/*.c)
>> > file (GLOB_RECURSE apps ./SensorUnit/*.cpp ./SensorUnit/*.c)
>> >
>> > relative paths from those directories:
>> > file (GLOB_RECURSE ards RELATIVE  ./ArduinoCore/src/
>> > ./ArduinoCore/src/*.cpp
>> > ./ArduinoCore/src/*.c)
>> > file (GLOB_RECURSE apps RELATIVE ./SensorUnit/ ./SensorUnit/*.cpp
>> > ./SensorUnit/*.c)
>> >
>> >
>> >
>> > On Wed, Jul 25, 2018 at 6:47 PM, Michael Hennebry
>> > <michael.hennebry at rivieranexus.com> wrote:
>> >>
>> >> Emphasis on curse.
>> >>
>> >> from CMakeLists.txt:
>> >>
>> >> file (GLOB_RECURSE ards ./ArduinoCore/src *.cpp *.c)
>> >> file (GLOB_RECURSE apps ./SensorUnit *.cpp *.c)
>> >>
>> >> message("apps:;${apps};:apps")
>> >> message("ards:;${ards};:ards")
>> >>
>> >> Both lists have ArduinoCore and SensorUnit sources.
>> >> They both have precisely 57 entries.
>> >> They both have three entries from sb-build.
>> >>
>> >> What is going on?
>> >>
>> >> From the siblings' parent:
>> >> $ ls -F
>> >> ArduinoCore/    SensorUnit/              generic-gcc-avr.cmake
>> >> CMakeLists.txt  from-build-directory.sh  sb-build/
>> >>
>> >> I tried RELATIVE.
>> >> I tried replacing the dot with ${CMAKE_SOURCE_DIR}.
>> >> All to no avail.
>> >>
>> >> I'm stumped.
>> >> --
>> >>
>> >> Powered by www.kitware.com
>> >>
>> >> Please keep messages on-topic and check the CMake FAQ at:
>> >> http://www.cmake.org/Wiki/CMake_FAQ
>> >>
>> >> Kitware offers various services to support the CMake community. For
>> >> more
>> >> information on each offering, please visit:
>> >>
>> >> CMake Support: http://cmake.org/cmake/help/support.html
>> >> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> >> CMake Training Courses: http://cmake.org/cmake/help/training.html
>> >>
>> >> Visit other Kitware open-source projects at
>> >> http://www.kitware.com/opensource/opensource.html
>> >>
>> >> Follow this link to subscribe/unsubscribe:
>> >> https://cmake.org/mailman/listinfo/cmake
>> >
>> >
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> https://cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list