Author: rharabien
Date: Sun Nov 27 19:59:14 2011
New Revision: 54514

URL: http://svn.reactos.org/svn/reactos?rev=54514&view=rev
Log:
[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.

Added:
    trunk/reactos/boot/bootdata/livecd_start.cmd   (with props)
Modified:
    trunk/reactos/boot/bootdata/CMakeLists.txt

Modified: trunk/reactos/boot/bootdata/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/CMakeLists.txt?rev=54514&r1=54513&r2=54514&view=diff
==============================================================================
--- trunk/reactos/boot/bootdata/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/CMakeLists.txt [iso-8859-1] Sun Nov 27 19:59:14 
2011
@@ -9,12 +9,12 @@
 
 # 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 @@
 #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})

Added: trunk/reactos/boot/bootdata/livecd_start.cmd
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/livecd_start.cmd?rev=54514&view=auto
==============================================================================
--- trunk/reactos/boot/bootdata/livecd_start.cmd (added)
+++ trunk/reactos/boot/bootdata/livecd_start.cmd [iso-8859-1] Sun Nov 27 
19:59:14 2011
@@ -1,0 +1,1 @@
+@start %1

Propchange: trunk/reactos/boot/bootdata/livecd_start.cmd
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to