[MSVC, cmake 3.23.0-rc1] ExternalProject_Add seems not to be using SOURCE_SUBDIR argument
We use LLVM as a part of our project. We prebuild it using ExternalProject with following cmake script:
LLVM ExternalProject config
ExternalProject_Add(
LLVM
GIT_REPOSITORY https://github.com/llvm/llvm-project.git
GIT_TAG tags/llvmorg-10.0.0
GIT_SHALLOW true
GIT_PROGRESS true
UPDATE_COMMAND ""
PATCH_COMMAND ""
SOURCE_DIR ${LLVM_SOURCE_DIR}
SOURCE_SUBDIR llvm
BINARY_DIR ${LLVM_BUILD_DIR}
STAMP_DIR ${LLVM_DIR}/timestamps
EXCLUDE_FROM_ALL 1
INSTALL_DIR ${LLVM_INSTALL_PREFIX}
CMAKE_GENERATOR ${CMAKE_GENERATOR}
CMAKE_ARGS ${LLVM_ARGS}
TEST_COMMAND ""
LIST_SEPARATOR ,
)
Where LLVM_SOURCE_DIR is C:/Users/user/code/llvm/source
, and LLVM project is a sub-directory there.
This pulls the entire LLVM repo, but as we need to build the LLVM project only we use SOURCE_SUBDIR argument. The script works fine with cmake 3.22.2, but for cmake 3.23.0-rc1 we get this at the build step
1>CUSTOMBUILD : CMake error : The source directory "C:/Users/user/code/llvm/source" does not appear to contain CMakeLists.txt.[C:\Users\user\code\build\thirdparty\llvm\LLVM.vcxproj]
The expected LLVM source directory should be C:/Users/user/code/llvm/source/llvm
, but it is not.
Edited by Craig Scott