set(verbose -DCMAKE_VERBOSE_MAKEFILE=On)
endif()
+ set(BOOTSTRAP_DEFAULT_PASSTHROUGH
+ PACKAGE_VERSION
+ LLVM_VERSION_MAJOR
+ LLVM_VERSION_MINOR
+ LLVM_VERSION_PATCH
+ LLVM_VERSION_SUFFIX
+ CLANG_REPOSITORY_STRING
+ CMAKE_MAKE_PROGRAM)
+
+ # Find all variables that start with BOOTSTRAP_ and populate a variable with
+ # them.
+ get_cmake_property(variableNames VARIABLES)
+ foreach(varaibleName ${variableNames})
+ if(varaibleName MATCHES "^BOOTSTRAP_")
+ string(SUBSTRING ${varaibleName} 10 -1 varName)
+ string(REPLACE ";" "\;" value "${${varaibleName}}")
+ list(APPEND PASSTHROUGH_VARIABLES
+ -D${varName}=${value})
+ endif()
+ endforeach()
+
+ # Populate the passthrough variables
+ foreach(varaibleName ${CLANG_BOOTSTRAP_PASSTHROUGH} ${BOOTSTRAP_DEFAULT_PASSTHROUGH})
+ if(${varaibleName})
+ string(REPLACE ";" "\;" value ${${varaibleName}})
+ list(APPEND PASSTHROUGH_VARIABLES
+ -D${varaibleName}=${value})
+ endif()
+ endforeach()
+
ExternalProject_Add(bootstrap
DEPENDS clang ${LTO_DEP}
PREFIX bootstrap
# seem to work, so instead I'm passing this through
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
${CLANG_BOOTSTRAP_CMAKE_ARGS}
+ ${PASSTHROUGH_VARIABLES}
-DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++
-DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang
-DCMAKE_ASM_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang