diff --git a/CMakeLists.txt b/CMakeLists.txt index b9a49496222..642732ffe80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,7 +95,11 @@ if (LLVM_ENABLE_PROJECTS_USED OR NOT LLVM_ENABLE_PROJECTS STREQUAL "") if(NOT EXISTS "${PROJ_DIR}" OR NOT IS_DIRECTORY "${PROJ_DIR}") message(FATAL_ERROR "LLVM_ENABLE_PROJECTS requests ${proj} but directory not found: ${PROJ_DIR}") endif() - set(LLVM_EXTERNAL_${upper_proj}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${proj}" CACHE STRING "") + if( LLVM_EXTERNAL_${upper_proj}_SOURCE_DIR STREQUAL "" ) + set(LLVM_EXTERNAL_${upper_proj}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${proj}" CACHE PATH "" FORCE) + else() + set(LLVM_EXTERNAL_${upper_proj}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${proj}" CACHE PATH "") + endif() elseif ("${proj}" IN_LIST LLVM_EXTERNAL_PROJECTS) message(STATUS "${proj} project is enabled") set(SHOULD_ENABLE_PROJECT TRUE)