[Interest] how to manage app "editions" with dependencies?

David M. Cotter dave at kjams.com
Tue Jun 2 18:40:14 CEST 2020


my app ("kJams") has multiple "editions".  consumer, pro, and superpro, named "Lite", "Pro", and "2", respectively.  (i know the names are dumb, please let's not talk about that part)

each edition has debug and release configs.  and each config can be 32 or 64bit.

that's 12 unique configs.

but then they also have a dependency on a library created separately.  that lib (called "CFLite", unrelated to the "Lite" edition of the app above) comes in debug and release, and 32 and 64bit editions.

so my app configs look like this:




my library configs:


and the dependency for the app looks like this:

the problem as you can imagine is that if i've recently selected to build the 32bit "CFLite" but then switch to my app and select the 64bit version, when i go to build, there's no awareness of WHICH EDITION of the library to build.

to wit:
> 09:33:54: Running steps for project CFLite_win...
> 09:33:54: Starting: "C:\Users\davec\Developer\Qt\5.15.0\msvc2019\bin\qmake.exe" Z:\CF\opencflite-476.17.2\Qt\CFLite\CFLite_win.pro -spec win32-msvc "CONFIG+=debug" "TARGET=\"CFLite Debug\""
> Project MESSAGE: ------------------------------
> Project MESSAGE: Windows
> Project MESSAGE: build_type: debug
> Project MESSAGE: target: CFLite Debug (32bit)
> 09:33:58: The process "C:\Users\davec\Developer\Qt\5.15.0\msvc2019\bin\qmake.exe" exited normally.
> 09:33:58: Starting: "C:\Users\davec\Developer\Qt\Tools\QtCreator\bin\jom.exe" -f "Z:/CF/opencflite-476.17.2/Qt/win_32-CFLite Debug/Makefile" qmake_all
> 
> jom 1.1.3 - empower your cores
> 
> 09:33:58: The process "C:\Users\davec\Developer\Qt\Tools\QtCreator\bin\jom.exe" exited normally.
> 09:33:58: Starting: "C:\Users\davec\Developer\Qt\Tools\QtCreator\bin\jom.exe" 
> 09:33:58: The process "C:\Users\davec\Developer\Qt\Tools\QtCreator\bin\jom.exe" exited normally.
> 09:33:58: Running steps for project kJams_win...
> 09:33:58: Starting: "C:\Windows\system32\cmd.exe" /c python pre_build_kjams_qt.py 64 kJams 2 Debug
> deleting: kJams 2 Debug
> 09:33:59: The process "C:\Windows\system32\cmd.exe" exited normally.
> 09:33:59: Starting: "C:\Users\davec\Developer\Qt\5.15.0\msvc2019_64\bin\qmake.exe" Z:\kJams\Development\qt\kJams\kJams_win.pro -spec win32-msvc "CONFIG+=debug" "TARGET=\"kJams 2 Debug\"" DEFINES+=kDEBUG DEFINES+=KJAMS_PRO DEFINES+=KJAMS_2
> Project MESSAGE: ------------------------------
> Project MESSAGE: build_type: debug
> Project MESSAGE: kJams 2 Debug 64bit

note above when i went to build "kJams 2" "debug" "64bit" that the DEPENDENCY decided to build the 32bit version of the library.

i filed this bug here:
https://bugreports.qt.io/browse/QTCREATORBUG-22619?filter=-2

but they told me "this is too hard.  just change the names of your configs"

but if you've been paying attention, you know that i CAN'T change the config names, because they are critical to getting the results that i need (they build very different versions of the app) (lots of build options are dependent on the build config name)

so my Q is:
what's the point of allowing unlimited number of custom build configuration, and also allowing dependencies, if the only ones actually supported are ones where have perfectly synced names?

how can i possibly accomplish what i want?

-dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200602/8db8d955/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: app.png
Type: image/png
Size: 24209 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200602/8db8d955/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cflite library.png
Type: image/png
Size: 13227 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200602/8db8d955/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2019-06-25 at 7.46.44 PM.png
Type: image/png
Size: 15907 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200602/8db8d955/attachment-0002.png>


More information about the Interest mailing list