mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-20 10:49:06 +08:00
49 lines
2.2 KiB
CMake
49 lines
2.2 KiB
CMake
set(projectname LLVM)
|
|
|
|
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.
|
|
|
|
ExternalProject_Add(dep_LLVM
|
|
URL https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/llvm-project-12.0.1.src.tar.xz
|
|
URL_HASH SHA256=129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e
|
|
DEPENDS dep_Libcxx
|
|
EXCLUDE_FROM_ALL ON
|
|
INSTALL_DIR ${DESTDIR}/usr/local
|
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/LLVM
|
|
LIST_SEPARATOR | # Use the alternate list separator because by default all ; are replaced by space
|
|
CMAKE_ARGS
|
|
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
|
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
|
|
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
|
|
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
|
|
-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
|
|
|
|
# This forces to make shared library.
|
|
-DLLVM_BUILD_LLVM_DYLIB=ON
|
|
-DLLVM_LINK_LLVM_DYLIB=ON
|
|
-DLLVM_DYLIB_COMPONENTS=all
|
|
|
|
# -DLLVM_TARGETS_TO_BUILD=X86
|
|
-DLLVM_ENABLE_PIC=ON
|
|
|
|
|
|
-DCMAKE_C_FLAGS:STRING=${_llvm_cmake_c_flags}
|
|
-DCMAKE_CXX_FLAGS:STRING=${_llvm_cmake_cxx_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 . --target LLVM llvm-config -- ${_build_j}
|
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install-LLVM install-llvm-config install-llvm-headers
|
|
)
|