I concur: virtualenv is, in my opinion, the way to go when you have several Python installation side-by-side (I think I mention it in the wiki; if not, I should ). I didn't (have to) use it with a Windows, yet, but I think it works there as well.ag123 wrote: ↑Fri Aug 19, 2022 8:58 am
and just to share I'm using python's 'virtual env' currently
https://docs.python.org/3/library/venv.html
https://realpython.com/python-virtual-e ... -a-primer/
In addition, I even use virtualenvwrapper; that lets you simply run
Code: Select all
workon custom_arduino_env
Code: Select all
source /path/to/new/virtualenv/bin/activate
I agree that globbing is convenient, to say the least (they even mention it in the Migration guide),ag123 wrote: ↑Fri Aug 19, 2022 8:58 am I think it is correct to say that the recent CMake versions has matured to address shortfalls for features that are missing in the past, e.g. recursive wildcard directory globs. It is there in some 3.x versions, but not earlier. That'd be necessary and likely used in our context.
This could help in situations where there isn't a 'CMakeList.txt' that commonly defines a cmake 'library' or module (in fact, it is recommended for individual directories). But, the reality "libraries" is in the wild aren't made up with CMakeList.txt, and wildcard pattern globing and recursion are about the means to include entire directory trees / sub-trees in the build.
but it's still officially discouraged (see the doc on the `file()` command). This article explains it well:
... given that the CMake maintainers are so explicit about not globbing, I strongly believe the best thing to do is to list source files explicitly. In general, it is a good idea to avoid doing things that are explicitly unsupported because when you run into problems, the maintainers will simply tell you to fix your code.
Besides, manually listing source files is typically only annoying at the start of a new project, when the code structure is much more fluid. In the steady state, file lists change only occasionally, and the pain of updating a file list is not very great.