Skip to content

Instantly share code, notes, and snippets.

@bryant
Created January 18, 2018 18:35
Show Gist options
  • Save bryant/5c1d92dd932309f6cfb9fd0e6c198d5b to your computer and use it in GitHub Desktop.
Save bryant/5c1d92dd932309f6cfb9fd0e6c198d5b to your computer and use it in GitHub Desktop.
Faster LLVM debug builds. Used primarily during dev.
cmake_minimum_required(VERSION 3.4)
execute_process(
COMMAND "grep" "^processor" "/proc/cpuinfo"
COMMAND "wc" "-l"
COMMAND "tr" "-d" "'\n'"
OUTPUT_VARIABLE ncpu
)
set(GIT_ORIGIN "file://$ENV{HOME}/usr/git" CACHE STRING "")
message("Building with ${ncpu} cpus")
set(LLVM_PARALLEL_COMPILE_JOBS ${ncpu} CACHE STRING "")
set(LLVM_PARALLEL_LINK_JOBS ${ncpu} CACHE STRING "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(CMAKE_C_COMPILER "clang" CACHE PATH "")
set(CMAKE_CXX_COMPILER "clang++" CACHE PATH "")
set(LLVM_ENABLE_LLD ON CACHE PATH "")
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "")
set(CMAKE_C_FLAGS "-O0" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-O0" CACHE STRING "")
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/usr" CACHE PATH "")
set(LLVM_TARGETS_TO_BUILD "X86" CACHE STRING "")
set(LLVM_BUILD_RUNTIME OFF CACHE BOOL "")
set(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
# set(LLVM_USE_SANITIZER "MemoryWithOrigins" CACHE STRING "")
# ignore tools/clang
set(LLVM_TOOL_CLANG_BUILD OFF CACHE BOOL "")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment