Skip to content

Commit dd75eb5

Browse files
committed
[CMake] Convert paths to the right form in standalone builds on Windows
The paths output from llvm-config --cmakedir and from clang --print-libgcc-file-name can contain backslashes, while CMake can't handle the paths in this form. This matches what compiler-rt already does (since SVN r203789 and r293195). Differential Revision: https://reviews.llvm.org/D48355 llvm-svn: 335171
1 parent 3d1c8c9 commit dd75eb5

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

libcxxabi/cmake/Modules/HandleCompilerRT.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ function(find_compiler_rt_library name dest)
1414
OUTPUT_VARIABLE LIBRARY_FILE
1515
)
1616
string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
17+
file(TO_CMAKE_PATH "${LIBRARY_FILE}" LIBRARY_FILE)
1718
string(REPLACE "builtins" "${name}" LIBRARY_FILE "${LIBRARY_FILE}")
1819
if (NOT HAD_ERROR AND EXISTS "${LIBRARY_FILE}")
1920
message(STATUS "Found compiler-rt library: ${LIBRARY_FILE}")
@@ -37,6 +38,7 @@ function(find_compiler_rt_dir dest)
3738
OUTPUT_VARIABLE LIBRARY_DIR
3839
)
3940
string(STRIP "${LIBRARY_DIR}" LIBRARY_DIR)
41+
file(TO_CMAKE_PATH "${LIBRARY_DIR}" LIBRARY_DIR)
4042
set(LIBRARY_DIR "${LIBRARY_DIR}/darwin")
4143
else()
4244
set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${LIBCXXABI_COMPILE_FLAGS}
@@ -47,6 +49,7 @@ function(find_compiler_rt_dir dest)
4749
OUTPUT_VARIABLE LIBRARY_FILE
4850
)
4951
string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
52+
file(TO_CMAKE_PATH "${LIBRARY_FILE}" LIBRARY_FILE)
5053
get_filename_component(LIBRARY_DIR "${LIBRARY_FILE}" DIRECTORY)
5154
endif()
5255
if (NOT HAD_ERROR AND EXISTS "${LIBRARY_DIR}")

libcxxabi/cmake/Modules/HandleOutOfTreeLLVM.cmake

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,11 @@ macro(find_llvm_parts)
4646
OUTPUT_VARIABLE CONFIG_OUTPUT
4747
ERROR_QUIET)
4848
if(NOT HAD_ERROR)
49-
string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH)
49+
string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH_FROM_LLVM_CONFIG)
50+
file(TO_CMAKE_PATH "${LLVM_CMAKE_PATH_FROM_LLVM_CONFIG}" LLVM_CMAKE_PATH)
5051
else()
51-
set(LLVM_CMAKE_PATH
52-
"${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
52+
file(TO_CMAKE_PATH "${LLVM_BINARY_DIR}" LLVM_BINARY_DIR_CMAKE_STYLE)
53+
set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
5354
endif()
5455
else()
5556
set(LLVM_FOUND OFF)

0 commit comments

Comments
 (0)