[llvm] r369129 - Fix llvm-config support for CMake build-mode-style builds
Jordan Rose via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 16 10:17:45 PDT 2019
Author: jrose
Date: Fri Aug 16 10:17:45 2019
New Revision: 369129
URL: http://llvm.org/viewvc/llvm-project?rev=369129&view=rev
Log:
Fix llvm-config support for CMake build-mode-style builds
At some point we and/or CMake changed our build-mode-style builds from
$LLVM_OBJ_ROOT/bin/$CMAKE_CFG_INTDIR/
to
$LLVM_OBJ_ROOT/$CMAKE_CFG_INTDIR/bin/
which is way easier to use. But no one updated llvm-config.
https://reviews.llvm.org/D66326
Modified:
llvm/trunk/tools/llvm-config/llvm-config.cpp
Modified: llvm/trunk/tools/llvm-config/llvm-config.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-config/llvm-config.cpp?rev=369129&r1=369128&r2=369129&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-config/llvm-config.cpp (original)
+++ llvm/trunk/tools/llvm-config/llvm-config.cpp Fri Aug 16 10:17:45 2019
@@ -291,8 +291,8 @@ int main(int argc, char **argv) {
IsInDevelopmentTree = true;
DevelopmentTreeLayout = CMakeStyle;
ActiveObjRoot = LLVM_OBJ_ROOT;
- } else if (sys::fs::equivalent(CurrentExecPrefix,
- Twine(LLVM_OBJ_ROOT) + "/bin")) {
+ } else if (sys::fs::equivalent(sys::path::parent_path(CurrentExecPrefix),
+ LLVM_OBJ_ROOT)) {
IsInDevelopmentTree = true;
DevelopmentTreeLayout = CMakeBuildModeStyle;
ActiveObjRoot = LLVM_OBJ_ROOT;
@@ -319,11 +319,14 @@ int main(int argc, char **argv) {
ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
break;
case CMakeBuildModeStyle:
+ // FIXME: Should we consider the build-mode-specific path as the prefix?
ActivePrefix = ActiveObjRoot;
- ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
+ ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
ActiveLibDir =
- ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+ ActiveObjRoot + "/" + build_mode + "/lib" + LLVM_LIBDIR_SUFFIX;
+ // The CMake directory isn't separated by build mode.
+ ActiveCMakeDir =
+ ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX + "/cmake/llvm";
break;
}
More information about the llvm-commits
mailing list