From 002062b024c094279d4b0ed7db13a69159b2d8ba Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 29 Aug 2013 22:09:43 +0000 Subject: [PATCH] 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 --- CMakeLists.txt | 41 ++++++++++--------- tools/msbuild/CMakeLists.txt | 8 +++- tools/msbuild/Microsoft.Cpp.Win32.llvm.props | 9 ---- .../msbuild/Microsoft.Cpp.Win32.llvm.props.in | 9 ++++ 4 files changed, 37 insertions(+), 30 deletions(-) delete mode 100644 tools/msbuild/Microsoft.Cpp.Win32.llvm.props create mode 100644 tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 56adcf335d4..ee7a7023651 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 a1dca8aca8d..393b22a72cc 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 12938f4a6d4..00000000000 --- a/tools/msbuild/Microsoft.Cpp.Win32.llvm.props +++ /dev/null @@ -1,9 +0,0 @@ - - - - - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM 3.4.svn) - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM 3.4.svn) - $(ClangInstallDir)\msbuild-bin;$(ExecutablePath) - - 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 00000000000..0f474c0e9e0 --- /dev/null +++ b/tools/msbuild/Microsoft.Cpp.Win32.llvm.props.in @@ -0,0 +1,9 @@ + + + + + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\@REG_KEY@) + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\@REG_KEY@) + $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath) + + -- 2.34.1