From 5fdfa6b2cd05de81ae167438e6ecccaee09f1980 Mon Sep 17 00:00:00 2001
From: NAKAMURA Takumi <geek4civic@gmail.com>
Date: Sun, 5 Jul 2015 10:16:24 +0000
Subject: [PATCH] [CMake] clang-*.*: Prevent versioning if the buildhost is
 targeting for Win32.

CMake-2.8.12 is hardcoded to create symlinked clang.exe if the target property VERSION is present and the host is not Win32.
Then clang.exe-*.* is generated and clang.exe is symlinked to it.

  lrwxrwxrwx. 1 bb bb      13 Jul  5 18:04 clang.exe -> clang.exe-3.7
  -rwxr-x---. 1 bb bb  244763 Jul  5 18:04 clang++.exe
  -rwxr-x---. 1 bb bb  244763 Jul  5 18:04 clang.exe-3.7

It made me unhappy when built binaries were copied to the Windows target.

FIXME: Could we just remove the target property VERSION in add_llvm_executable() ?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241403 91177308-0d34-0410-b5e6-96231b3b80d8
---
 tools/driver/CMakeLists.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index e592acadf17..82eed6e66db 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -38,7 +38,11 @@ target_link_libraries(clang
   clangFrontendTool
   )
 
-set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
+if(WIN32 AND NOT CYGWIN)
+  # Prevent versioning if the buildhost is targeting for Win32.
+else()
+  set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
+endif()
 
 # Support plugins.
 if(CLANG_PLUGIN_SUPPORT)
-- 
GitLab