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

[WIP] Cura 8640 PyQt6 upgrade #126

Merged
merged 216 commits into from
Apr 14, 2022
Merged
Show file tree
Hide file tree
Changes from 203 commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
d31491e
Add PyQt6-sip, PyQt6 and PyQt6-Qt6
Jan 21, 2022
347d812
Delete qt-patch-macosx-target.sh
evtrados Jan 21, 2022
9b645cc
Delete pyqt.cmake
evtrados Jan 21, 2022
31b3cd9
Delete qt.cmake
evtrados Jan 21, 2022
6da36c6
Add extra needed environment variables
evtrados Jan 21, 2022
af06af3
Remove sip.cmake and install sip v6 via pip
evtrados Jan 31, 2022
f26c884
Get Arcus updated to Sip 6.
rburema Feb 11, 2022
a1aa1fd
Make Savitar work with Sip 6
rburema Feb 11, 2022
dac1bd3
Get pynest2d to work with Sip 6.
rburema Feb 15, 2022
16d0594
Use all available cores for make on Linux
jellespijker Feb 15, 2022
d5636e6
Use CMake-3.21.5
jellespijker Feb 15, 2022
be012ac
Hopefully fix inability to find sip-install.
rburema Feb 15, 2022
130924a
Merge remote-tracking branch 'origin/upgrade_cmake' into test_merge_j…
rburema Feb 16, 2022
50c820d
OS agnostic way of asking ammount of cores (for make -j).
rburema Feb 16, 2022
41204a6
Copy .pyd files instead of relying on sip-install precence.
rburema Feb 16, 2022
d9c0254
Make copy step optional.
rburema Feb 16, 2022
0a1e22e
Very important commit.`
rburema Feb 16, 2022
cf9b02d
Fix mistyped cmake variable definition.
rburema Feb 22, 2022
f05c4b7
Log which file (pyd) is copied, if any.
rburema Feb 22, 2022
1c17dcf
Correcting the pyd directory name on macOS for pynest2d
evtrados Feb 22, 2022
ded5f65
Correcting the pyd directory name on macOS for Savitar
evtrados Feb 22, 2022
2acda38
Correcting the pyd directory name on macOS for Arcus
evtrados Feb 22, 2022
ef3c09f
Correcting typo
evtrados Feb 22, 2022
2b93fe3
Correcting typo
evtrados Feb 22, 2022
27a16df
Which directory is here, if any?
rburema Feb 22, 2022
7668604
Just why?
rburema Feb 22, 2022
a3521e2
Maybe it just works now.
rburema Feb 22, 2022
9ea6a24
Sip-build as command may be nescesary after all.
rburema Feb 23, 2022
d800d82
Remove the pyd build and the ignore errors
evtrados Feb 25, 2022
6aeb53f
Remove the pyd directory and the ignore errors
evtrados Feb 25, 2022
61e6d11
Remove the pyd directory and the ignore errors
evtrados Feb 25, 2022
1596c9e
Use the latest branches
evtrados Feb 25, 2022
c411225
Adjust the post build commands for pyArcus
evtrados Feb 25, 2022
244aafc
Remove variables that won't be used by the project
evtrados Feb 25, 2022
fb81749
Remove variable that won't be used by the project
evtrados Feb 25, 2022
4f31e9a
Remove variable that won't be used by the project
evtrados Feb 25, 2022
31d83b0
Fix missing string termination quote
Ghostkeeper Feb 28, 2022
3b5713d
Set rpath for pynest2d pointing towards nlopt
jellespijker Mar 1, 2022
6a00e04
Delete certain Qt plug-ins after downloading them
Ghostkeeper Mar 1, 2022
c5409aa
Don't set the final rpaths in the build-env
jellespijker Mar 1, 2022
cea9e32
Update cx-Freeze to 6.10
jellespijker Mar 8, 2022
6fcf45b
Try using pyinstaller to create the installer
jellespijker Mar 8, 2022
02df695
Build Python static on Macos
jellespijker Mar 8, 2022
8366d58
Added dependencies of pyinstaller
jellespijker Mar 9, 2022
e6c5ec2
Bumped up Python to 3.10.2
jellespijker Mar 9, 2022
e4cc458
Bumped up type-ast to 1.5.2
jellespijker Mar 9, 2022
3ca4096
Bumped up mypy to 0.931
jellespijker Mar 9, 2022
5b42806
reversed order of mypy requirements
jellespijker Mar 9, 2022
f924a92
Revert "Build Python static on Macos"
jellespijker Mar 14, 2022
f435f08
Merge branch 'CURA-8640_PyQt6_pyinstaller' into CURA-8640_PyQt6_upgrade
jellespijker Mar 17, 2022
4c34513
Remove cx-freeze as a dependency
jellespijker Mar 17, 2022
9ff6f96
Use uniform Cmake build modules
jellespijker Mar 17, 2022
8765f82
Ensure setting MACOSX_DEPLOYMENT_TARGET before project call
jellespijker Mar 17, 2022
d2a6fdc
Cleaned up main CMakeLists.txt
jellespijker Mar 17, 2022
af55b97
Cleaned up Arcus
jellespijker Mar 17, 2022
7069a91
Cleaned up Savitar
jellespijker Mar 17, 2022
204410b
Cleaned up pynest2d
jellespijker Mar 17, 2022
8ebde81
Cleaned up Linux docker
jellespijker Mar 17, 2022
876a9c5
Set a few env variables
jellespijker Mar 21, 2022
ab4e531
Set BUILD_ENV directories
jellespijker Mar 21, 2022
00ac840
Set BUILD_ENV_INSTALL directory
jellespijker Mar 21, 2022
430a30c
Wasn't allowed to remove the artifacts
jellespijker Mar 21, 2022
7fc10a1
Clean-up as root
jellespijker Mar 21, 2022
83c2d1b
Use cmake as entrypoint
jellespijker Mar 22, 2022
7f79231
Use CMD instead of entrypoint
jellespijker Mar 22, 2022
169a556
Specify full path
jellespijker Mar 22, 2022
41c6f7f
Don't link Python 3.10.2 against libcrypt
jellespijker Mar 23, 2022
2426ed3
Preset a couple of env paths
jellespijker Mar 23, 2022
a22e34a
Encapsulate patch command with qoutes and use list dir
jellespijker Mar 23, 2022
fcf59e7
Don't use list dir
jellespijker Mar 23, 2022
0c3ffdc
trimesh depends on OpenCTM
jellespijker Mar 23, 2022
68a3f07
Use git as source
jellespijker Mar 23, 2022
dcf1827
use autogen before the configure step
jellespijker Mar 23, 2022
c421315
Apply patch to polyclipping runtime lib
jellespijker Mar 23, 2022
333456c
Drop support for CTM files
jellespijker Mar 23, 2022
a01e27c
Added autopoint as system dep
jellespijker Mar 23, 2022
ad9130f
encapsulated patch command with quote signs
jellespijker Mar 23, 2022
4fc381e
Don't patch what isn't there
jellespijker Mar 23, 2022
fcd662c
fix patch does not apply
jellespijker Mar 23, 2022
830f83f
Use CMAKE_PREFIX_PATH
jellespijker Mar 24, 2022
340ca1b
use ultimaker user consitantly
jellespijker Mar 24, 2022
4065958
Use CMAKE defined flags and compiler for zlib
jellespijker Mar 25, 2022
61bfdce
Compile against libc++ for Mac
jellespijker Mar 25, 2022
0c0369d
fixed incorrect no arg for get_property
jellespijker Mar 25, 2022
6b7912a
fixed incorrect no arg for get_property
jellespijker Mar 25, 2022
769cf54
old skool
jellespijker Mar 25, 2022
e758457
Allow them to be set from cmd line
jellespijker Mar 25, 2022
77b1f22
Configure zlib with CMake
jellespijker Mar 25, 2022
1be4466
Configure sqlite with compiler and flag
jellespijker Mar 25, 2022
37c90e0
Configure openssl with compiler and flag
jellespijker Mar 25, 2022
dc3541a
Configure libffi with compiler and flag
jellespijker Mar 25, 2022
cb38cbc
Removed libnest2d_find_clipper
jellespijker Mar 25, 2022
358feb6
Make sure that xz is compiled with clang on Mac
jellespijker Mar 25, 2022
1cc2f35
Configure OpenBLAS with CMake
jellespijker Mar 25, 2022
f4e8bfe
Use github as source for zlib
jellespijker Mar 28, 2022
0304192
allow specify compiler on MacOS for Python
jellespijker Mar 28, 2022
5e414f6
Revert "Removed libnest2d_find_clipper"
jellespijker Mar 28, 2022
6403f49
Added some missing libraries
jellespijker Mar 28, 2022
18bf199
Remove libwayland-egl
jellespijker Mar 28, 2022
4b3646e
Revert "Remove libwayland-egl"
jellespijker Mar 28, 2022
b47556a
Revert "Added some missing libraries"
jellespijker Mar 28, 2022
a61aa11
Added wayland and dbus shared libs
jellespijker Mar 29, 2022
aed27b0
Python don't use git repo
jellespijker Mar 29, 2022
2a192ed
Multistage Docker
jellespijker Mar 29, 2022
7617bd9
Build external projects with Conan
Mar 30, 2022
71a08b1
Update README
Mar 30, 2022
017361b
Don't clone with depth==1
Mar 30, 2022
5630d8d
Add additional generators
Mar 30, 2022
10ecda9
Add entrypoint to dockerfile
Mar 30, 2022
eaddb38
Use system Python interpreter
Mar 31, 2022
5da9ff6
Specify system requirements
Mar 31, 2022
30cc176
Use conan
Apr 1, 2022
3afc8dd
Re-use Python_EXECUTABLE instead of .../bin/python3
Ghostkeeper Apr 1, 2022
eff223e
Base Dockerfiles builds
Apr 1, 2022
8bfd6b4
builder Dockerfiles builds
Apr 1, 2022
9416bd8
Fix Arcus and Pynest2D building environment
Ghostkeeper Apr 1, 2022
7dbf50c
Don't exclude Arcus and Savitar
Ghostkeeper Apr 1, 2022
1c8dc87
Mount conan data
Apr 3, 2022
724259d
Use Ubuntu 18.04 as base image
Apr 3, 2022
983b16c
Update PyQt6 to 6.2.4
Apr 4, 2022
2adfd9e
Pass along the used Python_root
Apr 4, 2022
7530329
Add CuraEngine as dependency
Apr 5, 2022
cf4d53a
Build Cura completly in one go
Apr 5, 2022
642e0d5
Added PyQt6 NetworkAuth to requirements
Apr 5, 2022
add9036
Fixed typo newline
Apr 5, 2022
737507a
Install to local sitelibs
Apr 5, 2022
7b59f89
Set PYTHONPATH as environment
Apr 5, 2022
fc0943a
Define local site-packages path
Apr 5, 2022
a54b886
Activate virtual python environment
Apr 5, 2022
0467c20
Set python executable directly if unable to find correct version
casperlamboo Apr 5, 2022
def3dd7
Use shallow clone
Apr 5, 2022
2ce129a
Create installer
Apr 5, 2022
f7a8681
Set installer dependency order
Apr 5, 2022
c519c2d
Revert "Set python executable directly if unable to find correct vers…
jellespijker Apr 5, 2022
bc8014b
Fixed installer dependency order
Apr 5, 2022
a7c642c
Add future to python requirements
Apr 5, 2022
d6f048f
Fixed python paths for windows
Apr 5, 2022
b295605
Fixed python paths for windows
Apr 5, 2022
c9f5377
Add serial and Charon dependencies
Ghostkeeper Apr 5, 2022
0fdddc4
Basic Windows Docker
Apr 5, 2022
6fd59f7
Use correct lib path for Python venv
Apr 5, 2022
08cb991
Added network stuff to the pyinstaller
Apr 5, 2022
b70f4d6
Added function to create a dmg
Apr 6, 2022
429a59d
Fixed rez executable not being used
Apr 6, 2022
7e7504f
Add the create-dmg target
Apr 6, 2022
c188996
Added function to sign the dmg
Apr 6, 2022
a820bfa
Added function to notarize the dmg
Apr 6, 2022
11cc1c2
Simplified used variables
Apr 6, 2022
6f3e76a
Couple of fixes
Apr 6, 2022
43bbb39
Fixed required variable handling when empty
Apr 6, 2022
b75d669
Set Cura version globally
Apr 6, 2022
d4b6f1a
Fixed version defaults
Apr 6, 2022
7fa8a7b
Fixed paths
Apr 6, 2022
523e2e2
Add fuse for using AppImageKit
Ghostkeeper Apr 6, 2022
8857c21
Many changes for making stuff work on Windows
jellespijker Apr 6, 2022
fb6594a
Using boost 1.78
jellespijker Apr 7, 2022
b1f3753
Using boost 1.78
jellespijker Apr 7, 2022
b06acf2
Add rapidjson and stb as dependencies
Apr 7, 2022
c1206e5
Specified the correct dependency traversal tree
Apr 7, 2022
f256ac6
Fixed windows paths
Apr 7, 2022
3289f43
Fixed windows path seperator
Apr 7, 2022
5b602f8
Added missing dependency pynest2d to Cura
Apr 7, 2022
31bed9d
Added missing dependency Charon to Cura
Apr 7, 2022
32b6c2b
Added Cura binary branch to conanfile
Apr 7, 2022
13917de
Differentiate between Lib and lib
Apr 7, 2022
0a0f964
Moved some OS specific code to dedicated module
Apr 7, 2022
fbb8d78
Install python reqs in two phases and add setuptools
Apr 7, 2022
b46afbc
Basis of creating AppImage on Linux as output
Ghostkeeper Apr 7, 2022
882c1fb
Execute full path to executable
Ghostkeeper Apr 7, 2022
d283d6c
Add some missing modules
Apr 7, 2022
9cf0256
moved appimagekit to cmake module dir
Apr 7, 2022
3395e8a
Fixed Icon for the executable on Windows
Apr 7, 2022
f8dfcbe
Added NSIS installer for on Windows
Apr 7, 2022
d3cb601
Small fixes to the Windows NSIS installer
Apr 7, 2022
f89de3a
Should check on UNIX not Linux
Apr 8, 2022
814401d
Use only major.minor.patch version for NSIS
Apr 8, 2022
6767872
Revert "Add fuse for using AppImageKit"
jellespijker Apr 8, 2022
56c60ee
Uniform filename for the installer
Apr 8, 2022
cd78b1c
Don't ship VC_redist
Apr 8, 2022
07aa071
Moved the appimage tool to the docker image
Apr 8, 2022
21261bd
use full path point to installer-filename tool
Apr 8, 2022
13e9884
Make InstallRequiredSystemLibs Optional
Apr 8, 2022
d5dbe81
Allow for the package appimage target to work in/out side of docker
Apr 8, 2022
30bda08
Uniform handling over different OSes
Apr 8, 2022
867557b
Add libwayland libs
Apr 8, 2022
f7914d2
Fix the permission of the AppRun
Apr 8, 2022
5c1eb16
Fix the permission of the AppRun
Apr 8, 2022
1f54c16
Split up resources in a UM and Cura path
Apr 8, 2022
e6b6406
Fix in path
Apr 8, 2022
d17d0d7
Map QML and plugins to correct installer paths
Apr 9, 2022
adbba85
Copy the Cura.ico in the pyinstaller dist folder
Apr 9, 2022
fa71adb
Added some default values
Apr 9, 2022
875adff
Allow installer filename postfix to be set via CMake
Apr 9, 2022
b2c9508
Various tweaks to the NSIS installer
Apr 9, 2022
3fa9ce0
Replace CPack with custom Jinja NSIS parser
Apr 10, 2022
94e0e83
Fix the permission of the AppRun
Apr 10, 2022
e430407
Bump up build version
Apr 11, 2022
27c5987
use docker volume for conan data
Apr 11, 2022
ae409c0
Jenkins no longer used and supported by us
jellespijker Apr 12, 2022
20492a6
Remove olf environements scritps
jellespijker Apr 12, 2022
23ef10e
Don't use and support Docker Windows anymore
jellespijker Apr 12, 2022
3e5dcc2
Merge remote-tracking branch 'origin/5.0' into CURA-8640_PyQt6_upgrade
jellespijker Apr 12, 2022
e93117d
Allow for easy dev env setup
jellespijker Apr 13, 2022
6566efc
bump up build version to 4
jellespijker Apr 14, 2022
8ba86e4
bump up build version to 5
jellespijker Apr 14, 2022
55cc110
bump up build version to 6
jellespijker Apr 14, 2022
6420efc
bump up build version to 7
jellespijker Apr 14, 2022
e1eadff
Update README.md
jellespijker Apr 14, 2022
c3584ad
Don't use processorcount
Apr 14, 2022
7d444d9
Use space-indented
Apr 14, 2022
a61d06e
Make pyinstaller a packaging of packaging again
Apr 14, 2022
fd2ccaa
Update nsis-configurator documentation
Apr 14, 2022
2584388
Apply suggestions from code review
jellespijker Apr 14, 2022
4e29550
Update Version Build metadata description.
Apr 14, 2022
f5860b9
Removed support for GCC 5 & 6
Apr 14, 2022
6bc73ad
Update readme to reflect new usage
jellespijker Apr 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .dockerignore

This file was deleted.

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,7 @@ ENV/
.ropeproject

.DS_Store

# Backups
*.bak
*~
145 changes: 88 additions & 57 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,74 +1,105 @@
#Copyright (c) 2020 Ultimaker B.V.
#cura-build-environment is released under the terms of the AGPLv3 or higher.
# Copyright 2022 Ultimaker

project(cura-build-environment)

cmake_minimum_required(VERSION 3.6)
# Setting the MACOSX_DEPLOYMENT_TARGET needs to be done before the first project() call. Setting this value should also
# take care of the CMAKE_OSX_SYSROOT. The variable is ignored on non-Apple systems.

if(NOT CURA_ARCUS_BRANCH_OR_TAG)
set(CURA_ARCUS_BRANCH_OR_TAG "master")
endif()
if(NOT CURA_SAVITAR_BRANCH_OR_TAG)
set(CURA_SAVITAR_BRANCH_OR_TAG "master")
endif()
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
include(GetFromEnvironmentOrCache)
GetFromEnvironmentOrCache(
NAME
CMAKE_OSX_DEPLOYMENT_TARGET
DESCRIPTION
"Specify the minimum version of the target platform (e.g. macOS or iOS)")

# This should care that our CMAKE_INSTALL_PREFIX is absolute at the end...
get_filename_component(CMAKE_INSTALL_PREFIX
${CMAKE_INSTALL_PREFIX}
ABSOLUTE
CACHE FORCE)
project(cura-build-environment)
cmake_minimum_required(VERSION 3.20)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
include(cmake/conan.cmake)
include(cmake/os.cmake)

include(ExternalProject)
include(GNUInstallDirs)
include(ProcessorCount)

include(BuildPlatformDetection)
include(SetProjectDependencies)
ProcessorCount(N_PROC)
if(N_PROC EQUAL 0)
set(N_PROC 1)
endif()
jellespijker marked this conversation as resolved.
Show resolved Hide resolved

# Hard-code the CPython executable to use later because all find_package()
# commands are executed when the Makefiles are generated. Because we need to
# compile CPython first, all other projects that require Python must use our
# compiled one. Because we cannot use find_package() to find Python at runtime,
# we have to hard-code the CPython executable that will be created later. All
# projects that requires Python must use the variable Python3_EXECUTABLE so they
# will use the right CPython.
if(BUILD_OS_WINDOWS)
# Minimalistic preinstalled Python on Windows:
set(Python3_EXECUTABLE ${CMAKE_INSTALL_PREFIX}/bin/python.exe)
else()
# All other OSs like OSX
set(Python3_EXECUTABLE ${CMAKE_INSTALL_PREFIX}/bin/python3)
# Create the version-related variables
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_MAJOR
DEFAULT
"5"
DESCRIPTION
"Cura Major Version")
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_MINOR
DEFAULT
"0"
DESCRIPTION
"Cura Minor Version")
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_PATCH
DEFAULT
"0"
DESCRIPTION
"Cura Patch Version")
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_PRE_RELEASE_TAG
DESCRIPTION
"Cura pre release tag Version Information a, b or rc")
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_BUILD
DESCRIPTION
"Cura Version build")
set(CURA_VERSION_EXTRA )
if(NOT ${CURA_VERSION_PRE_RELEASE_TAG} STREQUAL "")
set(CURA_VERSION_EXTRA "-${CURA_VERSION_PRE_RELEASE_TAG}+${CURA_VERSION_BUILD}")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description doesn't describe anything, really.

Knowing how it's used, I think it's better to go back to using timestamps for this. It would end up something like this, I reckon (untested):

Suggested change
GetFromEnvironmentOrCache(
NAME
CURA_VERSION_BUILD
DESCRIPTION
"Cura Version build")
set(CURA_VERSION_EXTRA )
if(NOT ${CURA_VERSION_PRE_RELEASE_TAG} STREQUAL "")
set(CURA_VERSION_EXTRA "-${CURA_VERSION_PRE_RELEASE_TAG}+${CURA_VERSION_BUILD}")
option(ADD_TIMESTAMP "Add a timestamp to the version number." ON)
set(build_time "")
if(ADD_TIMESTAMP)
string(TIMESTAMP build_time "+%Y-%m-%d %H:%M:%S" UTC)
endif()
set(CURA_VERSION_EXTRA "")
if(NOT ${CURA_VERSION_PRE_RELEASE_TAG} STREQUAL "")
set(CURA_VERSION_EXTRA "-${CURA_VERSION_PRE_RELEASE_TAG}${build_time}"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build metadata tag in SemVer is most commonly a increasing version number. But after reading https://semver.org/

Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata MUST be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85, 1.0.0+21AF26D3—-117B344092BD.

And since we now have to manually increase this number in a rundeck job I think a timestamp might be a good intermittent solution before our switch to Conan and Pipelines.

Special care should be taken to make sure that timestamp is used for all three OSes. that requires us to set it in Rundeck and not here.

@evtrados Can you make sure that all three build jobs on Rundeck use the same timestamp ad the CURA_VERSION_BUILD

endif()
set(_default_cura_version "${CURA_VERSION_MAJOR}.${CURA_VERSION_MINOR}.${CURA_VERSION_PATCH}${CURA_VERSION_EXTRA}")
GetFromEnvironmentOrCache(
NAME
CURA_VERSION
DEFAULT
${_default_cura_version}
DESCRIPTION
"Cura Extra Version Information"
REQUIRED)

# Build projects step
add_custom_target(projects ALL COMMENT "Building Projects...")
include(projects/python.cmake)
include(projects/charon.cmake)
include(projects/savitar.cmake)
include(projects/arcus.cmake)
include(projects/uranium.cmake)
include(projects/libnest2d.cmake)
include(projects/pynest2d.cmake)
include(projects/curaengine.cmake)
include(projects/cura.cmake)
include(projects/fdm_materials.cmake)
include(projects/cura-binary-data.cmake)

# On Linux, make sure that we use "lib" for libraries and create a symlink "lib64" pointing to "lib".
if(BUILD_OS_LINUX)
message(STATUS "Prepare lib and lib64 on Linux...")
execute_process(
COMMAND mkdir -p "${CMAKE_INSTALL_PREFIX}/lib"
)
execute_process(
COMMAND ln -s "lib" "lib64"
WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
)
# Collect the artifacts with pyinstaller
include(cmake/pyinstaller.cmake)

if(APPLE)
include(cmake/create-dmg.cmake)
include(cmake/sign-dmg.cmake)
include(cmake/notarize-dmg.cmake)
endif()

# Some extra post build additions are needed on macOS, as the eventual Cura build will fail, because otool
# throws an error while copying pynest2d.so to the Ultimaker Cura.app bundle.
if(BUILD_OS_OSX)
add_custom_command(
TARGET projects POST_BUILD
COMMAND /Library/Developer/CommandLineTools/usr/bin/install_name_tool -change @rpath/libnlopt.0.dylib "${CMAKE_INSTALL_PREFIX}/lib/libnlopt.0.dylib" "${CMAKE_INSTALL_PREFIX}/lib/python3.10/site-packages/pynest2d.so"
COMMENT "Changing the RPATH of pynest2d"
)
if(LINUX)
include(cmake/create-appimage.cmake)
include(cmake/sign-appimage.cmake)
endif()

file(GLOB _projects projects/*.cmake)
foreach(_project ${_projects})
include(${_project})
endforeach()
if(WIN32)
include(cmake/nsis.cmake)
endif()

ProcessProjectDependencies(TARGET projects)
include(cmake/dev.cmake)
58 changes: 0 additions & 58 deletions Jenkinsfile

This file was deleted.

23 changes: 0 additions & 23 deletions Note.md

This file was deleted.

Loading