Skip to content
This repository has been archived by the owner on Dec 9, 2022. It is now read-only.

[WIP] Rework cura-build to separate dependencies and provide signing targets #75

Merged
merged 104 commits into from
Feb 16, 2017

Conversation

awhiemstra
Copy link
Contributor

@awhiemstra awhiemstra commented Jul 28, 2016

This is a work in progress branch that has not completely been finished and should not yet be merged. This pull request is mostly a heads-up and RFC.

This work separates cura-build into pieces that should be released together and the dependencies of those pieces. The dependencies have been moved to the cura-build-environment repository. Cura-build now properly checks to see if its dependencies are available. In addition, a lot of refactoring has been done on the actual CMakeLists. We now separate the projects to build into separate files that describe the project. In addition, there are now separate files for packaging and signing.

For Linux, this creates a binary executable with cx_Freeze. This means we no longer depend on the system's python interpreter. In addition, this produces an AppImage as final package rather than a Debian package. See appimage.org for more details on the format. The AppImage generation is not yet fully tested, so there might still be issues there. For OSX, this now also uses cx_Freeze for creating the binary. Some work has been done on using OSX's codesign tool to sign the binaries, but this has proven more tricky than expected since the codesign tool has issues.

Still todo for this branch:

  • Documentation
  • Windows support
  • Verify AppImage on different Linux versions.

awhiemstra and others added 30 commits July 14, 2016 01:49
This way we can much more easily add find files for other modules
Since otherwise we get errors about undefined targets because Cura is
included before its dependency Uranium.
Since 4.3 dumps all library files into the root dir
This way we do not need to manually copy all those libraries
Since we do not really need the complicated macro
thopiekar and others added 28 commits October 27, 2016 19:47
Useful when it is needed to add private sources into the build.
Now finally signs Cura.exe, CuraEngine.exe and the installer.
As we can't make the sign command depend on the "package" target as it
is an built-in command, you'll need to execute "sign_installer" here.

Contributes to CURA-2150
Contributes to CURA-2473
We only need the protobuf compiler to generate our Arcus binding. No
need for the protobuf Python module.

Contributes to CURA-2150
Contributes to CURA-2150
In Py2Exe we had to care about adding additional libraries for NumPy.
Now cx_Freeze does this job for us.

Contributes to CURA-2150
Discussion:
#89 (comment)

Contributes to CURA-2150
This was mixed up before. Variables related to NSIS packaging were at
signing before.
Now everything related to NSIS is in packaging/windows.cmake.

Contributes to CURA-2150
Contributes to CURA-2150
Added a TODO to check whether CPACK_SYSTEM_NAME is "win64", like
expected.

Contributes to CURA-2150
Contributes to CURA-2150
A change that I forget to remove, while experimenting on getting a rid of ${CMAKE_BINARY_DIR}/_CPack_Packages/${CPACK_SYSTEM_NAME}/NSIS

Contributes to CURA-2150
These lines are necessary to get a working Cura installation!

This reverts commit d2a8d3c.
At the moment the plugins directory of cura and uranium are moved into a
new plugins directory. So finally are plugins are installed at
{INSTALL_DIR}/plugins/plugins
This change moves all plugins back to {INSTALL_DIR}/plugins.

Contributes to CURA-2150
Seems it is rather broken at the moment
Since apparently it is no longer installed by Qt.
Otherwise it won't be able to find certain libraries
This reverts commit 6c3c305.

Apperently, it was just missing some libraries somewhere. With the
other changes included things work properly again.
Apparently the test files I have here that I thought were ascii STL were
not really ascii STL. It still crashes with ascii STL so I disabled
numpy-stl again.

Fixes CURA-2974
It was added at the end of 2.4 but we did not expose it so far

Contributes to CURA-2787
Since we now want OpenGL 4.1 for the new layer view
…s-support

CURA-2150: Initial Windows support
@awhiemstra awhiemstra merged commit a7a4893 into master Feb 16, 2017
@LipuFei LipuFei deleted the environment_split branch July 4, 2018 07:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants