summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Ricci <francisjricci@gmail.com>2016-09-07 20:32:48 +0000
committerFrancis Ricci <francisjricci@gmail.com>2016-09-07 20:32:48 +0000
commit4a0c5cdd3e3feb1a94b78f1196668e83fedfbca8 (patch)
tree93c7079d0fa6d47fa02f910686248e44295e250b
parent58a7731dafc791d58adf86783dbd6cb420e651e5 (diff)
[compiler-rt] Fix library suffixes on windows
Summary: Make sure that windows libraries contain the suffixes expected by clang. This is expecially important when compiling the windows builtins with clang, as cmake will use .a as the suffix by default. Reviewers: beanz, compnerd Subscribers: llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D24046 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@280854 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--cmake/Modules/AddCompilerRT.cmake10
-rw-r--r--cmake/base-config-ix.cmake9
2 files changed, 17 insertions, 2 deletions
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
index 6ed4f1616..1a2e48992 100644
--- a/cmake/Modules/AddCompilerRT.cmake
+++ b/cmake/Modules/AddCompilerRT.cmake
@@ -195,8 +195,14 @@ function(add_compiler_rt_runtime name type)
set_target_properties(${libname} PROPERTIES
OUTPUT_NAME ${output_name_${libname}})
set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime")
- if(LIB_LINK_LIBS AND ${type} STREQUAL "SHARED")
- target_link_libraries(${libname} ${LIB_LINK_LIBS})
+ if(${type} STREQUAL "SHARED")
+ if(LIB_LINK_LIBS)
+ target_link_libraries(${libname} ${LIB_LINK_LIBS})
+ endif()
+ if(WIN32 AND NOT CYGWIN AND NOT MINGW)
+ set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+ set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+ endif()
endif()
install(TARGETS ${libname}
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
index 830e443ea..4ea9eb8ce 100644
--- a/cmake/base-config-ix.cmake
+++ b/cmake/base-config-ix.cmake
@@ -86,6 +86,15 @@ if(APPLE)
option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
endif()
+if(WIN32 AND NOT MINGW AND NOT CYGWIN)
+ set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
+ set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
+ set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
+ set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
+ set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
+ set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
+endif()
+
macro(test_targets)
# Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
# what version of MSVC to pretend to be so that the STL works.