[CMake] cpack: add icon to start menu
John Drescher
drescherjm at gmail.com
Fri Sep 25 16:48:11 EDT 2009
On Fri, Sep 25, 2009 at 4:36 PM, Dixon, Shane <Shane.Dixon at atmel.com> wrote:
> I’m using the NSIS generator to create a package. Is there a CPACK variable
> that can be set to add a particular executable to the start menu? I noticed
> that the start menu is populated with “uninstall” only.
>
This works for me. Here is that part of my CMakeLists.txt
IF(PACKAGE_FOR_INSTALL)
SET(CPACK_PACKAGE_VERSION_MAJOR ${LungAnalysis_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${LungAnalysis_VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${LungAnalysis_VERSION_PATCH})
IF(CMAKE_CL_64)
SET(CMAKE_MSVC_ARCH amd64)
ELSE(CMAKE_CL_64)
SET(CMAKE_MSVC_ARCH x86)
ENDIF(CMAKE_CL_64)
IF(MSVC80)
FIND_PROGRAM(MSVC_REDIST NAMES
vcredist_${CMAKE_MSVC_ARCH}/vcredist_${CMAKE_MSVC_ARCH}.exe
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../SDK/v2.0/BootStrapper/Packages/"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../SDK/v2.0/BootStrapper/Packages/"
)
GET_FILENAME_COMPONENT(vcredist_name "${MSVC_REDIST}" NAME)
INSTALL(PROGRAMS ${MSVC_REDIST} COMPONENT Runtime DESTINATION bin)
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait
'\\\"$INSTDIR\\\\bin\\\\${vcredist_name}\\\"'")
ENDIF(MSVC80)
IF(UNIX AND NOT APPLE)
INSTALL(TARGETS HyvesDesktop
DESTINATION bin
)
FOREACH(LIB QtCore QtXml QtTest QtGui QtNetwork QtScript)
INSTALL(FILES
"${QT_LIBRARY_DIR}/lib${LIB}.so.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}"
RENAME "lib${LIB}.so.${QT_VERSION_MAJOR}"
DESTINATION bin
)
ENDFOREACH(LIB)
ENDIF(UNIX AND NOT APPLE)
IF(WIN32)
SET(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
SET(CPACK_PACKAGE_EXECUTABLES "LungAnalysis" "Lung Analysis")
INSTALL(FILES
"${QT_LIBRARY_DIR}/QtCore${QT_VERSION_MAJOR}.dll"
"${QT_LIBRARY_DIR}/QtXml${QT_VERSION_MAJOR}.dll"
"${QT_LIBRARY_DIR}/QtTest${QT_VERSION_MAJOR}.dll"
"${QT_LIBRARY_DIR}/QtGui${QT_VERSION_MAJOR}.dll"
"${QT_LIBRARY_DIR}/QtNetwork${QT_VERSION_MAJOR}.dll"
"${QT_LIBRARY_DIR}/QtScript${QT_VERSION_MAJOR}.dll"
DESTINATION bin
COMPONENT Applications
)
ENDIF(WIN32)
set(CPACK_COMPONENTS_ALL Applications Runtime)
INCLUDE(CPack)
ENDIF(PACKAGE_FOR_INSTALL)
More information about the CMake
mailing list