Skip to content

Instantly share code, notes, and snippets.

@jmpews
Last active March 5, 2021 07:17
Show Gist options
  • Save jmpews/0eacb1f5bbc3c89af19df19e2319ebca to your computer and use it in GitHub Desktop.
Save jmpews/0eacb1f5bbc3c89af19df19e2319ebca to your computer and use it in GitHub Desktop.
llvm build
cmake -G Ninja \
-DLLVM_ENABLE_PROJECTS="clang;lld;libcxx;libcxxabi;libunwind;compiler-rt" \
-DLLVM_TARGETS_TO_BUILD="X86;AArch64;ARM;WebAssembly" \
-DLLVM_BUILD_TESTS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Debug \
../llvm
# ------------- LLVM REQUIRED START  -------------

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# LLVM
find_package(LLVM 10 REQUIRED CONFIG)

add_definitions(${LLVM_DEFINITIONS})
include_directories(${LLVM_INCLUDE_DIRS})
link_directories(${LLVM_LIBRARY_DIRS})

list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
include(HandleLLVMOptions)
include(AddLLVM)

message(STATUS "Found LLVM version: ${LLVM_PACKAGE_VERSION}")
message(STATUS "Found LLVM definitions: ${LLVM_DEFINITIONS}")
message(STATUS "Found LLVM includes: ${LLVM_INCLUDE_DIRS}")
message(STATUS "Found LLVM libraries: ${LLVM_LIBRARY_DIRS}")
message(STATUS "Found LLVM targets: ${LLVM_TARGETS_TO_BUILD}")

include_directories(llvm/include)
add_subdirectory(llvm/lib/Transforms/Obfuscation)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment