sudara / melatonin_inspector

A JUCE module that gives you the ability to inspect and visually edit (non-destructively) components in your UI.
MIT License
145 stars 17 forks source link

Infinite re-globbing on CMake build on clean checkout #115

Closed luisldq closed 4 months ago

luisldq commented 4 months ago

After a clean checkout, cmake configure works fine, but build gives me an infinite re-glob. I'm sure I'm doing something wrong!


[main] Configuring project: melatonin_inspector 
[proc] Executing command: /Applications/CMake.app/Contents/bin/cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -S/Users/ldq/Audialab/melatonin_inspector -B/Users/ldq/Audialab/melatonin_inspector/build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Cloning JUCE...
[cmake] -- Configuring juceaide
[cmake] -- Building juceaide
[cmake] -- Exporting juceaide
[cmake] -- Testing juceaide
[cmake] -- Finished setting up juceaide
[cmake] -- Configuring done (2.4s)
[cmake] -- Generating done (0.0s)
[cmake] -- Build files have been written to: /Users/ldq/Audialab/melatonin_inspector/build
[build] Starting build
[proc] Executing command: /Applications/CMake.app/Contents/bin/cmake --build /Users/ldq/Audialab/melatonin_inspector/build --config Debug --target all --
[build] [1/2   0% :: 0.001] Re-checking globbed directories...
[build] -- GLOB mismatch!
[build] [2/2  50% :: 0.188] Re-running CMake...
[build] -- Cloning JUCE...
[build] -- Configuring juceaide
[build] -- Building juceaide
[build] -- Exporting juceaide
[build] -- Testing juceaide
[build] -- Finished setting up juceaide
[build] -- Configuring done (2.0s)
[build] -- Generating done (0.0s)
[build] -- Build files have been written to: /Users/ldq/Audialab/melatonin_inspector/build
[build] [1/2   0% :: 0.001] Re-checking globbed directories...
[build] -- GLOB mismatch!
[build] [2/2  50% :: 0.187] Re-running CMake...
[build] -- Cloning JUCE...
[build] -- Configuring juceaide
[build] -- Building juceaide
[build] -- Exporting juceaide
[build] -- Testing juceaide
[build] -- Finished setting up juceaide
[build] -- Configuring done (2.2s)
[build] -- Generating done (0.0s)
[build] -- Build files have been written to: /Users/ldq/Audialab/melatonin_inspector/build
[build] [1/2   0% :: 0.000] Re-checking globbed directories...
[build] -- GLOB mismatch!
[build] [2/2  50% :: 0.154] Re-running CMake...
[build] -- Cloning JUCE...
[build] -- Configuring juceaide
[build] -- Building juceaide
[build] -- Exporting juceaide
[build] -- Testing juceaide
[build] -- Finished setting up juceaide
[build] -- Configuring done (2.1s)
[build] -- Generating done (0.0s)
[build] -- Build files have been written to: /Users/ldq/Audialab/melatonin_inspector/build
[build] [1/2   0% :: 0.000] Re-checking globbed directories...
[build] -- GLOB mismatch!
[build] [2/2  50% :: 0.155] Re-running CMake...
[build] -- Cloning JUCE...
[build] -- Configuring juceaide
[build] -- Building juceaide
[build] -- Exporting juceaide
[build] -- Testing juceaide
[build] -- Finished setting up juceaide
[build] -- Configuring done (2.2s)
[build] -- Generating done (0.0s)
[build] -- Build files have been written to: /Users/ldq/Audialab/melatonin_inspector/build
[build] [1/2   0% :: 0.001] Re-checking globbed directories...
[build] -- GLOB mismatch!
[build] [2/2  50% :: 0.167] Re-running CMake...
[build] -- Cloning JUCE...```
sudara commented 4 months ago

It's not you!

Short story: to run the repo at the top level, you'll need to avoid Ninja as a generator as JUCE's juceaide has a quirk where it doesn't support modules with top level code (it runs some globs which ninja chokes on recursively).

This probably needs some docs around it, but there's also very little need to run the inspector outside the context of a project (unless you plan on contributing some tests?...).

There's history here and a discussion with the JUCE team.

luisldq commented 4 months ago

Thank you!!! Unix Makefiles to the rescue!

Indeed, I was trying to build this module because I created my own module using your pattern and got the infinite re-glob, so I tried it in this repo to make sure it wasn't anything I was doing, hence the message :-)