Feng Lu
2014-Mar-06 14:59 UTC
[LLVMdev] [cfe-dev] Install Problem of Compiler-rt with Visual Studio Express 2013 for Windows Desktop
Hi, The actual location is in C:/llvm/build/Release/lib/clang/3.5.0/lib/windows/Release/clang_rt.asan-i386.lib which just replaces $(Configuration) as Release. Thanks On Wed, Mar 5, 2014 at 11:56 PM, Alexey Samsonov <samsonov at google.com>wrote:> +Brad > Brad, do you think we should fix add_compiler_rt_static_runtime for > multi-configuration generators > in the same way you fixed add_sanitizer_rt_symbols recently? > > On Thu, Mar 6, 2014 at 9:33 AM, Feng Lu <lufeng1204 at gmail.com> wrote: > >> Hi, All >> I have tried to compile and install LLVM on windows 8 using Visual >> Studio Express 2013 for Windows Desktop. >> The compiling is fine. However, the installing gives the following >> errors: >> 62> CMake Error at >> projects/compiler-rt/lib/asan/cmake_install.cmake:34 (FILE): >> 62> file INSTALL cannot find >> 62> >> "C:/llvm/build/$(Configuration)/lib/clang/3.5.0/lib/windows/Release/clang_rt.asan-i386.lib". >> > > What is the actual location of clang_rt.asan-i386.lib in your build tree? > > >> 62> Call Stack (most recent call first): >> 62> projects/compiler-rt/lib/cmake_install.cmake:32 (INCLUDE) >> 62> projects/compiler-rt/cmake_install.cmake:33 (INCLUDE) >> 62> projects/cmake_install.cmake:32 (INCLUDE) >> 62> cmake_install.cmake:55 (INCLUDE) >> 62> >> Do I miss something? >> >> Thanks, >> Feng Lu >> >> _______________________________________________ >> cfe-dev mailing list >> cfe-dev at cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev >> >> > > > -- > Alexey Samsonov, MSK >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140306/528b7d65/attachment.html>
Brad King
2014-Mar-06 15:16 UTC
[LLVMdev] [cfe-dev] Install Problem of Compiler-rt with Visual Studio Express 2013 for Windows Desktop
On 03/06/2014 09:59 AM, Feng Lu wrote:> The actual location is in > C:/llvm/build/Release/lib/clang/3.5.0/lib/windows/Release/clang_rt.asan-i386.lib > which just replaces $(Configuration) as Release. > > On Wed, Mar 5, 2014 at 11:56 PM, Alexey Samsonov wrote: >> Brad, do you think we should fix add_compiler_rt_static_runtime >> for multi-configuration generators >> in the same way you fixed add_sanitizer_rt_symbols recently?Actually this one is a different problem. The install(TARGETS) command is used so it should know the proper location of the file. However, it looks like ${CMAKE_CFG_INTDIR} is ending up in target output directory properties. This is not correct. The target output directory properties should be plain paths with no native build-system macros or placeholders, like $(Configuration) in this case. The set_output_directory function in AddLLVM properly replaces that placeholder and sets per-configuration output directory properties correctly. AddCompilerRT.cmake is using the value directly in ARCHIVE_OUTPUT_DIRECTORY an LIBRARY_OUTPUT_DIRECTORY. That causes this problem. Much of this could be cleaned up throughout LLVM by avoiding use of ${CMAKE_CFG_INTDIR} and using generator expressions like $<TARGET_FILE> to refer to target locations instead. This quick fix for compiler-rt though is to adopt set_output_directory. -Brad