summaryrefslogtreecommitdiffstats
path: root/tools/driver/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tools/driver/CMakeLists.txt')
-rw-r--r--tools/driver/CMakeLists.txt53
1 files changed, 20 insertions, 33 deletions
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index 3f1ed40..fca9b61 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -3,7 +3,6 @@ set( LLVM_LINK_COMPONENTS
Analysis
CodeGen
Core
- IPA
IPO
InstCombine
Instrumentation
@@ -52,38 +51,29 @@ endif()
add_dependencies(clang clang-headers)
-if(UNIX)
- set(CLANGXX_LINK_OR_COPY create_symlink)
-# Create a relative symlink
- set(clang_binary "clang${CMAKE_EXECUTABLE_SUFFIX}")
-else()
- set(CLANGXX_LINK_OR_COPY copy)
- set(clang_binary "${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}")
+install(TARGETS clang
+ RUNTIME DESTINATION bin
+ COMPONENT clang)
+
+if(NOT CMAKE_CONFIGURATION_TYPES)
+ add_custom_target(install-clang
+ DEPENDS clang
+ COMMAND "${CMAKE_COMMAND}"
+ -DCMAKE_INSTALL_COMPONENT=clang
+ -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
endif()
-# Create the clang++ symlink in the build directory.
-set(clang_pp "${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}")
-add_custom_command(TARGET clang POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY} "${clang_binary}" "${clang_pp}"
- WORKING_DIRECTORY "${LLVM_RUNTIME_OUTPUT_INTDIR}")
-
-set_property(DIRECTORY APPEND
- PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
-
-# Create the clang-cl symlink in the build directory.
-set(clang_cl "${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl${CMAKE_EXECUTABLE_SUFFIX}")
-add_custom_command(TARGET clang POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY} "${clang_binary}" "${clang_cl}"
- WORKING_DIRECTORY "${LLVM_RUNTIME_OUTPUT_INTDIR}")
-
-set_property(DIRECTORY APPEND
- PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_cl})
+if(NOT CLANG_LINKS_TO_CREATE)
+ set(CLANG_LINKS_TO_CREATE clang++ clang-cl)
-install(TARGETS clang
- RUNTIME DESTINATION bin)
+ if (WIN32)
+ list(APPEND CLANG_LINKS_TO_CREATE ../msbuild-bin/cl)
+ endif()
+endif()
-# Create the clang++ and clang-cl symlinks at installation time.
-install(SCRIPT clang_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\")
+foreach(link ${CLANG_LINKS_TO_CREATE})
+ add_clang_symlink(${link} clang)
+endforeach()
# Configure plist creation for OS X.
set (TOOL_INFO_PLIST "Info.plist" CACHE STRING "Plist name")
@@ -96,10 +86,7 @@ if (APPLE)
set(TOOL_INFO_UTI "${CLANG_VENDOR_UTI}")
set(TOOL_INFO_VERSION "${CLANG_VERSION}")
- if (LLVM_SUBMIT_VERSION)
- set(TOOL_INFO_BUILD_VERSION
- "${LLVM_SUBMIT_VERSION}.${LLVM_SUBMIT_SUBVERSION}")
- endif()
+ set(TOOL_INFO_BUILD_VERSION "${LLVM_MAJOR_VERSION}.${LLVM_MINOR_VERSION}")
set(TOOL_INFO_PLIST_OUT "${CMAKE_CURRENT_BINARY_DIR}/${TOOL_INFO_PLIST}")
target_link_libraries(clang
OpenPOWER on IntegriCloud