[CMAKE] - Add shortcuts to CMake livecd.

All .lnk files in Windows has structure called "id list". This is something like a path (we can't use environment variables there) and it is relative to Desktop. Usually first element is My Computer folder. In our shortcuts it points to livecd_start.cmd in My Documents folder, which is simple batch file. It's functionality is to start application given in argument. Because command line parameter of shell links can have environment variables, our shortcuts does not depend on patch to system directory (especially the drive number). It's a bit complicated but I have not found a better way.
Now we have working shortcuts on Desktop and Start Menu. Control Panel will benefit in future because Admin Tools depend on Start Menu.

svn path=/trunk/; revision=54514
This commit is contained in:
Rafal Harabien 2011-11-27 19:59:14 +00:00
parent 71867403fd
commit ff6d7b0236
2 changed files with 44 additions and 6 deletions

View file

@ -9,12 +9,12 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION rea
# livecd hives
list(APPEND CD_HIVES
${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf
${CMAKE_CURRENT_SOURCE_DIR}/livecd.inf
${CMAKE_CURRENT_SOURCE_DIR}/hiveinst_${ARCH}.inf)
${CMAKE_CURRENT_SOURCE_DIR}/hiveinst_${ARCH}.inf)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sam
@ -52,4 +52,41 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NAME_ON
#unattend
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/unattend.inf DESTINATION reactos NO_CAB FOR regtest)
#uncomment this for unattend bootcd
#add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd/unattend.inf DESTINATION reactos NO_CAB FOR bootcd)
#add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd/unattend.inf DESTINATION reactos NO_CAB FOR bootcd)
#LiveCD shortcuts
macro(add_livecd_shortcut name app dest)
add_link(NAME ${name} CMD_LINE_ARGS ${app} ICON ${app} PATH livecd_start.cmd GUID "{450D8FBA-AD25-11D0-98A8-0800361B1103}" MINIMIZE)
list(APPEND LIVECD_SHORTCUTS "${CMAKE_CURRENT_BINARY_DIR}/${name}.lnk")
add_cd_file(FILE "${CMAKE_CURRENT_BINARY_DIR}/${name}.lnk"
TARGET livecd_links
DESTINATION ${dest}
FOR livecd)
endmacro(add_livecd_shortcut)
add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/livecd_start.cmd" DESTINATION "Profiles/Default User/My Documents" FOR livecd)
add_livecd_shortcut("Command Prompt" cmd.exe "Profiles/All Users/Desktop")
add_livecd_shortcut("Device Manager" devmgmt.exe "Profiles/All Users/Start Menu/Programs/Administrative Tools")
add_livecd_shortcut("Event Viewer" eventvwr.exe "Profiles/All Users/Start Menu/Programs/Administrative Tools")
add_livecd_shortcut("Service Manager" servman.exe "Profiles/All Users/Start Menu/Programs/Administrative Tools")
add_livecd_shortcut("System Configuration" msconfig.exe "Profiles/All Users/Start Menu/Programs/Administrative Tools")
add_livecd_shortcut("Magnify" magnify.exe "Profiles/All Users/Start Menu/Programs/Accessibility")
add_livecd_shortcut("Calculator" calc.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("Command Prompt" cmd.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("Paint" mspaint.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("Notepad" notepad.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("Remote desktop" mstsc.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("WordPad" wordpad.exe "Profiles/All Users/Start Menu/Programs/Accessories")
add_livecd_shortcut("Audiorecorder" sndrec32.exe "Profiles/All Users/Start Menu/Programs/Entertainment")
add_livecd_shortcut("Multimedia Player" mplay32.exe "Profiles/All Users/Start Menu/Programs/Entertainment")
add_livecd_shortcut("Volume Control" sndvol32.exe "Profiles/All Users/Start Menu/Programs/Entertainment")
add_livecd_shortcut("Solitaire" sol.exe "Profiles/All Users/Start Menu/Programs/Games")
add_livecd_shortcut("Spider Solitaire" spider.exe "Profiles/All Users/Start Menu/Programs/Games")
add_livecd_shortcut("WineMine" winmine.exe "Profiles/All Users/Start Menu/Programs/Games")
add_livecd_shortcut("Character Map" charmap.exe "Profiles/All Users/Start Menu/Programs/System Tools")
add_livecd_shortcut("Keyboard Layout Switcher" kbswitch.exe "Profiles/All Users/Start Menu/Programs/System Tools")
add_livecd_shortcut("ReactX Diagnostic" dxdiag.exe "Profiles/All Users/Start Menu/Programs/System Tools")
add_livecd_shortcut("Regedit" regedit.exe "Profiles/All Users/Start Menu/Programs/System Tools")
add_livecd_shortcut("ReactOS Explorer" explorer.exe "Profiles/All Users/Start Menu/Programs")
add_custom_target(livecd_links DEPENDS ${LIVECD_SHORTCUTS})

View file

@ -0,0 +1 @@
@start %1