summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2013-08-29 22:09:43 +0000
committerReid Kleckner <reid@kleckner.net>2013-08-29 22:09:43 +0000
commit002062b024c094279d4b0ed7db13a69159b2d8ba (patch)
tree3d2b9e39fc7a3fc74edfaa671a6c2cf04a552a89
parent6d3bbc05a79c5bfe1e7a17acb913d8d09c45b50b (diff)
downloadllvm-002062b024c094279d4b0ed7db13a69159b2d8ba.tar.gz
llvm-002062b024c094279d4b0ed7db13a69159b2d8ba.tar.bz2
llvm-002062b024c094279d4b0ed7db13a69159b2d8ba.tar.xz
Substitute LLVM's version into the msbuild property file at config time
Requires shuffling the CPack code up before add_subdirectory(tools), but that's where the version settings are anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189615 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--CMakeLists.txt41
-rw-r--r--tools/msbuild/CMakeLists.txt8
-rw-r--r--tools/msbuild/Microsoft.Cpp.Win32.llvm.props9
-rw-r--r--tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in9
4 files changed, 37 insertions, 30 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 56adcf335d..ee7a702365 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,6 +35,27 @@ set(PACKAGE_NAME LLVM)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "http://llvm.org/bugs/")
+# Configure CPack.
+set(CPACK_PACKAGE_VENDOR "LLVM")
+set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR})
+if( LLVM_APPEND_VC_REV )
+ add_version_info_from_vcs(CPACK_PACKAGE_VERSION_PATCH)
+else()
+ set(CPACK_PACKAGE_VERSION_PATCH "svn")
+endif()
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT")
+if(WIN32 AND NOT UNIX)
+ set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_logo.bmp")
+ set(CPACK_NSIS_MODIFY_PATH "ON")
+ set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
+ set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
+ "ExecWait '$INSTDIR/tools/msbuild/install.bat'")
+ set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
+ "ExecWait '$INSTDIR/tools/msbuild/uninstall.bat'")
+endif()
+include(CPack)
+
# Sanity check our source directory to make sure that we are not trying to
# generate an in-tree build (unless on MSVC_IDE, where it is ok), and to make
# sure that we don't have any stray generated files lying around in the tree
@@ -500,26 +521,6 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
)
endif()
-set(CPACK_PACKAGE_VENDOR "LLVM")
-set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
-set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR})
-if( LLVM_APPEND_VC_REV )
- add_version_info_from_vcs(CPACK_PACKAGE_VERSION_PATCH)
-else()
- set(CPACK_PACKAGE_VERSION_PATCH "svn")
-endif()
-set(CPACK_RESOURCE_FILE_LICENSE "${LLVM_MAIN_SRC_DIR}/LICENSE.TXT")
-if(WIN32 AND NOT UNIX)
- set(CPACK_PACKAGE_ICON "${LLVM_MAIN_SRC_DIR}\\\\cmake\\\\nsis_logo.bmp")
- set(CPACK_NSIS_MODIFY_PATH "ON")
- set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
- set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
- "ExecWait '$INSTDIR/tools/msbuild/install.bat'")
- set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
- "ExecWait '$INSTDIR/tools/msbuild/uninstall.bat'")
-endif()
-include(CPack)
-
# Workaround for MSVS10 to avoid the Dialog Hell
# FIXME: This could be removed with future version of CMake.
if(MSVC_VERSION EQUAL 1600)
diff --git a/tools/msbuild/CMakeLists.txt b/tools/msbuild/CMakeLists.txt
index a1dca8aca8..393b22a72c 100644
--- a/tools/msbuild/CMakeLists.txt
+++ b/tools/msbuild/CMakeLists.txt
@@ -1,9 +1,15 @@
if (WIN32)
+ set(prop_file "Microsoft.Cpp.Win32.llvm.props")
+
+ # CPack will install a registry key in this format that we wish to reference.
+ set(REG_KEY "${CMAKE_PROJECT_NAME} ${CPACK_PACKAGE_VERSION}")
+ configure_file(${prop_file}.in ${prop_file})
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${prop_file}" DESTINATION tools/msbuild)
+
install(DIRECTORY .
DESTINATION tools/msbuild
FILES_MATCHING
PATTERN "*.targets"
- PATTERN "*.props"
PATTERN "*.bat"
PATTERN ".svn" EXCLUDE
)
diff --git a/tools/msbuild/Microsoft.Cpp.Win32.llvm.props b/tools/msbuild/Microsoft.Cpp.Win32.llvm.props
deleted file mode 100644
index 12938f4a6d..0000000000
--- a/tools/msbuild/Microsoft.Cpp.Win32.llvm.props
+++ /dev/null
@@ -1,9 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v100\Microsoft.Cpp.$(Platform).v100.props"/>
-
- <PropertyGroup>
- <ClangInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM 3.4.svn)</ClangInstallDir>
- <ClangInstallDir Condition="'$(ClangInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM 3.4.svn)</ClangInstallDir>
- <ExecutablePath>$(ClangInstallDir)\msbuild-bin;$(ExecutablePath)</ExecutablePath>
- </PropertyGroup>
-</Project>
diff --git a/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in b/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in
new file mode 100644
index 0000000000..0f474c0e9e
--- /dev/null
+++ b/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in
@@ -0,0 +1,9 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(VCTargetsPath)\Platforms\$(Platform)\PlatformToolsets\v100\Microsoft.Cpp.$(Platform).v100.props"/>
+
+ <PropertyGroup>
+ <LLVMInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\@REG_KEY@)</LLVMInstallDir>
+ <LLVMInstallDir Condition="'$(LLVMInstallDir)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\@REG_KEY@)</LLVMInstallDir>
+ <ExecutablePath>$(LLVMInstallDir)\msbuild-bin;$(ExecutablePath)</ExecutablePath>
+ </PropertyGroup>
+</Project>