Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cura 8640 PyQt6 upgrade #17

Merged
merged 25 commits into from
Apr 14, 2022
Merged

Cura 8640 PyQt6 upgrade #17

merged 25 commits into from
Apr 14, 2022

Conversation

jellespijker
Copy link
Member

@jellespijker jellespijker commented Apr 12, 2022

Because we are switching to Qt6 we also needed to update SIP to 5.0+
SIP5+ builds en generate the code using a new process and executable. We had a lot of trouble linking the sip generated binaries on all three systems using the QGIS CMake Macro's so we decided to let sip only generate the C++ source code from the sip files and leave compiling and linking in the CMake domain. This is achieved by using our own CMakebuilder.py which is then used by sip-build instead of its shipped builder. This Cmakebuilder is basically the same in every respect except the call to the build function has been removed.

Make sure that sip-build is installed and that it is added to the PYTHONPATH

In order to get this to work on our build-system and working for all three OSes we did a shit tons of boy scouting in our cmake. We removed old methods with variables and try to be consisted in a target-based approach. The idea is that we don't patch stuff down the line, but that the install should place everything with desired rpaths for each project.

Removed the find_packages for the C++ libraries, since these fall outside of the responsibility of a consuming project in general, especially since these dependencies output their own find_package module. Just make sure the CMAKE_PREFIX_PATH is set correctly and if that fails the <Packagename>_ROOT should point to the correct root folder of that dependency.

Part of

Fixes

Todo

  • Update Readme. But maybe best done in a separate ticket to prioritize with our other work for the 5.0 release

[email protected] and others added 20 commits March 4, 2022 16:52
These allow for a uniform way of handling rpath,
threads etc.

Contributes to CURA-8640
Although not needed at run-time, it is needed for freeze time,
such that cx-freeze can find it.

Contributes to CURA-8640
Contributes to CURA-8640
../lib is an symlink to ../Resources/lib/

Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
We don't want to set a new variable with as name the current PYTHONPATH. We want to set the PYTHONPATH itself.

Contributes to issue CURA-8640.
Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
Contributes to CURA-8640
CMakeLists.txt Outdated Show resolved Hide resolved
cmake/StandardProjectSettings.cmake Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
cmake/StandardProjectSettings.cmake Outdated Show resolved Hide resolved
cmake/StandardProjectSettings.cmake Show resolved Hide resolved
Allready taken care of in StandardProjectSettings

Contributes to CURA-8640
codestyle

Contributes to CURA-8640
BUILD_STATIC was our own custom option while
BUILD_SHARED_LIBS is a global CMake flag

Contributes to CURA-8640
@Ghostkeeper Ghostkeeper merged commit 27cd7f6 into 5.0 Apr 14, 2022
@jellespijker jellespijker deleted the CURA-8640_PyQt6_upgrade branch April 14, 2022 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants