Merge pull request #13472 from Ultimaker/CURA-9711_libspdlog_missing

[CURA-9711] fix spdlog binaries missing in linux bulids
This commit is contained in:
Jelle Spijker 2022-10-05 12:38:52 +02:00 committed by GitHub
commit c94ccf24ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View File

@ -220,7 +220,6 @@
Windows: "./icons/Cura.ico" Windows: "./icons/Cura.ico"
Macos: "./icons/cura.icns" Macos: "./icons/cura.icns"
Linux: "./icons/cura-128.png" Linux: "./icons/cura-128.png"
"5.2.0-beta.1": "5.2.0-beta.1":
requirements: requirements:
- "pyarcus/5.2.0-beta.1" - "pyarcus/5.2.0-beta.1"

View File

@ -7,7 +7,7 @@ from conan import ConanFile
from conan.tools.files import copy, rmdir, save from conan.tools.files import copy, rmdir, save
from conan.tools.env import VirtualRunEnv, Environment from conan.tools.env import VirtualRunEnv, Environment
from conan.tools.scm import Version from conan.tools.scm import Version
from conan.errors import ConanInvalidConfiguration from conan.errors import ConanInvalidConfiguration, ConanException
required_conan_version = ">=1.50.0" required_conan_version = ">=1.50.0"
@ -208,20 +208,24 @@ class CuraConan(ConanFile):
else: else:
continue continue
if not src_path.exists(): if not src_path.exists():
self.output.warning(f"Source path for binary {binary['binary']} does not exist")
continue continue
for bin in src_path.glob(binary["binary"] + ".*[exe|dll|so|dylib]"):
for bin in src_path.glob(binary["binary"] + "*[.exe|.dll|.so|.dylib|.so.]*"):
binaries.append((str(bin), binary["dst"])) binaries.append((str(bin), binary["dst"]))
for bin in src_path.glob(binary["binary"]): for bin in src_path.glob(binary["binary"]):
binaries.append((str(bin), binary["dst"])) binaries.append((str(bin), binary["dst"]))
for _, dependency in self.dependencies.items(): # Make sure all Conan dependencies which are shared are added to the binary list for pyinstaller
for _, dependency in self.dependencies.host.items():
for bin_paths in dependency.cpp_info.bindirs: for bin_paths in dependency.cpp_info.bindirs:
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.dll")]) binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*")])
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.dylib")]) for lib_paths in dependency.cpp_info.libdirs:
binaries.extend([(f"{p}", ".") for p in Path(bin_paths).glob("**/*.so")]) binaries.extend([(f"{p}", ".") for p in Path(lib_paths).glob("**/*")])
# Copy dynamic libs from lib path # Copy dynamic libs from lib path
binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.dylib")]) binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.dylib*")])
binaries.extend([(f"{p}", ".") for p in Path(self._base_dir.joinpath("lib")).glob("**/*.so*")])
# Collect all dll's from PyQt6 and place them in the root # Collect all dll's from PyQt6 and place them in the root
binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")]) binaries.extend([(f"{p}", ".") for p in Path(self._site_packages, "PyQt6", "Qt6").glob("**/*.dll")])