On 2/16/22 3:20 PM, Ted Felix wrote:
Wow, thanks for tracking all this down.
Thanks for the 3 decades of work that's gone into Rosegarden. :)
#4 seems best to me. So something like:
if(NOT ${CMAKE_VERSION} VERSION_LESS "3.13.0")
target_link_directories(rosegardenprivate
PUBLIC
${rg_OPTIONAL_LIB_DIRS}
)
endif()
Feel free to fork, make the change, test and send a merge request.
Will do. I had temporarily commented out the code in my working tree
despite being concerned about what the rg_OPTIONAL_LIB_DIRS are used
for. But if you're okay with ignoring them for cmake < 3.13.0 builds,
let's go for it.
You can also use the repo at github if you prefer.
https://github.com/tedfelix/rosegarden-official
Good to know. I have accounts on both sites but am a little more
comfortable using GitHub. At least until Microsoft decides to fully
assimilate it into Visual Studio and make it difficult or impossible to
use from other platforms. ;)
As for the Qt issue, that's my fault. Thanks for catching it. I
will fix it. We'll stay with supporting older Qt as we do have users
that need this.
That's a big relief. I had actually upgraded my cmake to solve the issue
there. (It wasn't trivial because my somewhat out-of-date distro doesn't
have a newer package available, but I cobbled something together.)
Qt was going to be a much bigger problem. Cmake has very few things
which rely on it, and it's only used for compiling code. I have 240
packages which depending on the Qt5 shared libs -- many of them critical
binaries in constant daily use -- so the chances of breaking my system
by hacking in an unsupported upgrade were significant.
I had figured your use of the new Qt (and cmake) features was
intentional or at least in accordance with development policies. Good to
know you're "holding the line" on dependency version-itis as long as
possible (breakage will eventually be forced by something or other).
I'd also hacked in things like:
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
if (path2.back() != '/')
#else
if (path2[path2.size() - 1] != '/')
#endif
In the case of QString::back() and front() there's obviously not much
difference between using them vs their older operator[](int) or at(int)
substitutes. The source would be a little more readable, but I'd be
willing to bet that g++ compiles to the same executable code at anything
above -O0. But if you were going start using new features that were more
complex I wasn't looking forward to patching my local copies each time I
updated from the repository, or alternately begging you to accept a
merge with a bunch of ugly/obfuscating conditional compilation blocks.
Keep building with the older tools if you don't mind. Then we can
count on you to catch our mistakes.
Will do. I'll downgrade my cmake back to 3.10.2, stick with my libQt5*
5.9.7 version, and report back with any problems I come across.
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel