mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-17 12:25:56 +08:00
WIP
This commit is contained in:
parent
588b158555
commit
bbd1f3f8d8
17
deps/CMakeLists.txt
vendored
17
deps/CMakeLists.txt
vendored
@ -173,8 +173,8 @@ if (DEP_MSAN)
|
||||
set(_msan_linker_flags "${_msan_linker_flags} -fsanitize-memory-track-origins=2")
|
||||
endif ()
|
||||
set(_msan_common_flags "${_msan_linker_flags} -fno-omit-frame-pointer")
|
||||
set(_msan_only_cxx_flags "-nostdinc++ -stdlib=libc++ -isystem ${DESTDIR}/usr/local/include -isystem ${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_msan_only_ld_flags "-nostdinc++ -stdlib=libc++ -L${DESTDIR}/usr/local/lib -Wl,--rpath=${DESTDIR}/usr/local/lib")
|
||||
set(_msan_only_cxx_flags "-nostdinc++ -isystem ${DESTDIR}/usr/local/include -isystem ${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_msan_only_ld_flags "-Wl,-L${DESTDIR}/usr/local/lib,-lc++ -undefined dynamic_lookup")
|
||||
|
||||
# For dependencies that are configure using CFLAGS, CXXFLAGS and LDFLAGS instead of CMAKE_*_FLAGS.
|
||||
set(MSAN_CMAKE_C_FLAGS "${_msan_common_flags}")
|
||||
@ -182,7 +182,7 @@ if (DEP_MSAN)
|
||||
set(MSAN_CMAKE_LD_FLAGS "${_msan_common_flags} ${_msan_only_ld_flags}")
|
||||
|
||||
set(_msan_all_flags "${_msan_common_flags} ${_msan_only_cxx_flags} ${_msan_only_ld_flags}")
|
||||
set(MSAN_CMAKE_ARGS ${_MSAN_CMAKE_ARGS} -DCMAKE_C_FLAGS:STRING=${MSAN_CMAKE_C_FLAGS} -DCMAKE_CXX_FLAGS:STRING=${_msan_all_flags})
|
||||
set(MSAN_CMAKE_ARGS ${_MSAN_CMAKE_ARGS} -DCMAKE_C_FLAGS:STRING=${MSAN_CMAKE_C_FLAGS} -DCMAKE_CXX_FLAGS:STRING=${MSAN_CMAKE_CXX_FLAGS} -DCMAKE_EXE_LINKER_FLAGS=${_msan_only_ld_flags} -DCMAKE_SHARED_LINKER_FLAGS=${_msan_only_ld_flags} -DCMAKE_BUILD_RPATH:STRING=${DESTDIR}/usr/local/lib)
|
||||
|
||||
set(DEP_CMAKE_OPTS ${DEP_CMAKE_OPTS} ${MSAN_CMAKE_ARGS})
|
||||
|
||||
@ -197,17 +197,17 @@ else ()
|
||||
endif ()
|
||||
|
||||
set(ZLIB_PKG "")
|
||||
if (NOT ZLIB_FOUND OR DEP_MSAN)
|
||||
if (NOT ZLIB_FOUND AND NOT DEP_MSAN)
|
||||
include(ZLIB/ZLIB.cmake)
|
||||
set(ZLIB_PKG dep_ZLIB)
|
||||
endif ()
|
||||
set(PNG_PKG "")
|
||||
if (NOT PNG_FOUND OR DEP_MSAN)
|
||||
if (NOT PNG_FOUND AND NOT DEP_MSAN)
|
||||
include(PNG/PNG.cmake)
|
||||
set(PNG_PKG dep_PNG)
|
||||
endif ()
|
||||
set(EXPAT_PKG "")
|
||||
if (NOT EXPAT_FOUND OR DEP_MSAN)
|
||||
if (NOT EXPAT_FOUND AND NOT DEP_MSAN)
|
||||
include(EXPAT/EXPAT.cmake)
|
||||
set(EXPAT_PKG dep_EXPAT)
|
||||
endif ()
|
||||
@ -236,7 +236,10 @@ include(NLopt/NLopt.cmake)
|
||||
include(OpenSSL/OpenSSL.cmake)
|
||||
include(CURL/CURL.cmake)
|
||||
|
||||
include(JPEG/JPEG.cmake)
|
||||
if(NOT JPEG_FOUND AND NOT DEP_MSAN)
|
||||
include(JPEG/JPEG.cmake)
|
||||
set(JPEG_PKG dep_JPEG)
|
||||
endif ()
|
||||
include(TIFF/TIFF.cmake)
|
||||
include(wxWidgets/wxWidgets.cmake)
|
||||
|
||||
|
@ -13,5 +13,5 @@ ExternalProject_Add(dep_Chromium_Libs
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} "-D_MSAN_COPY_FROM=./instrumented_libraries_prebuilt/msan/lib" "-D_MSAN_COPY_TO=${DESTDIR}/usr/lib" -P ${CMAKE_CURRENT_LIST_DIR}/copy_chromium_prebuilt_libraries.cmake
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} "-D_MSAN_COPY_FROM=./instrumented_libraries_prebuilt/msan/lib" "-D_MSAN_COPY_TO=${DESTDIR}/usr/local/lib" -P ${CMAKE_CURRENT_LIST_DIR}/copy_chromium_prebuilt_libraries.cmake
|
||||
)
|
||||
|
@ -29,12 +29,14 @@ function(copy_chromium_prebuilt_libraries path_from path_to)
|
||||
libharfbuzz-gobject
|
||||
libharfbuzz-icu
|
||||
libjasper
|
||||
libjpeg
|
||||
libpango-1.0
|
||||
libpangocairo-1.0
|
||||
libpangoft2-1.0
|
||||
libpangoxft-1.0
|
||||
libpixman-1
|
||||
libpng12
|
||||
libexpat
|
||||
libsecret-1
|
||||
libudev
|
||||
libX11
|
||||
|
22
deps/MSan_Deps/LLVM/LLVM.cmake
vendored
22
deps/MSan_Deps/LLVM/LLVM.cmake
vendored
@ -1,10 +1,7 @@
|
||||
set(projectname LLVM)
|
||||
|
||||
set(_llvm_cmake_c_flags "-fPIC")
|
||||
set(_llvm_cmake_cxx_flags "-nostdinc++ -isystem ${DESTDIR}/usr/local/include -isystem ${DESTDIR}/usr/local/include/c++/v1 -fPIC")
|
||||
set(_llvm_cmake_exe_linker_flags "-stdlib=libc++ -Wl,--rpath=${DESTDIR}/usr/local/lib -L${DESTDIR}/usr/local/lib -fsanitize=memory -fPIC")
|
||||
set(_llvm_cmake_shared_linker_flags "-stdlib=libc++ -Wl,--rpath=${DESTDIR}/usr/local/lib -L${DESTDIR}/usr/local/lib -fsanitize=memory -fPIC")
|
||||
set(_llvm_cmake_module_linker_flags "-stdlib=libc++ -Wl,--rpath=${DESTDIR}/usr/local/lib -L${DESTDIR}/usr/local/lib -fsanitize=memory -fPIC")
|
||||
set(_llvm_cmake_c_flags "-isystem ${DESTDIR}/usr/local/include -fsanitize=memory")
|
||||
set(_llvm_cmake_cxx_flags "-nostdinc++ -isystem ${DESTDIR}/usr/local/include -isystem ${DESTDIR}/usr/local/include/c++/v1 -fsanitize=memory")
|
||||
|
||||
# TODO: Build LLVM statically and link with Mesa 3D.
|
||||
|
||||
@ -24,11 +21,12 @@ ExternalProject_Add(dep_LLVM
|
||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
|
||||
-DCMAKE_BUILD_RPATH=${DESTDIR}/usr/local/lib
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DLLVM_USE_SANITIZER=MemoryWithOrigins
|
||||
# -DLLVM_ENABLE_PROJECTS=clang|lld|llvm-config
|
||||
-DLLVM_ENABLE_PROJECTS=LLVM|llvm-config
|
||||
-DLLVM_ENABLE_LIBCXX=ON
|
||||
#-DLLVM_ENABLE_LIBCXX=ON
|
||||
|
||||
# This forces to make shared library.
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON
|
||||
@ -41,14 +39,10 @@ ExternalProject_Add(dep_LLVM
|
||||
|
||||
-DCMAKE_C_FLAGS:STRING=${_llvm_cmake_c_flags}
|
||||
-DCMAKE_CXX_FLAGS:STRING=${_llvm_cmake_cxx_flags}
|
||||
-DCMAKE_EXE_LINKER_FLAGS:STRING=${_llvm_cmake_exe_linker_flags}
|
||||
-DCMAKE_SHARED_LINKER_FLAGS:STRING=${_llvm_cmake_shared_linker_flags}
|
||||
-DCMAKE_MODULE_LINKER_FLAGS:STRING=${_llvm_cmake_module_linker_flags}
|
||||
-DCMAKE_EXE_LINKER_FLAGS:STRING="-Wl,-L${DESTDIR}/usr/local/lib,-lc++"
|
||||
-DCMAKE_SHARED_LINKER_FLAGS:STRING="-Wl,-L${DESTDIR}/usr/local/lib,-lc++"
|
||||
|
||||
SOURCE_SUBDIR llvm
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release --target LLVM llvm-config -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --config Release --target install-LLVM install-llvm-config install-llvm-headers
|
||||
COMMAND ln -sfn "../local/lib/libLLVM.so" "${DESTDIR}/usr/lib/libLLVM.so"
|
||||
COMMAND ln -sfn "../local/lib/libLLVM-12.so" "${DESTDIR}/usr/lib/libLLVM-12.so"
|
||||
COMMAND ln -sfn "../local/lib/libLLVM-12.0.1.so" "${DESTDIR}/usr/lib/libLLVM-12.0.1.so"
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --target LLVM llvm-config -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install-LLVM install-llvm-config install-llvm-headers
|
||||
)
|
||||
|
8
deps/MSan_Deps/Libcxx/Libcxx.cmake
vendored
8
deps/MSan_Deps/Libcxx/Libcxx.cmake
vendored
@ -20,10 +20,4 @@ ExternalProject_Add(dep_Libcxx
|
||||
SOURCE_SUBDIR llvm
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release --target cxx cxxabi -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --config Release --target install-cxx install-cxxabi
|
||||
COMMAND ln -sfn "../local/lib/libc++.so" "${DESTDIR}/usr/lib/libc++.so"
|
||||
COMMAND ln -sfn "../local/lib/libc++.so.1" "${DESTDIR}/usr/lib/libc++.so.1"
|
||||
COMMAND ln -sfn "../local/lib/libc++.so.1.0" "${DESTDIR}/usr/lib/libc++.so.1.0"
|
||||
COMMAND ln -sfn "../local/lib/libc++abi.so" "${DESTDIR}/usr/lib/libc++abi.so"
|
||||
COMMAND ln -sfn "../local/lib/libc++abi.so.1" "${DESTDIR}/usr/lib/libc++abi.so.1"
|
||||
COMMAND ln -sfn "../local/lib/libc++abi.so.1.0" "${DESTDIR}/usr/lib/libc++abi.so.1.0"
|
||||
)
|
||||
)
|
||||
|
14
deps/MSan_Deps/Mesa3D/Mesa3D.cmake
vendored
14
deps/MSan_Deps/Mesa3D/Mesa3D.cmake
vendored
@ -1,6 +1,6 @@
|
||||
set(_mesa3d_cflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_mesa3d_cxxflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_mesa3d_ldflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -L${DESTDIR}/usr/local/lib -Wl,-rpath,${DESTDIR}/usr/local/lib")
|
||||
set(_mesa3d_cflags "-fsanitize=memory -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_mesa3d_cxxflags "-fsanitize=memory -nostdinc++ -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_mesa3d_ldflags "-fsanitize=memory -fsanitize-recover=memory -fsanitize-blacklist=${CMAKE_CURRENT_LIST_DIR}/ignorelist.txt -Wl,-rpath,${DESTDIR}/usr/local/lib,-L${DESTDIR}/usr/local/lib,-lc++")
|
||||
set(_mesa3d_path "${DESTDIR}/usr/local/bin:$ENV{PATH}")
|
||||
|
||||
# We need to override PATH variable to make Meson find our build llvm-config and not use system one.
|
||||
@ -8,12 +8,10 @@ set(_mesa3d_path "${DESTDIR}/usr/local/bin:$ENV{PATH}")
|
||||
ExternalProject_Add(dep_Mesa3D
|
||||
URL https://archive.mesa3d.org/mesa-21.3.3.tar.xz
|
||||
URL_HASH SHA256=ad7f4613ea7c5d08d9fcb5025270199e6ceb9aa99fd72ee572b70342240a8121
|
||||
DEPENDS dep_Libcxx dep_LLVM dep_Chromium_Libs
|
||||
DEPENDS dep_Libcxx dep_LLVM dep_Chromium_Libs
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Mesa3D
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND env "PATH=${_mesa3d_path}" "CFLAGS=${_mesa3d_cflags}" "CXXFLAGS=${_mesa3d_cxxflags}" "LDFLAGS=${_mesa3d_ldflags}" meson build_mesa -Dglx=gallium-xlib -Dgallium-drivers=swrast -Dplatforms=x11 -Ddri3=disabled "-Ddri-drivers=" "-Dvulkan-drivers=" -Db_sanitize=memory -Db_lundef=false -Dgles1=disabled -Dgles2=disabled -Dshared-glapi=disabled "-Dprefix=${DESTDIR}/usr/local" "-Dlibdir=${DESTDIR}/usr/local/lib"
|
||||
BUILD_COMMAND ninja -C build_mesa install
|
||||
INSTALL_COMMAND ln -sfn "../local/lib/libGL.so" "${DESTDIR}/usr/lib/libGL.so"
|
||||
COMMAND ln -sfn "../local/lib/libGL.so.1" "${DESTDIR}/usr/lib/libGL.so.1"
|
||||
COMMAND ln -sfn "../local/lib/libGL.so.1.5.0" "${DESTDIR}/usr/lib/libGL.so.1.5.0"
|
||||
)
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
|
11
deps/MSan_Deps/fontconfig/fontconfig.cmake
vendored
11
deps/MSan_Deps/fontconfig/fontconfig.cmake
vendored
@ -1,16 +1,13 @@
|
||||
set(_fontconfig_cflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_fontconfig_cxxflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_fontconfig_ldflags "-fsanitize=memory -stdlib=libc++ -fsanitize-recover=memory -L${DESTDIR}/usr/local/lib -Wl,-rpath,${DESTDIR}/usr/local/lib")
|
||||
set(_fontconfig_cflags "-fsanitize=memory -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_fontconfig_cxxflags "-fsanitize=memory -nostdinc++ -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1")
|
||||
set(_fontconfig_ldflags "-fsanitize=memory -fsanitize-recover=memory -L${DESTDIR}/usr/local/lib -Wl,-rpath,${DESTDIR}/usr/local/lib,-L${DESTDIR}/usr/local/lib,-lc++")
|
||||
|
||||
ExternalProject_Add(dep_fontconfig
|
||||
URL https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.gz
|
||||
URL_HASH SHA256=9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f
|
||||
DEPENDS dep_Libcxx ${EXPAT_PKG}
|
||||
DEPENDS dep_Libcxx dep_LLVM dep_Mesa3D
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/fontconfig
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND env "CFLAGS=${_fontconfig_cflags}" "CXXFLAGS=${_fontconfig_cxxflags}" "LDFLAGS=${_fontconfig_ldflags}" ./configure --disable-docs --disable-static "--sysconfdir=/etc" "--localstatedir=/var" "--prefix=${DESTDIR}/usr/local"
|
||||
INSTALL_COMMAND make install-exec && cd fontconfig && make install-fontconfigincludeHEADERS
|
||||
COMMAND ln -sfn "../local/lib/libfontconfig.so" "${DESTDIR}/usr/lib/libfontconfig.so"
|
||||
COMMAND ln -sfn "../local/lib/libfontconfig.so.1" "${DESTDIR}/usr/lib/libfontconfig.so.1"
|
||||
COMMAND ln -sfn "../local/lib/libfontconfig.so.1.12.0" "${DESTDIR}/usr/lib/libfontconfig.so.1.12.0"
|
||||
)
|
||||
|
2
deps/TIFF/TIFF.cmake
vendored
2
deps/TIFF/TIFF.cmake
vendored
@ -3,7 +3,7 @@ find_package(OpenGL QUIET REQUIRED)
|
||||
prusaslicer_add_cmake_project(TIFF
|
||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
||||
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} ${JPEG_PKG}
|
||||
CMAKE_ARGS
|
||||
-Dlzma:BOOL=OFF
|
||||
-Dwebp:BOOL=OFF
|
||||
|
11
deps/wxWidgets/wxWidgets.cmake
vendored
11
deps/wxWidgets/wxWidgets.cmake
vendored
@ -11,14 +11,19 @@ endif()
|
||||
|
||||
set(_wx_config_command "")
|
||||
|
||||
set(_wx_precomp "-DwxBUILD_PRECOMP:BOOL=ON")
|
||||
if (DEP_MSAN)
|
||||
set(_wx_precomp "-DwxBUILD_PRECOMP:BOOL=OFF")
|
||||
endif()
|
||||
|
||||
prusaslicer_add_cmake_project(wxWidgets
|
||||
# GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets"
|
||||
# GIT_TAG tm_cross_compile #${_wx_git_tag}
|
||||
URL https://github.com/prusa3d/wxWidgets/archive/73f029adfcc82fb3aa4b01220a013f716e57d110.zip
|
||||
URL_HASH SHA256=c35fe0187db497b6a3f477e24ed5e307028657ff0c2554385810b6e7961ad2e4
|
||||
DEPENDS ${FONTCONFIG_PKG} ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
||||
DEPENDS ${FONTCONFIG_PKG} ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF ${JPEG_PKG}
|
||||
CMAKE_ARGS
|
||||
-DwxBUILD_PRECOMP=ON
|
||||
${_wx_precomp}
|
||||
${_wx_toolkit}
|
||||
"-DCMAKE_DEBUG_POSTFIX:STRING="
|
||||
-DwxBUILD_DEBUG_LEVEL=0
|
||||
@ -39,4 +44,4 @@ prusaslicer_add_cmake_project(wxWidgets
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_wxWidgets)
|
||||
endif ()
|
||||
endif ()
|
||||
|
Loading…
x
Reference in New Issue
Block a user