Release.cmake 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #########################################################################
  2. # Setup release scripts.
  3. IF(WIN32)
  4. FIND_PROGRAM(NSIS_MAKENSIS NAMES makensis
  5. PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS]
  6. DOC "Where is makensis.exe located"
  7. )
  8. MARK_AS_ADVANCED(NSIS_MAKENSIS)
  9. FIND_PROGRAM(WINZIP_WZZIP NAMES wzzip
  10. PATHS "C:/Program Files/WinZip"
  11. DOC "Where is makensis.exe located"
  12. )
  13. MARK_AS_ADVANCED(WINZIP_WZZIP)
  14. STRING(REGEX REPLACE "/" "\\\\" CMake_INSTALL_TOP "${CMAKE_INSTALL_PREFIX}")
  15. SET(NSIS_EXTRA_COMMANDS ";Include system runtime libraries.\n SetOutPath \"$INSTDIR\\bin\"\n")
  16. FOREACH(lib ${CMake_INSTALL_SYSTEM_RUNTIME_LIBS})
  17. STRING(REGEX REPLACE "/" "\\\\" LIB "${lib}")
  18. SET(NSIS_EXTRA_COMMANDS "${NSIS_EXTRA_COMMANDS} File \"${LIB}\"\n")
  19. ENDFOREACH(lib)
  20. CONFIGURE_FILE(
  21. ${PROJECT_SOURCE_DIR}/Utilities/Release/${PROJECT_NAME}.nsi.in
  22. ${PROJECT_BINARY_DIR}/Utilities/Release/${PROJECT_NAME}.nsi
  23. IMMEDIATE @ONLY)
  24. CONFIGURE_FILE(
  25. ${PROJECT_SOURCE_DIR}/Utilities/Release/cmake_release.sh.in
  26. ${PROJECT_BINARY_DIR}/Utilities/Release/cmake_release.sh
  27. IMMEDIATE @ONLY)
  28. ENDIF(WIN32)
  29. CONFIGURE_FILE(
  30. ${PROJECT_SOURCE_DIR}/Utilities/Release/MakeRelease.cmake.in
  31. ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  32. IMMEDIATE @ONLY)
  33. IF (NSIS_MAKENSIS AND WINZIP_WZZIP)
  34. # build the NSI
  35. ADD_CUSTOM_TARGET( release
  36. ${CMAKE_COMMAND} -DBUILD_NSIW=1 -DCOMMIT_UNIX_SCRIPT=1 -DTAG_TREE=1 -DBUILD_WINZIP=1
  37. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  38. )
  39. ADD_CUSTOM_TARGET( release_nsiw
  40. ${CMAKE_COMMAND} -DBUILD_NSIW=1
  41. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  42. )
  43. ADD_CUSTOM_TARGET( release_winzip
  44. ${CMAKE_COMMAND} -DBUILD_WINZIP=1
  45. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  46. )
  47. ENDIF (NSIS_MAKENSIS AND WINZIP_WZZIP)
  48. ADD_CUSTOM_TARGET( release_commit_unix
  49. ${CMAKE_COMMAND} -DCOMMIT_UNIX_SCRIPT=1
  50. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  51. )
  52. ADD_CUSTOM_TARGET( release_tag
  53. ${CMAKE_COMMAND} -DTAG_TREE=1
  54. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  55. )
  56. ADD_CUSTOM_TARGET( release_tar
  57. ${CMAKE_COMMAND} -DBUILD_TAR=1
  58. -P ${PROJECT_BINARY_DIR}/Utilities/Release/MakeRelease.cmake
  59. )