Thanks a lot for these tests and feedbacks, they are very useful.
Python is not required to build Slicer. If you get a build error when Python is turned off then that is a bug that we’ll fix. It would be nice if you could submit a bug report to track it.
vtkAddon is a required dependency. Have you somewhere disabled vtkAddon? Or it was missed from some extension/module template or the custom application template?
Making some parameters modifiable without rebuild or even starting from a clean build may require very significant amount of development work. In cases where the parameter is not meant to be frequently modified, requiring a rebuild is reasonable.
Do you have a good use case for frequently changing the application name? Do you find that a top-level build after changing the CMake variable is not sufficient to change the application name?
In fact, I may help users develop different slicer-based software, but the basic functions of these software are the same, and of course there are some things that need to be changed.
And the name of each software is different, because it is developed for different users, but in order to change the name of the software, I need to recompile the whole program, which is really a waste of time.
I tried to change the cmake file, but it didn’t work.
thanks for the feedback on your use cases @slicer365.
An alternative to consider is different launch scripts for different customized Slicer versions. The launch script can have a custom name, but re-use the Slicer system under the hood. If people develop only using Python they don’t even need to compile Slicer at all.
It’s true that rebuilding from scratch can be time consuming, but adding more configuration options makes it harder to test and therefore more likely that people will experience build failures.
In this case I would recommend to maintain a separate build tree for each application.
If you need very fast build then you can consider switching to use Linux, as default build tools on Linux can do parallel builds correctly and very efficiently. With a 3-year-old computer with i9 CPU and fast disk, Slicer is built from scratch (not a rebuild but a clean build from source, with all dependencies) in 30 minutes. Rebuild after some CMake variable changes may take a minute or so.
I don’t think there should be a build option for it, as it contains code that should be part of VTK, which is a required dependency. @jcfr is there a specific reason for having a Slicer_BUILD_vtkAddon build option?