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 Zach Pearson, 3 years ago

Owner: set to Zach Pearson
Status: newassigned

comment:2 by Greg Couch, 3 years ago

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.

comment:3 by Zach Pearson, 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 pett, 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 Zach Pearson, 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.

Note: See TracTickets for help on using tickets.