diff options
author | Reid Kleckner <reid@kleckner.net> | 2013-08-29 22:09:43 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2013-08-29 22:09:43 +0000 |
commit | 002062b024c094279d4b0ed7db13a69159b2d8ba (patch) | |
tree | 3d2b9e39fc7a3fc74edfaa671a6c2cf04a552a89 | |
parent | 6d3bbc05a79c5bfe1e7a17acb913d8d09c45b50b (diff) | |
download | llvm-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.txt | 41 | ||||
-rw-r--r-- | tools/msbuild/CMakeLists.txt | 8 | ||||
-rw-r--r-- | tools/msbuild/Microsoft.Cpp.Win32.llvm.props | 9 | ||||
-rw-r--r-- | tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in | 9 |
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>
|