Opened 3 years ago
Last modified 3 years ago
#6916 assigned enhancement
RFE: (On Windows) Get ChimeraX icon information from the build system
Reported by: | Zach Pearson | Owned by: | Zach Pearson |
---|---|---|---|
Priority: | moderate | Milestone: | |
Component: | Build System | Version: | |
Keywords: | Cc: | chimerax-programmers | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
It's possible to get all of the ChimeraX binary's build information from the build system.
The binary is currently always built at the same time as the core, so the year can be sourced from the shell.
When we build ChimeraX for distribution, we also know what kind of build we're making and so we don't need to source it from geticoninfo.py. If the build system's BUILD_TYPE
variable is not 'production', we know to set FLAGS = VS_FF_PRERELEASE
.
We could also pass the distribution version into the build system through a variable such as CX_DIST_VER.
PRODVER
and VER
can both be set based on that. My idea is to set VER to CX_DIST_VER, and to format PRODVER correctly insert the following code:
PRODVER_MAJOR = $(word 1,$(subst ., ,$(CX_DIST_VER))) PRODVER_MINOR = $(word 2,$(subst ., ,$(CX_DIST_VER))) PRODVER_PATCH = $(word 3,$(subst ., ,$(CX_DIST_VER))) ifeq ($(PRODVER_PATCH),) PRODVER_PATCH = 0 endif PRODVER = $(PRODVER_MAJOR),$(PRODVER_MINOR),$(PRODVER_PATCH),0
This I think is step one to untangle the ChimeraX-chimerax.core
dependency.
Change History (5)
comment:1 by , 3 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 3 years ago
comment:3 by , 3 years ago
It's necessary but not sufficient, and does not have any effect on the way that ChimeraX would display its user-facing version number.
comment:4 by , 3 years ago
Decoupling the core version number from the release version number has some other ramifications and therefore does require discussion. For instance, currently the Toolshed only knows what version of ChimeraX a bundle is compatible with by looking at the core dependency.
comment:5 by , 3 years ago
I can see how this could be delayed, I don't think it's the thing that should be done first. But I appreciate both of you for entertaining the discussion. I think I have to open a ticket for each separate issue and see what the immediate blockers are so I can order them properly, don't mean to spam our mailing list.
This is just an end around separating the ChimeraX core package's version number from ChimeraX's version number without stating that fact. If that doesn't happen first, then this is moot. As for the implementation details, it will still be more robust to use a Python script, but the idea of "get[ting] all of the ChimeraX binary's build information from the build system" is sound.