[CMAKE]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Mon, 16 May 2011 13:12:07 +0000 (13:12 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Mon, 16 May 2011 13:12:07 +0000 (13:12 +0000)
Integrate cmake stuff into trunk
Only files added.

svn path=/trunk/; revision=51783

844 files changed:
reactos/CMakeLists.txt [new file with mode: 0644]
reactos/CMakeMacros.cmake [new file with mode: 0644]
reactos/PreLoad.cmake [new file with mode: 0644]
reactos/base/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cacls/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/calc/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/charmap/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/dbgprint/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/doskey/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/find/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/hostname/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/lodctr/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/more/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/reg/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/cmdutils/xcopy/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/control/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/dxdiag/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/extrac32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/findstr/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/fontview/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/games/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/games/solitaire/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/games/spider/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/games/winmine/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/hh/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/iexplore/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/kbswitch/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/kbswitch/kbsdll/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/logoff/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/magnify/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mmc/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mplay32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/msconfig/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mscutils/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mscutils/devmgmt/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mscutils/eventvwr/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mscutils/servman/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mspaint/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/mstsc/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/arp/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/dwnl/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/finger/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/ftp/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/ipconfig/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/net/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/netstat/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/nslookup/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/ping/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/route/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/telnet/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/tracert/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/network/whois/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/notepad/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/rapps/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/regedit/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/regedit/clb/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/regedt32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/sc/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/screensavers/3dtext/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/screensavers/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/screensavers/logon/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/shutdown/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/sndrec32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/sndvol32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/taskmgr/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/winhlp32/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/winver/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/wordpad/CMakeLists.txt [new file with mode: 0644]
reactos/base/applications/write/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/audiosrv/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/eventlog/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/rpcss/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/spoolsv/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/svchost/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/tcpsvcs/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/telnetd/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/tftpd/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/umpnpmgr/CMakeLists.txt [new file with mode: 0644]
reactos/base/services/wlansvc/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/reactos/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/setup/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/usetup/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/vmwinst/CMakeLists.txt [new file with mode: 0644]
reactos/base/setup/welcome/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/cmd/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/explorer-new/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/explorer/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/explorer/notifyhook/CMakeLists.txt [new file with mode: 0644]
reactos/base/shell/explorer/notifyhook/notifyhook.spec [new file with mode: 0644]
reactos/base/system/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/autochk/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/bootok/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/expand/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/format/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/lsass/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/msiexec/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/regsvr32/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/rundll32/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/runonce/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/services/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/smss/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/subst/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/userinit/CMakeLists.txt [new file with mode: 0644]
reactos/base/system/winlogon/CMakeLists.txt [new file with mode: 0644]
reactos/baseaddress.cmake [new file with mode: 0644]
reactos/boot/CMakeLists.txt [new file with mode: 0644]
reactos/boot/bootdata/CMakeLists.txt [new file with mode: 0644]
reactos/boot/bootdata/packages/CMakeLists.txt [new file with mode: 0644]
reactos/boot/bootdata/packages/reactos.dff.in [new file with mode: 0644]
reactos/boot/freeldr/CMakeLists.txt [new file with mode: 0644]
reactos/boot/freeldr/bootsect/CMakeLists.txt [new file with mode: 0644]
reactos/boot/freeldr/freeldr/CMakeLists.txt [new file with mode: 0644]
reactos/boot/freeldr/freeldr/arch/i386/fathelp.S [new file with mode: 0644]
reactos/boot/freeldr/freeldr/arch/i386/realmode.S [new file with mode: 0644]
reactos/cmake/CMakeParseArguments.cmake [new file with mode: 0644]
reactos/cmake/Platform/Windows-cl.cmake [new file with mode: 0644]
reactos/cmake/Platform/Windows.cmake [new file with mode: 0644]
reactos/cmake/idl-support.cmake [new file with mode: 0644]
reactos/config-amd64.cmake [new file with mode: 0644]
reactos/config-arm.cmake [new file with mode: 0644]
reactos/config.cmake [new file with mode: 0644]
reactos/configure.cmd [new file with mode: 0644]
reactos/dll/3rdparty/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/dxtn/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/libjpeg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/libpng/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/libtiff/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/libxslt/CMakeLists.txt [new file with mode: 0644]
reactos/dll/3rdparty/mesa32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/access/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/appwiz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/console/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/desk/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/hdwwiz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/input/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/intl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/joy/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/main/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/mmsys/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/ncpa/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/odbccp32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/powercfg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/sysdm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/telephon/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/timedate/CMakeLists.txt [new file with mode: 0644]
reactos/dll/cpl/usrmgr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/amstream/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/d3d8thk/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/devenum/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dinput/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dinput8/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dmusic/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dplay/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dplayx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dsound/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/dxdiagn/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/ksproxy/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/ksuser/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/msdmo/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/qedit/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/quartz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3d8/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3d9/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_24/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_25/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_26/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_27/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_28/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_29/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_30/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_31/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_33/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_34/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_35/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_36/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_37/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_38/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_39/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_40/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_41/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/d3dx9_42/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/ddraw/CMakeLists.txt [new file with mode: 0644]
reactos/dll/directx/wine/wined3d/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbda1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbda2/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbda3/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdal/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdarme/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdarmw/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdaze/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdazel/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbe/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbga/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbgm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbgt/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdblr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdbur/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdcan/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdcr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdcz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdcz1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdda/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbddv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdes/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdest/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdfc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdfi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdfr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdgeo/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdgerg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdgneo/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdgr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdgrist/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdhe/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdheb/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdhu/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdic/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdinasa/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdinben/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdindev/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdinguj/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdinmal/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdir/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdit/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdja/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdkaz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdko/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdla/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdlt1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdlv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdmac/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdne/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdno/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdpl1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdpo/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdro/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdru/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdru1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdsg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdsk/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdsk1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdsw/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdtat/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdth0/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdth1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdth2/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdth3/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdtuf/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdtuq/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbduk/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdur/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdurs/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdus/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdusa/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdusl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdusr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdusx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbduzb/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdvntc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdycc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/keyboard/kbdycl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/nls/CMakeLists.txt [new file with mode: 0644]
reactos/dll/nls/idndl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/nls/normaliz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/nls/normaliz/normaliz.spec [new file with mode: 0644]
reactos/dll/ntdll/CMakeLists.txt [new file with mode: 0644]
reactos/dll/ntdll/def/ntdll.spec [new file with mode: 0644]
reactos/dll/shellext/CMakeLists.txt [new file with mode: 0644]
reactos/dll/shellext/deskadp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/shellext/deskmon/CMakeLists.txt [new file with mode: 0644]
reactos/dll/shellext/devcpux/CMakeLists.txt [new file with mode: 0644]
reactos/dll/shellext/fontext/CMakeLists.txt [new file with mode: 0644]
reactos/dll/shellext/slayer/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/acledit/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/aclui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/activeds/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/actxprxy/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/advapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/advpack/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/atl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/authz/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/avicap32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/avifil32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/batt/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/bcrypt/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/beepmidi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/browseui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cabinet/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cards/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cfgmgr32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/clusapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/comcat/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/comctl32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/comdlg32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/compstui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/credui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/crtdll/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/crtdll/crtdll.def [new file with mode: 0644]
reactos/dll/win32/crypt32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cryptdlg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cryptdll/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cryptnet/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/cryptui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dbghelp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dciman32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/devmgr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dhcpcsvc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dnsapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dwmapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/dwmapi/dwmapi_ros.diff [new file with mode: 0644]
reactos/dll/win32/faultrep/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/fmifs/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/fusion/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/gdi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/gdiplus/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/getuname/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/glu32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/hhctrl.ocx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/hid/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/hlink/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/hnetcfg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/httpapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/iccvid/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/icmp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/imaadp32.acm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/imagehlp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/imm32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/inetcomm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/inetmib1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/initpki/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/inseng/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/iphlpapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/itircl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/itss/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/jscript/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/kernel32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/kernel32/kernel32.spec [new file with mode: 0644]
reactos/dll/win32/loadperf/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/localspl/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/localui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/lpk/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/lsasrv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/lz32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mciavi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mcicda/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mciqtz32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mciseq/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mciwave/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mlang/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mmdrv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/modemui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mpr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mpr/mpr_ros.diff [new file with mode: 0644]
reactos/dll/win32/mprapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msacm32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msacm32/msacm32.drv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msadp32.acm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msafd/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mscat32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mscms/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mscoree/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msctf/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msftedit/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msg711.acm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msgina/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msgsm32.acm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mshtml.tlb/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mshtml/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msimg32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msimtf/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msisip/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msisys.ocx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msnet32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msrle32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mssign32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mssip32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mstask/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msvcrt/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msvcrt20/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msvcrt40/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msvfw32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msvidc32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/mswsock/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msxml3/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msxml3/msxml3_ros.diff [new file with mode: 0644]
reactos/dll/win32/nddeapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/netapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/netcfgx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/netevent/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/netid/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/netid/netid.def [new file with mode: 0644]
reactos/dll/win32/netshell/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/newdev/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ntdsapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ntlanman/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ntmarta/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ntprint/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/objsel/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/odbc32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/odbccp32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ole32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/oleacc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/oleaut32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/olecli32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/oledlg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/olepro32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/olesvr32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/olethk32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/opengl32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/pdh/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/pidgen/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/powrprof/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/printui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/psapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/pstorec/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/qmgr/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/qmgrprxy/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/query/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rasadhlp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rasapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rasdlg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rasman/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/resutils/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/riched20/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/riched20/msvc-thiscall.c [new file with mode: 0644]
reactos/dll/win32/riched20/msvc.h [new file with mode: 0644]
reactos/dll/win32/riched32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rpcrt4/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rsabase/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/rsaenh/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/samlib/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/samsrv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sccbase/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/schannel/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/secur32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/security/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sensapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/serialui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/setupapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sfc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sfc_os/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shdoclc/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shdocvw/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shell32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shfolder/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shimgvw/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/shlwapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/slbcsp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/smdll/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sndblst/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/snmpapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/softpub/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/spoolss/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/srclient/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/stdole2.tlb/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/stdole32.tlb/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sti/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/sxs/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/syssetup/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/t2embed/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/tapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/tapiui/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/traffic/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/twain_32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/uext2/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ufat/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ufatx/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/unicows/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/untfs/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/updspapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/url/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/urlmon/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/user32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/user32/user32.spec [new file with mode: 0644]
reactos/dll/win32/userenv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/usp10/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/uxtheme/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/vdmdbg/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/version/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wdmaud.drv/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/windowscodecs/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winemp3.acm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winfax/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wing32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winhttp/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wininet/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winmm/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winmm/midimap/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winspool/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winsta/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wintrust/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wlanapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wldap32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wmi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ws2_32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ws2_32_new/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/ws2help/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wshirda/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wshtcpip/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wsock32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wsock32/wsock32.spec [new file with mode: 0644]
reactos/dll/win32/wtsapi32/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/wuapi/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/xinput1_1/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/xinput1_2/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/xinput1_3/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/xinput9_1_0/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/xmllite/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/beep/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/bootvid/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/kdcom/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/kddll/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/kddll/kdcom.spec [new file with mode: 0644]
reactos/drivers/base/nmidebug/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/base/null/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/battery/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/battery/battc/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/acpi/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/acpi/cmbatt/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/acpi/compbatt/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/isapnp/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/pci/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/pcix/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/bus/pcmcia/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/directx/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/directx/dxapi/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/directx/dxg/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/directx/dxgthk/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/cdfs/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/ext2/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/fastfat/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/fastfat_new/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/fs_rec/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/msfs/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/mup/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/npfs/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/filesystems/ntfs/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/input/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/input/i8042prt/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/input/kbdclass/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/input/mouclass/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/input/sermouse/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/ksfilter/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/ksfilter/ks/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/ksfilter/swenum/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/afd/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/dd/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/dd/ne2000/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/dd/pcnet/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/ndis/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/tcpip/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/network/tdi/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/parallel/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/parallel/parallel/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/serial/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/serial/serenum/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/serial/serial/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/setup/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/setup/blue/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/class/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/class/cdrom/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/class/class2/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/class/disk/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/class/ramdisk/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/classpnp/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/floppy/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/ide/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/ide/atapi/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/ide/pciide/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/ide/pciidex/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/ide/uniata/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/port/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/port/buslogic/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/scsiport/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/storage/scsiport/scsiport.spec [new file with mode: 0644]
reactos/drivers/usb/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/nt4compat/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/nt4compat/usbdriver/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/usbd/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/usbehci/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/usbhub/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/usb/usbstor/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/displays/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/displays/framebuf/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/displays/framebuf_new/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/displays/vga/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/font/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/font/bmfd/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/font/ftfd/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/font/ftfd/ftfd.spec [new file with mode: 0644]
reactos/drivers/video/miniport/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/miniport/vbe/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/miniport/vga/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/miniport/vga_new/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/miniport/vmx_svga/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/miniport/xboxvmp/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/video/videoprt/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/backpln/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/backpln/audio_test/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/backpln/portcls/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/drm/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/drm/drmk/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/filters/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/filters/kmixer/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/legacy/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/legacy/wdmaud/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wdm/audio/sysaudio/CMakeLists.txt [new file with mode: 0644]
reactos/drivers/wmi/CMakeLists.txt [new file with mode: 0644]
reactos/gcc.cmake [new file with mode: 0644]
reactos/global.lds [new file with mode: 0644]
reactos/hal/CMakeLists.txt [new file with mode: 0644]
reactos/hal/hal.spec [new file with mode: 0644]
reactos/hal/halx86/CMakeLists.txt [new file with mode: 0644]
reactos/importlibs/.gitignore [new file with mode: 0644]
reactos/include/asm/CMakeLists.txt [new file with mode: 0644]
reactos/include/asm/asm.inc [new file with mode: 0644]
reactos/include/asm/genincdata.c [new file with mode: 0644]
reactos/include/asm/ks386.template.h [new file with mode: 0644]
reactos/include/asm/ksamd64.template.h [new file with mode: 0644]
reactos/include/asm/ksx.template.h [new file with mode: 0644]
reactos/include/asm/syscalls.inc [new file with mode: 0644]
reactos/include/dxsdk/CMakeLists.txt [new file with mode: 0644]
reactos/include/host/config.h [new file with mode: 0644]
reactos/include/host/debug.h [new file with mode: 0644]
reactos/include/host/guiddef.h [new file with mode: 0644]
reactos/include/host/wine/list.h [new file with mode: 0644]
reactos/include/host/wine/port.h [new file with mode: 0644]
reactos/include/host/wine/rpcfc.h [new file with mode: 0644]
reactos/include/host/wine/wpp.h [new file with mode: 0644]
reactos/include/psdk/CMakeLists.txt [new file with mode: 0644]
reactos/include/reactos/buildno.h.cmake [new file with mode: 0644]
reactos/include/reactos/idl/CMakeLists.txt [new file with mode: 0644]
reactos/include/reactos/mc/CMakeLists.txt [new file with mode: 0644]
reactos/include/reactos/msvchelper.h [new file with mode: 0644]
reactos/include/reactos/version.cmake [new file with mode: 0644]
reactos/include/reactos/version.h.cmake [new file with mode: 0644]
reactos/include/reactos/wine/CMakeLists.txt [new file with mode: 0644]
reactos/include/reactos/wine/alloca.h [new file with mode: 0644]
reactos/include/reactos/wine/math.h [new file with mode: 0644]
reactos/lib/3rdparty/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/adns/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/bzip2/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/cardlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/expat/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/freetype/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/fullfat/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/icu4ros/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/libmpg123/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/libsamplerate/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/libwine/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/libxml2/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/mingw/CMakeLists.txt [new file with mode: 0644]
reactos/lib/3rdparty/mingw/mscmain.c [new file with mode: 0644]
reactos/lib/3rdparty/zlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/atl/CMakeLists.txt [new file with mode: 0644]
reactos/lib/cmlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/cportlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/dnslib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/chew/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/csq/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/ip/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/oskittcp/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/legacy/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/mmebuddy/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/mment4/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/mmixer/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/shared/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/soundblaster/CMakeLists.txt [new file with mode: 0644]
reactos/lib/drivers/sound/uartmidi/CMakeLists.txt [new file with mode: 0644]
reactos/lib/epsapi/CMakeLists.txt [new file with mode: 0644]
reactos/lib/fslib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/fslib/ext2lib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/fslib/ntfslib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/fslib/vfatlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/fslib/vfatxlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/host/wcsfuncs/CMakeLists.txt [new file with mode: 0644]
reactos/lib/inflib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/lsalib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/newinflib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/nls/CMakeLists.txt [new file with mode: 0644]
reactos/lib/nls/idna/CMakeLists.txt [new file with mode: 0644]
reactos/lib/nls/normalize/CMakeLists.txt [new file with mode: 0644]
reactos/lib/nls/scripts/CMakeLists.txt [new file with mode: 0644]
reactos/lib/ppcmmu/CMakeLists.txt [new file with mode: 0644]
reactos/lib/pseh/CMakeLists.txt [new file with mode: 0644]
reactos/lib/pseh/dummy.c [new file with mode: 0644]
reactos/lib/pseh/i386/seh.s [new file with mode: 0644]
reactos/lib/pseh/i386/seh_prolog.s [new file with mode: 0644]
reactos/lib/recyclebin/CMakeLists.txt [new file with mode: 0644]
reactos/lib/rossym/CMakeLists.txt [new file with mode: 0644]
reactos/lib/rossym/compat.h [new file with mode: 0644]
reactos/lib/rossym/dummy.c [new file with mode: 0644]
reactos/lib/rossym/dwarf.h [new file with mode: 0644]
reactos/lib/rossym/dwarf386.c [new file with mode: 0644]
reactos/lib/rossym/dwarfabbrev.c [new file with mode: 0644]
reactos/lib/rossym/dwarfaranges.c [new file with mode: 0644]
reactos/lib/rossym/dwarfcfa.c [new file with mode: 0644]
reactos/lib/rossym/dwarfdump.c [new file with mode: 0644]
reactos/lib/rossym/dwarfeval.c [new file with mode: 0644]
reactos/lib/rossym/dwarfget.c [new file with mode: 0644]
reactos/lib/rossym/dwarfinfo.c [new file with mode: 0644]
reactos/lib/rossym/dwarfopen.c [new file with mode: 0644]
reactos/lib/rossym/dwarfpc.c [new file with mode: 0644]
reactos/lib/rossym/dwarfpubnames.c [new file with mode: 0644]
reactos/lib/rossym/iofile.c [new file with mode: 0644]
reactos/lib/rossym/pe.c [new file with mode: 0644]
reactos/lib/rossym/pe.h [new file with mode: 0644]
reactos/lib/rossym_new/CMakeLists.txt [new file with mode: 0644]
reactos/lib/rossym_new/compat.h [new file with mode: 0644]
reactos/lib/rossym_new/delete.c [new file with mode: 0644]
reactos/lib/rossym_new/dummy.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarf.h [new file with mode: 0644]
reactos/lib/rossym_new/dwarf386.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfabbrev.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfaranges.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfcfa.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfdump.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfeval.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfget.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfinfo.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfopen.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfpc.c [new file with mode: 0644]
reactos/lib/rossym_new/dwarfpubnames.c [new file with mode: 0644]
reactos/lib/rossym_new/find.c [new file with mode: 0644]
reactos/lib/rossym_new/fromfile.c [new file with mode: 0644]
reactos/lib/rossym_new/frommem.c [new file with mode: 0644]
reactos/lib/rossym_new/fromraw.c [new file with mode: 0644]
reactos/lib/rossym_new/getraw.c [new file with mode: 0644]
reactos/lib/rossym_new/init.c [new file with mode: 0644]
reactos/lib/rossym_new/initkm.c [new file with mode: 0644]
reactos/lib/rossym_new/initum.c [new file with mode: 0644]
reactos/lib/rossym_new/iofile.c [new file with mode: 0644]
reactos/lib/rossym_new/pe.c [new file with mode: 0644]
reactos/lib/rossym_new/pe.h [new file with mode: 0644]
reactos/lib/rossym_new/rossympriv.h [new file with mode: 0644]
reactos/lib/rossym_new/zwfile.c [new file with mode: 0644]
reactos/lib/rtl/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/crt/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/crt/except/i386/seh_prolog.s [new file with mode: 0644]
reactos/lib/sdk/crt/include/internal/wine_msc.h [new file with mode: 0644]
reactos/lib/sdk/crt/math/sqrtf.c [new file with mode: 0644]
reactos/lib/sdk/crt/misc/fltused.c [new file with mode: 0644]
reactos/lib/sdk/crt/misc/i386/readcr4.S [new file with mode: 0644]
reactos/lib/sdk/delayimp/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/dxguid/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/ioevent/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/nt/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/scrnsave/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/strmiids/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/uuid/CMakeLists.txt [new file with mode: 0644]
reactos/lib/sdk/uuid/bthguid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/cguid_i.c [new file with mode: 0644]
reactos/lib/sdk/uuid/cluscfgguids.c [new file with mode: 0644]
reactos/lib/sdk/uuid/cmdtreeiid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/hnclsid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/ieguids.c [new file with mode: 0644]
reactos/lib/sdk/uuid/iid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/ncclsid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/ndisguid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/netfwv6clsid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/oledbdat.c [new file with mode: 0644]
reactos/lib/sdk/uuid/oledbdepiid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/oledbiid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/oledbnewiid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/otherguids.c [new file with mode: 0644]
reactos/lib/sdk/uuid/qosguid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/shguids.c [new file with mode: 0644]
reactos/lib/sdk/uuid/tapi3iid.c [new file with mode: 0644]
reactos/lib/sdk/uuid/undoc.c [new file with mode: 0644]
reactos/lib/sdk/uuid/vcguids.c [new file with mode: 0644]
reactos/lib/sdk/uuid/wdmguids.c [new file with mode: 0644]
reactos/lib/sdk/wdmguid/CMakeLists.txt [new file with mode: 0644]
reactos/lib/smlib/CMakeLists.txt [new file with mode: 0644]
reactos/lib/tdilib/CMakeLists.txt [new file with mode: 0644]
reactos/media/CMakeLists.txt [new file with mode: 0644]
reactos/media/fonts/CMakeLists.txt [new file with mode: 0644]
reactos/media/inf/CMakeLists.txt [new file with mode: 0644]
reactos/media/inf/syssetup.inf [new file with mode: 0644]
reactos/media/nls/CMakeLists.txt [new file with mode: 0644]
reactos/media/vgafonts/CMakeLists.txt [new file with mode: 0644]
reactos/modules/CMakeLists.txt [new file with mode: 0644]
reactos/msc.cmake [new file with mode: 0644]
reactos/ntoskrnl/CMakeLists.txt [new file with mode: 0644]
reactos/ntoskrnl/kdbg/kdb_symbols.cmake.c [new file with mode: 0644]
reactos/ntoskrnl/ntoskrnl.spec [new file with mode: 0644]
reactos/ntoskrnl/po/guid.c [new file with mode: 0644]
reactos/ros_cd.cmake [new file with mode: 0644]
reactos/subsystems/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/ntvdm/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/csrss/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/csrss/csrsrv/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/csrss/win32csr/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/win32k/CMakeLists.txt [new file with mode: 0644]
reactos/subsystems/win32/win32k/win32k.spec [new file with mode: 0644]
reactos/toolchain-mingw32.cmake [new file with mode: 0644]
reactos/toolchain-msvc.cmake [new file with mode: 0644]
reactos/tools/CMakeLists.txt [new file with mode: 0644]
reactos/tools/cabman/CMakeLists.txt [new file with mode: 0644]
reactos/tools/cdmake/CMakeLists.txt [new file with mode: 0644]
reactos/tools/gendib/CMakeLists.txt [new file with mode: 0644]
reactos/tools/geninc/CMakeLists.txt [new file with mode: 0644]
reactos/tools/getdate.c [new file with mode: 0644]
reactos/tools/getdate.cmd [new file with mode: 0644]
reactos/tools/getdate.exe [new file with mode: 0644]
reactos/tools/mkhive/CMakeLists.txt [new file with mode: 0644]
reactos/tools/rsym/CMakeLists.txt [new file with mode: 0644]
reactos/tools/rsym/rsym.cmake.c [new file with mode: 0644]
reactos/tools/spec2def/CMakeLists.txt [new file with mode: 0644]
reactos/tools/spec2def/spec2def.c [new file with mode: 0644]
reactos/tools/unicode/CMakeLists.txt [new file with mode: 0644]
reactos/tools/widl/CMakeLists.txt [new file with mode: 0644]
reactos/tools/wmc/CMakeLists.txt [new file with mode: 0644]
reactos/tools/wpp/CMakeLists.txt [new file with mode: 0644]
reactos/tools/wrc/CMakeLists.txt [new file with mode: 0644]

diff --git a/reactos/CMakeLists.txt b/reactos/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d1f8eb3
--- /dev/null
@@ -0,0 +1,206 @@
+
+cmake_minimum_required(VERSION 2.6)
+
+if(POLICY CMP0017)
+    # Shadow cmake provided modules
+    cmake_policy(SET CMP0017 OLD)
+endif()
+
+project(REACTOS)
+
+#versioning
+include(include/reactos/version.cmake)
+
+# Don't escape preprocessor definition values added via add_definitions
+cmake_policy(SET CMP0005 OLD)
+cmake_policy(SET CMP0002 NEW)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
+set(CMAKE_SHARED_LIBRARY_PREFIX "")
+set(CMAKE_SKIP_PREPROCESSED_SOURCE_RULES TRUE)
+set(CMAKE_SKIP_ASSEMBLY_SOURCE_RULES TRUE)
+set(CMAKE_COLOR_MAKEFILE OFF)
+#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
+
+if(NOT ARCH)
+    set(ARCH i386)
+endif()
+string(TOLOWER ${ARCH} ARCH)
+
+# Compile options
+if(ARCH MATCHES i386)
+    include(config.cmake)
+elseif(ARCH MATCHES amd64)
+    include(config-amd64.cmake)
+elseif(ARCH MATCHES arm)
+    include(config-arm.cmake)
+endif()
+
+add_definitions(-D__REACTOS__)
+
+if(NOT CMAKE_CROSSCOMPILING)
+
+    add_definitions(-DTARGET_${ARCH})
+
+    if(MSVC)
+        add_definitions(-Dinline=__inline)
+    else()
+       add_definitions(-fshort-wchar)
+    endif()
+
+    include_directories(
+        ${REACTOS_SOURCE_DIR}/tools/unicode
+        include
+        include/host
+        ${REACTOS_BINARY_DIR}/include)
+
+    add_subdirectory(tools)
+    add_subdirectory(lib)
+
+    if(NOT MSVC)
+        export(TARGETS widl wrc gendib cabman cdmake mkhive spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
+    else()
+        export(TARGETS gendib cabman cdmake mkhive spec2def geninc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
+    endif()
+
+else()
+
+    # adjust the default behaviour of the FIND_XXX() commands:
+    # search headers and libraries in the target environment, search
+    # programs in the host environment
+    set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+    set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
+    set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
+    
+    #useful stuff!
+    include(CMakeParseArguments)
+
+    # Do some cleanup
+    file(REMOVE
+        ${REACTOS_BINARY_DIR}/dependencies.graphml
+        ${REACTOS_BINARY_DIR}/boot/ros_livecd.txt
+        ${REACTOS_BINARY_DIR}/boot/ros_livecd_target.txt
+        ${REACTOS_BINARY_DIR}/boot/ros_minicd.txt
+        ${REACTOS_BINARY_DIR}/boot/ros_minicd_target.txt
+        ${REACTOS_BINARY_DIR}/boot/ros_cab.txt
+        ${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt)
+
+    if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR)
+        set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build)
+    endif()
+
+    set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
+    include(${IMPORT_EXECUTABLES})
+
+    # Compiler specific definitions and macros
+    if(MSVC)
+        include(msc.cmake)
+    else()
+        include(gcc.cmake)
+    endif()
+
+    # Generic macros
+    include(CMakeMacros.cmake)
+
+    # IDL macros for widl/midl
+    include(cmake/idl-support.cmake)
+
+    # Activate support for assembly source files
+    enable_language(ASM)
+
+    # Activate language support for resource files
+    enable_language(RC)
+
+    if(DBG)
+        add_definitions(-DDBG=1 -D_SEH_ENABLE_TRACE)
+    endif()
+
+    if(KDBG)
+        add_definitions(-DKDBG=1)
+    endif()
+
+    if(_WINKD_)
+        add_definitions(-D_WINKD_=1)
+    endif()
+
+    # Version Options
+    add_definitions(-DWINVER=0x502
+                    -D_WIN32_IE=0x600
+                    -D_WIN32_WINNT=0x502
+                    -D_WIN32_WINDOWS=0x502
+                    -D_SETUPAPI_VER=0x502)
+
+    # Arch Options
+    if(ARCH MATCHES i386)
+        add_definitions(-D_M_IX86 -D_X86_ -D__i386__)
+    elseif(ARCH MATCHES amd64)
+        add_definitions(-D_M_AMD64 -D_AMD64_ -D__x86_64__ -D_WIN64)
+    elseif(ARCH MATCHES arm)
+        # _M_ARM is already defined by toolchain
+        add_definitions(-D_ARM_ -D__arm__)
+    endif()
+
+    # Other
+    if(ARCH MATCHES i386)
+        add_definitions(-DUSE_COMPILER_EXCEPTIONS -D_USE_32BIT_TIME_T)
+    elseif(ARCH MATCHES amd64)
+        add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
+    elseif(ARCH MATCHES arm)
+        add_definitions(-DUSE_COMPILER_EXCEPTIONS)
+    endif()
+
+    include_directories(
+        include
+        include/psdk
+        include/dxsdk
+        ${REACTOS_BINARY_DIR}/include
+        ${REACTOS_BINARY_DIR}/include/dxsdk
+        ${REACTOS_BINARY_DIR}/include/psdk
+        ${REACTOS_BINARY_DIR}/include/reactos
+        include/crt
+        include/ddk
+        include/ndk
+        include/reactos
+        include/reactos/libs)
+
+    if(ARCH MATCHES arm)
+        include_directories(${REACTOS_SOURCE_DIR}/include/reactos/arm)
+    endif()
+
+    if(MSVC)
+        include_directories(include/crt/msc)
+    else()
+        include_directories(include/crt/mingw32)
+    endif()
+
+    add_dependency_header()
+
+    add_subdirectory(include/psdk)
+    add_subdirectory(include/dxsdk)
+    add_subdirectory(include/reactos/idl)
+    add_subdirectory(include/reactos/wine)
+    add_subdirectory(include/reactos/mc)
+    add_subdirectory(include/asm)
+
+    include(baseaddress.cmake)
+
+    #begin with boot so reactos_cab target is defined before all other modules
+    add_subdirectory(boot)
+    add_subdirectory(base)
+    add_subdirectory(dll)
+    add_subdirectory(drivers)
+    add_subdirectory(hal)
+    add_subdirectory(lib)
+    add_subdirectory(media)
+    add_subdirectory(modules)
+    add_subdirectory(ntoskrnl)
+    add_subdirectory(subsystems)
+
+    file(MAKE_DIRECTORY ${REACTOS_BINARY_DIR}/include/reactos)
+
+    file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/importlibs)
+
+    add_dependency_footer()
+
+endif()
diff --git a/reactos/CMakeMacros.cmake b/reactos/CMakeMacros.cmake
new file mode 100644 (file)
index 0000000..ce02259
--- /dev/null
@@ -0,0 +1,178 @@
+
+if (NOT MSVC)
+
+macro(CreateBootSectorTarget _target_name _asm_file _object_file)
+    get_filename_component(OBJECT_PATH ${_object_file} PATH)
+    get_filename_component(OBJECT_NAME ${_object_file} NAME)
+    file(MAKE_DIRECTORY ${OBJECT_PATH})
+    get_directory_property(defines COMPILE_DEFINITIONS)
+    get_directory_property(includes INCLUDE_DIRECTORIES)
+
+    foreach(arg ${defines})
+        set(result_defs ${result_defs} -D${arg})
+    endforeach()
+
+    foreach(arg ${includes})
+        set(result_incs -I${arg} ${result_incs})
+    endforeach()
+
+    add_custom_command(
+        OUTPUT ${_object_file}
+        COMMAND nasm -o ${_object_file} ${result_incs} ${result_defs} -f bin ${_asm_file}
+        DEPENDS ${_asm_file})
+    set_source_files_properties(${_object_file} PROPERTIES GENERATED TRUE)
+    add_custom_target(${_target_name} ALL DEPENDS ${_object_file})
+endmacro()
+
+else()
+
+macro(CreateBootSectorTarget _target_name _asm_file _object_file)
+endmacro()
+
+endif()
+
+macro(set_cpp)
+    include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/c++/stlport)
+    set(IS_CPP 1)
+    add_definitions(
+        -DNATIVE_CPP_INCLUDE=${REACTOS_SOURCE_DIR}/include/c++
+        -DNATIVE_C_INCLUDE=${REACTOS_SOURCE_DIR}/include/crt)
+endmacro()
+
+macro(add_dependency_node _node)
+    if(GENERATE_DEPENDENCY_GRAPH)
+        get_target_property(_type ${_node} TYPE)
+        if(_type MATCHES SHARED_LIBRARY)
+            file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml "    <node id=\"${_node}\"/>\n")
+        endif()
+     endif()
+endmacro()
+
+macro(add_dependency_edge _source _target)
+    if(GENERATE_DEPENDENCY_GRAPH)
+        get_target_property(_type ${_source} TYPE)
+        if(_type MATCHES SHARED_LIBRARY)
+            file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml "    <edge source=\"${_source}\" target=\"${_target}\"/>\n")
+        endif()
+    endif()
+endmacro()
+
+macro(add_dependency_header)
+    file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<graphml>\n  <graph id=\"ReactOS dependencies\" edgedefault=\"directed\">\n")
+    add_dependency_node(ntdll)
+endmacro()
+
+macro(add_dependency_footer)
+    file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml "  </graph>\n</graphml>\n")
+endmacro()
+
+macro(add_message_headers)
+    foreach(_in_FILE ${ARGN})
+        get_filename_component(FILE ${_in_FILE} NAME_WE)
+        macro_mc(${FILE})
+        add_custom_command(
+            OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h
+            COMMAND ${COMMAND_MC}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc)
+        set_source_files_properties(
+            ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc
+            PROPERTIES GENERATED TRUE)
+        add_custom_target(${FILE} ALL DEPENDS ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc)
+    endforeach()
+endmacro()
+
+macro(dir_to_num dir var)
+    if(${dir} STREQUAL reactos/system32)
+        set(${var} 1)
+    elseif(${dir} STREQUAL reactos/system32/drivers)
+        set(${var} 2)
+    elseif(${dir} STREQUAL reactos/Fonts)
+        set(${var} 3)
+    elseif(${dir} STREQUAL reactos)
+        set(${var} 4)
+    elseif(${dir} STREQUAL reactos/system32/drivers/etc)
+        set(${var} 5)
+    elseif(${dir} STREQUAL reactos/inf)
+        set(${var} 6)
+    elseif(${dir} STREQUAL reactos/bin)
+        set(${var} 7)
+    elseif(${dir} STREQUAL reactos/media)
+        set(${var} 8)
+    else()
+        message(ERROR "Wrong destination: ${dir}")
+    endif()
+endmacro()
+
+function(add_cd_file)
+    cmake_parse_arguments(_CD "NO_CAB" "DESTINATION;NAME_ON_CD;TARGET" "FILE;FOR" ${ARGN})
+    if(NOT (_CD_TARGET OR _CD_FILE))
+        message(FATAL_ERROR "You must provide a target or a file to install!")
+    endif()
+    
+    if(NOT _CD_DESTINATION)
+        message(FATAL_ERROR "You must provide a destination")
+    elseif(${_CD_DESTINATION} STREQUAL root)
+        set(_CD_DESTINATION "")
+    endif()
+    
+    if(NOT _CD_FOR)
+        message(FATAL_ERROR "You must provide a cd name (or "all" for all of them) to install the file on!")
+    endif()
+    
+    #get file if we need to
+    if(NOT _CD_FILE)
+        get_target_property(_CD_FILE ${_CD_TARGET} LOCATION)
+    endif()
+    
+    #do we add it to all CDs?
+    if(_CD_FOR STREQUAL all)
+        set(_CD_FOR "bootcd;livecd;regtest")
+    endif()
+    
+    #do we add it to bootcd?
+    list(FIND _CD_FOR bootcd __cd)
+    if(NOT __cd EQUAL -1)
+        #whether or not we should put it in reactos.cab or directly on cd
+        if(_CD_NO_CAB)
+            #directly on cd
+            foreach(item ${_CD_FILE})
+                file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake "file(COPY \"${item}\" DESTINATION \"\${CD_DIR}/${_CD_DESTINATION}\")\n")
+            endforeach()
+            if(_CD_NAME_ON_CD)
+                get_filename_component(__file ${_CD_FILE} NAME)
+                #rename it in the cd tree
+                file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake "file(RENAME \${CD_DIR}/${_CD_DESTINATION}/${__file} \${CD_DIR}/${_CD_DESTINATION}/${_CD_NAME_ON_CD})\n")
+            endif()
+            if(_CD_TARGET)
+                #manage dependency
+                add_dependencies(bootcd ${_CD_TARGET})
+            endif()
+        else()
+            #add it in reactos.cab
+            dir_to_num(${_CD_DESTINATION} _num)
+            file(APPEND ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff.dyn "${_CD_FILE} ${_num}\n")
+            if(_CD_TARGET)
+                #manage dependency
+                add_dependencies(reactos_cab ${_CD_TARGET})
+            endif()
+        endif()
+    endif() #end bootcd
+    
+    #do we add it to livecd?
+    list(FIND _CD_FOR livecd __cd)
+    if(NOT __cd EQUAL -1)
+        #manage dependency
+        if(_CD_TARGET)
+            add_dependencies(livecd ${_CD_TARGET})
+        endif()
+        foreach(item ${_CD_FILE})
+            file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake "file(COPY \"${item}\" DESTINATION \"\${CD_DIR}/${_CD_DESTINATION}\")\n")
+        endforeach()
+        if(_CD_NAME_ON_CD)
+            get_filename_component(__file ${_CD_FILE} NAME)
+            #rename it in the cd tree
+            file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake "file(RENAME \${CD_DIR}/${_CD_DESTINATION}/${__file} \${CD_DIR}/${_CD_DESTINATION}/${_CD_NAME_ON_CD})\n")
+        endif()
+    endif() #end livecd
+    
+endfunction()
diff --git a/reactos/PreLoad.cmake b/reactos/PreLoad.cmake
new file mode 100644 (file)
index 0000000..e74b5d9
--- /dev/null
@@ -0,0 +1,10 @@
+
+# small trick to get the real source directory at this stage
+STRING(REPLACE "/PreLoad.cmake" "" REACTOS_HOME_DIR ${CMAKE_CURRENT_LIST_FILE})
+
+#message("/PreLoad.cmake ... ${REACTOS_HOME_DIR}")
+
+SET(CMAKE_MODULE_PATH "${REACTOS_HOME_DIR}/cmake" CACHE INTERNAL "")
+
+#message("CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}")
+
diff --git a/reactos/base/CMakeLists.txt b/reactos/base/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5dafa0b
--- /dev/null
@@ -0,0 +1,6 @@
+
+add_subdirectory(applications)
+add_subdirectory(services)
+add_subdirectory(setup)
+add_subdirectory(shell)
+add_subdirectory(system)
diff --git a/reactos/base/applications/CMakeLists.txt b/reactos/base/applications/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0540d69
--- /dev/null
@@ -0,0 +1,37 @@
+
+add_subdirectory(cacls)
+add_subdirectory(calc)
+add_subdirectory(charmap)
+add_subdirectory(cmdutils)
+add_subdirectory(control)
+add_subdirectory(dxdiag)
+add_subdirectory(extrac32)
+add_subdirectory(findstr)
+add_subdirectory(fontview)
+add_subdirectory(games)
+add_subdirectory(hh)
+add_subdirectory(iexplore)
+add_subdirectory(kbswitch)
+add_subdirectory(logoff)
+add_subdirectory(magnify)
+add_subdirectory(mmc)
+add_subdirectory(mplay32)
+# add_subdirectory(msconfig)
+add_subdirectory(mscutils)
+add_subdirectory(mstsc)
+add_subdirectory(network)
+add_subdirectory(notepad)
+add_subdirectory(mspaint)
+add_subdirectory(rapps)
+add_subdirectory(regedit)
+add_subdirectory(regedt32)
+add_subdirectory(sc)
+add_subdirectory(screensavers)
+add_subdirectory(shutdown)
+add_subdirectory(sndrec32)
+add_subdirectory(sndvol32)
+add_subdirectory(taskmgr)
+add_subdirectory(winhlp32)
+add_subdirectory(winver)
+add_subdirectory(wordpad)
+add_subdirectory(write)
\ No newline at end of file
diff --git a/reactos/base/applications/cacls/CMakeLists.txt b/reactos/base/applications/cacls/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cfb03ed
--- /dev/null
@@ -0,0 +1,15 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE cacls.c cacls.rc)
+
+add_executable(cacls
+    ${CMAKE_CURRENT_BINARY_DIR}/cacls_precomp.h.gch
+    ${SOURCE})
+
+add_pch(cacls ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(cacls win32cui)
+add_importlibs(cacls advapi32 user32 shell32 msvcrt kernel32)
+add_cd_file(TARGET cacls DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/calc/CMakeLists.txt b/reactos/base/applications/calc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3e1372e
--- /dev/null
@@ -0,0 +1,22 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_definitions(-DDISABLE_HTMLHELP_SUPPORT=1)
+
+add_executable(calc 
+    about.c
+    convert.c
+    function.c
+    rpn.c
+    utl.c
+    winmain.c
+    resource.rc)
+
+set_module_type(calc win32gui)
+add_importlibs(calc advapi32 user32 gdi32 msvcrt kernel32)
+if(MSVC)
+add_importlibs(calc ntdll)
+endif()
+
+add_cd_file(TARGET calc DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/charmap/CMakeLists.txt b/reactos/base/applications/charmap/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a63a7da
--- /dev/null
@@ -0,0 +1,22 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE
+    about.c
+    charmap.c
+    lrgcell.c
+    map.c
+    charmap.rc)
+
+add_executable(charmap
+    ${CMAKE_CURRENT_BINARY_DIR}/charmap_precomp.h.gch
+    ${SOURCE})
+
+add_pch(charmap ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(charmap win32gui)
+
+add_importlibs(charmap user32 gdi32 comctl32 kernel32 msvcrt)
+
+add_cd_file(TARGET charmap DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/CMakeLists.txt b/reactos/base/applications/cmdutils/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b36bbb7
--- /dev/null
@@ -0,0 +1,8 @@
+add_subdirectory(dbgprint)
+add_subdirectory(doskey)
+add_subdirectory(find)
+add_subdirectory(hostname)
+add_subdirectory(lodctr)
+add_subdirectory(more)
+add_subdirectory(reg)
+add_subdirectory(xcopy)
diff --git a/reactos/base/applications/cmdutils/dbgprint/CMakeLists.txt b/reactos/base/applications/cmdutils/dbgprint/CMakeLists.txt
new file mode 100644 (file)
index 0000000..728678d
--- /dev/null
@@ -0,0 +1,5 @@
+
+add_executable(dbgprint dbgprint.c)
+set_module_type(dbgprint win32cui)
+add_importlibs(dbgprint msvcrt kernel32)
+add_cd_file(TARGET dbgprint DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/doskey/CMakeLists.txt b/reactos/base/applications/cmdutils/doskey/CMakeLists.txt
new file mode 100644 (file)
index 0000000..09805d8
--- /dev/null
@@ -0,0 +1,9 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(doskey doskey.c doskey.rc)
+
+set_module_type(doskey win32cui)
+add_importlibs(doskey user32 msvcrt kernel32)
+add_cd_file(TARGET doskey DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/find/CMakeLists.txt b/reactos/base/applications/cmdutils/find/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f94e42e
--- /dev/null
@@ -0,0 +1,7 @@
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(find find.c find.rc)
+
+set_module_type(find win32cui)
+add_importlibs(find user32 msvcrt kernel32)
+add_cd_file(TARGET find DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/hostname/CMakeLists.txt b/reactos/base/applications/cmdutils/hostname/CMakeLists.txt
new file mode 100644 (file)
index 0000000..528d64f
--- /dev/null
@@ -0,0 +1,7 @@
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(hostname hostname.c hostname.rc)
+
+set_module_type(hostname win32cui)
+add_importlibs(hostname msvcrt kernel32)
+add_cd_file(TARGET hostname DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/lodctr/CMakeLists.txt b/reactos/base/applications/cmdutils/lodctr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9e2fa8b
--- /dev/null
@@ -0,0 +1,8 @@
+
+set_unicode()
+
+add_executable(lodctr lodctr_main.c)
+
+set_module_type(lodctr win32cui)
+add_importlibs(lodctr loadperf msvcrt kernel32)
+add_cd_file(TARGET lodctr DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/more/CMakeLists.txt b/reactos/base/applications/cmdutils/more/CMakeLists.txt
new file mode 100644 (file)
index 0000000..34b841a
--- /dev/null
@@ -0,0 +1,6 @@
+
+add_executable(more more.c more.rc)
+
+set_module_type(more win32cui)
+add_importlibs(more user32 msvcrt kernel32)
+add_cd_file(TARGET more DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/reg/CMakeLists.txt b/reactos/base/applications/cmdutils/reg/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d33a5dc
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_unicode()
+
+remove_definitions(-D_WIN32_WINNT=0x502)
+add_definitions(-D_WIN32_WINNT=0x600)
+
+add_executable(reg reg.c rsrc.rc)
+
+set_module_type(reg win32cui)
+add_importlibs(reg advapi32 user32 msvcrt kernel32)
+add_cd_file(TARGET reg DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/cmdutils/xcopy/CMakeLists.txt b/reactos/base/applications/cmdutils/xcopy/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6ef2159
--- /dev/null
@@ -0,0 +1,10 @@
+
+set_unicode()
+
+add_executable(xcopy xcopy.c rsrc.rc)
+
+target_link_libraries(xcopy wine)
+
+set_module_type(xcopy win32cui)
+add_importlibs(xcopy shell32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET xcopy DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/control/CMakeLists.txt b/reactos/base/applications/control/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1ad3033
--- /dev/null
@@ -0,0 +1,9 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(control control.c control.rc)
+
+set_module_type(control win32gui)
+add_importlibs(control advapi32 shell32 msvcrt kernel32)
+add_cd_file(TARGET control DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/dxdiag/CMakeLists.txt b/reactos/base/applications/dxdiag/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d234cc1
--- /dev/null
@@ -0,0 +1,33 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE
+    system.c
+    display.c
+    sound.c
+    music.c
+    input.c
+    network.c
+    help.c
+    dxdiag.c
+    dxdiag.rc
+    ddtest.c
+    d3dtest.c
+    d3dtest7.c
+    d3dtest8.c
+    d3dtest9.c)
+
+add_executable(dxdiag
+    ${CMAKE_CURRENT_BINARY_DIR}/dxdiag_precomp.h.gch
+    ${SOURCE})
+
+add_pch(dxdiag ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(dxdiag win32gui)
+
+target_link_libraries(dxdiag dxguid)
+
+add_importlibs(dxdiag user32 advapi32 comctl32 dinput8 setupapi dsound ddraw version gdi32 winmm d3d9 msvcrt kernel32 ntdll)
+
+add_cd_file(TARGET dxdiag DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/extrac32/CMakeLists.txt b/reactos/base/applications/extrac32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f9699b8
--- /dev/null
@@ -0,0 +1,10 @@
+
+set_unicode()
+
+add_executable(extrac32 extrac32.c)
+
+target_link_libraries(extrac32 wine)
+
+set_module_type(extrac32 win32gui)
+add_importlibs(extrac32 shell32 setupapi shlwapi user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET extrac32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/findstr/CMakeLists.txt b/reactos/base/applications/findstr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..68b0e74
--- /dev/null
@@ -0,0 +1,10 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(findstr
+    findstr.c
+    findstr.rc)
+
+set_module_type(findstr win32cui)
+add_importlibs(findstr user32 msvcrt kernel32)
+add_cd_file(TARGET findstr DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/fontview/CMakeLists.txt b/reactos/base/applications/fontview/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b229150
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_rc_compiler()
+add_executable(fontview
+    display.c
+    fontview.c
+    fontview.rc)
+
+set_module_type(fontview win32gui)
+add_importlibs(fontview gdi32 shell32 user32 msvcrt kernel32)
+
+add_cd_file(TARGET fontview DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/games/CMakeLists.txt b/reactos/base/applications/games/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1bab767
--- /dev/null
@@ -0,0 +1,4 @@
+
+add_subdirectory(solitaire)
+add_subdirectory(spider)
+add_subdirectory(winmine)
diff --git a/reactos/base/applications/games/solitaire/CMakeLists.txt b/reactos/base/applications/games/solitaire/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c0daaa0
--- /dev/null
@@ -0,0 +1,20 @@
+
+set_unicode()
+set_cpp()
+set_rc_compiler()
+
+include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib)
+
+add_executable(sol
+    solcreate.cpp
+    solgame.cpp
+    solitaire.cpp
+    rsrc.rc)
+
+target_link_libraries(sol cardlib)
+
+set_module_type(sol win32gui)
+
+add_importlibs(sol advapi32 comctl32 user32 gdi32 kernel32 msvcrt)
+
+add_cd_file(TARGET sol DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/games/spider/CMakeLists.txt b/reactos/base/applications/games/spider/CMakeLists.txt
new file mode 100644 (file)
index 0000000..560c6d5
--- /dev/null
@@ -0,0 +1,20 @@
+
+set_unicode()
+set_cpp()
+
+include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib ${CMAKE_CURRENT_SOURCE_DIR})
+
+set_rc_compiler()
+
+add_executable(spider
+    spider.cpp
+    spigame.cpp
+    rsrc.rc)
+
+target_link_libraries(spider cardlib)
+
+set_module_type(spider win32gui)
+
+add_importlibs(spider advapi32 comctl32 user32 gdi32 kernel32 msvcrt)
+
+add_cd_file(TARGET spider DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/games/winmine/CMakeLists.txt b/reactos/base/applications/games/winmine/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f4e99a1
--- /dev/null
@@ -0,0 +1,15 @@
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+set_rc_compiler()
+
+add_executable(winmine
+    main.c
+    dialog.c
+    rsrc.rc)
+
+set_module_type(winmine win32gui)
+target_link_libraries(winmine wine)
+add_importlibs(winmine user32 gdi32 advapi32 shell32 msvcrt kernel32 ntdll)
+
+add_cd_file(TARGET winmine DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/hh/CMakeLists.txt b/reactos/base/applications/hh/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5de0b1a
--- /dev/null
@@ -0,0 +1,6 @@
+
+set_rc_compiler()
+add_executable(hh main.c hh.rc)
+set_module_type(hh win32gui)
+add_importlibs(hh gdi32 user32 msvcrt kernel32)
+add_cd_file(TARGET hh DESTINATION reactos FOR all)
diff --git a/reactos/base/applications/iexplore/CMakeLists.txt b/reactos/base/applications/iexplore/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b861741
--- /dev/null
@@ -0,0 +1,6 @@
+
+set_rc_compiler()
+add_executable(iexplore main.c iexplore.rc)
+set_module_type(iexplore win32gui)
+add_importlibs(iexplore shdocvw msvcrt kernel32)
+add_cd_file(TARGET iexplore DESTINATION reactos FOR all)
diff --git a/reactos/base/applications/kbswitch/CMakeLists.txt b/reactos/base/applications/kbswitch/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1937411
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(kbswitch kbswitch.c kbswitch.rc)
+
+set_module_type(kbswitch win32gui)
+add_importlibs(kbswitch advapi32 user32 shell32 gdi32 msvcrt kernel32)
+
+add_cd_file(TARGET kbswitch DESTINATION reactos/system32 FOR all)
+add_subdirectory(kbsdll)
diff --git a/reactos/base/applications/kbswitch/kbsdll/CMakeLists.txt b/reactos/base/applications/kbswitch/kbsdll/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1f51b60
--- /dev/null
@@ -0,0 +1,15 @@
+
+set_unicode()
+
+spec2def(kbsdll.dll kbsdll.spec)
+
+list(APPEND SOURCE
+    kbsdll.c
+    kbsdll.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/kbsdll.def)
+
+add_library(kbsdll SHARED ${SOURCE})
+
+set_module_type(kbsdll win32dll)
+add_importlibs(kbsdll user32 comctl32 kernel32 msvcrt)
+add_cd_file(TARGET kbsdll DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/logoff/CMakeLists.txt b/reactos/base/applications/logoff/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c560717
--- /dev/null
@@ -0,0 +1,15 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+list(APPEND SOURCE
+    misc.c
+    logoff.c
+    logoff.rc)
+
+add_executable(logoff ${CMAKE_CURRENT_BINARY_DIR}/logoff_precomp.h.gch ${SOURCE})
+
+add_pch(logoff ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(logoff win32cui)
+add_importlibs(logoff advapi32 user32 msvcrt kernel32)
+add_cd_file(TARGET logoff DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/magnify/CMakeLists.txt b/reactos/base/applications/magnify/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e7ab404
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_rc_compiler()
+
+add_executable(magnify
+    magnifier.c
+    settings.c
+    magnify.rc)
+
+set_module_type(magnify win32gui)
+add_importlibs(magnify user32 gdi32 advapi32 shell32 msvcrt kernel32)
+add_cd_file(TARGET magnify DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/mmc/CMakeLists.txt b/reactos/base/applications/mmc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..765cf2e
--- /dev/null
@@ -0,0 +1,16 @@
+
+set_rc_compiler()
+set_unicode()
+
+list(APPEND SOURCE
+    console.c
+    misc.c
+    mmc.c
+    mmc.rc)
+
+add_executable(mmcclient ${CMAKE_CURRENT_BINARY_DIR}/mmcclient_precomp.h.gch ${SOURCE})
+
+add_pch(mmcclient ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(mmcclient win32gui)
+add_importlibs(mmcclient user32 gdi32 comdlg32 advapi32 shell32 comctl32 msvcrt kernel32)
diff --git a/reactos/base/applications/mplay32/CMakeLists.txt b/reactos/base/applications/mplay32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5cacd87
--- /dev/null
@@ -0,0 +1,9 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(mplay32 mplay32.c mplay32.rc)
+
+set_module_type(mplay32 win32gui)
+add_importlibs(mplay32 advapi32 comctl32 comdlg32 user32 gdi32 winmm shell32 msvcrt kernel32)
+add_cd_file(TARGET mplay32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/msconfig/CMakeLists.txt b/reactos/base/applications/msconfig/CMakeLists.txt
new file mode 100644 (file)
index 0000000..cf9c7e0
--- /dev/null
@@ -0,0 +1,21 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE
+    toolspage.c
+    srvpage.c
+    systempage.c
+    startuppage.c
+    freeldrpage.c
+    generalpage.c
+    msconfig.c
+    msconfig.rc)
+
+add_executable(msconfig ${CMAKE_CURRENT_BINARY_DIR}/msconfig_precomp.h.gch ${SOURCE})
+
+add_pch(msconfig ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(msconfig win32gui)
+add_importlibs(msconfig user32 advapi32 version comctl32 shell32 shlwapi msvcrt kernel32)
+add_cd_file(TARGET msconfig DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/mscutils/CMakeLists.txt b/reactos/base/applications/mscutils/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4f577ff
--- /dev/null
@@ -0,0 +1,4 @@
+
+add_subdirectory(devmgmt)
+add_subdirectory(eventvwr)
+add_subdirectory(servman)
diff --git a/reactos/base/applications/mscutils/devmgmt/CMakeLists.txt b/reactos/base/applications/mscutils/devmgmt/CMakeLists.txt
new file mode 100644 (file)
index 0000000..703c0e1
--- /dev/null
@@ -0,0 +1,18 @@
+
+set_unicode()
+
+list(APPEND SOURCE
+    about.c
+    devmgmt.c
+    enumdevices.c
+    mainwnd.c
+    misc.c
+    devmgmt.rc)
+
+add_executable(devmgmt ${CMAKE_CURRENT_BINARY_DIR}/devmgmt_precomp.h.gch ${SOURCE})
+
+add_pch(devmgmt ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(devmgmt win32gui)
+add_importlibs(devmgmt setupapi gdi32 user32 comctl32 advapi32 devmgr msvcrt kernel32)
+add_cd_file(TARGET devmgmt DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt b/reactos/base/applications/mscutils/eventvwr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ca96c17
--- /dev/null
@@ -0,0 +1,13 @@
+
+set_unicode()
+
+add_executable(eventvwr eventvwr.c eventvwr.rc)
+
+set_module_type(eventvwr win32gui)
+
+add_importlibs(eventvwr user32 comctl32 advapi32 msvcrt kernel32)
+if(MSVC)
+add_importlibs(eventvwr ntdll)
+endif()
+
+add_cd_file(TARGET eventvwr DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/mscutils/servman/CMakeLists.txt b/reactos/base/applications/mscutils/servman/CMakeLists.txt
new file mode 100644 (file)
index 0000000..87bd84b
--- /dev/null
@@ -0,0 +1,35 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE
+    about.c
+    control.c
+    create.c
+    delete.c
+    dependencies_tv1.c
+    dependencies_tv2.c
+    export.c
+    listview.c
+    mainwnd.c
+    misc.c
+    progress.c
+    propsheet.c
+    propsheet_depends.c
+    propsheet_general.c
+    query.c
+    servman.c
+    start.c
+    stop.c
+    stop_dependencies.c
+    servman.rc)
+
+add_executable(servman ${CMAKE_CURRENT_BINARY_DIR}/servman_precomp.h.gch ${SOURCE})
+
+add_pch(servman ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(servman win32gui)
+
+add_importlibs(servman user32 gdi32 advapi32 version comctl32 shell32 comdlg32 msvcrt kernel32)
+
+add_cd_file(TARGET servman DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/mspaint/CMakeLists.txt b/reactos/base/applications/mspaint/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fb701d8
--- /dev/null
@@ -0,0 +1,21 @@
+
+set_unicode()
+
+add_executable(paint
+    dialogs.c
+    dib.c
+    drawing.c
+    history.c
+    main.c
+    mouse.c
+    palette.c
+    registry.c
+    selection.c
+    sizebox.c
+    toolsettings.c
+    winproc.c
+    rsrc.rc)
+
+set_module_type(paint win32gui)
+add_importlibs(paint comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32)
+add_cab_target(paint 1)
diff --git a/reactos/base/applications/mstsc/CMakeLists.txt b/reactos/base/applications/mstsc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ef37c8f
--- /dev/null
@@ -0,0 +1,34 @@
+
+set_unicode()
+
+list(APPEND SOURCE
+    bitmap.c
+    bsops.c
+    cache.c
+    channels.c
+    connectdialog.c
+    iso.c
+    licence.c
+    mcs.c
+    mppc.c
+    orders.c
+    pstcache.c
+    rdp5.c
+    rdp.c
+    secure.c
+    settings.c
+    ssl_calls.c
+    tcp.c
+    uimain.c
+    win32.c
+    rdc.rc)
+
+add_executable(mstsc ${CMAKE_CURRENT_BINARY_DIR}/mstsc_precomp.h.gch ${SOURCE})
+
+add_pch(mstsc ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(mstsc win32gui)
+
+add_importlibs(mstsc user32 gdi32 comctl32 ws2_32 advapi32 shell32 ole32 comdlg32 msvcrt kernel32)
+
+add_cd_file(TARGET mstsc DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/CMakeLists.txt b/reactos/base/applications/network/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d961ff6
--- /dev/null
@@ -0,0 +1,16 @@
+
+add_subdirectory(arp)
+add_subdirectory(dwnl)
+add_subdirectory(finger)
+add_subdirectory(ftp)
+add_subdirectory(ipconfig)
+add_subdirectory(net)
+add_subdirectory(netstat)
+add_subdirectory(nslookup)
+add_subdirectory(ping)
+add_subdirectory(route)
+if(NOT MSVC)
+add_subdirectory(telnet)
+endif()
+add_subdirectory(tracert)
+add_subdirectory(whois)
diff --git a/reactos/base/applications/network/arp/CMakeLists.txt b/reactos/base/applications/network/arp/CMakeLists.txt
new file mode 100644 (file)
index 0000000..31e3066
--- /dev/null
@@ -0,0 +1,8 @@
+
+add_executable(arp arp.c arp.rc)
+
+set_module_type(arp win32cui)
+
+add_importlibs(arp iphlpapi ws2_32 shlwapi msvcrt kernel32)
+
+add_cd_file(TARGET arp DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/dwnl/CMakeLists.txt b/reactos/base/applications/network/dwnl/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b1aff5f
--- /dev/null
@@ -0,0 +1,16 @@
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+
+add_executable(dwnl dwnl.c)
+
+set_module_type(dwnl win32cui)
+
+target_link_libraries(dwnl uuid)
+
+add_importlibs(dwnl urlmon wininet msvcrt kernel32)
+if(MSVC)
+add_importlibs(dwnl ntdll)
+endif()
+
+add_cd_file(TARGET dwnl DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/finger/CMakeLists.txt b/reactos/base/applications/network/finger/CMakeLists.txt
new file mode 100644 (file)
index 0000000..88e1076
--- /dev/null
@@ -0,0 +1,15 @@
+
+add_definitions(
+    -D__USE_W32_SOCKETS
+    -D_DLL -D__USE_CRTIMP)
+
+add_executable(finger 
+    finger.c
+    err.c
+    getopt.c
+    net.c
+    finger.rc)
+
+set_module_type(finger win32cui)
+add_importlibs(finger ws2_32 msvcrt kernel32)
+add_cd_file(TARGET finger DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/ftp/CMakeLists.txt b/reactos/base/applications/network/ftp/CMakeLists.txt
new file mode 100644 (file)
index 0000000..522da95
--- /dev/null
@@ -0,0 +1,24 @@
+
+add_definitions(
+    -D_DLL -D__USE_CRTIMP
+    -Dlint)
+
+add_executable(ftp
+    cmds.c
+    cmdtab.c
+    domacro.c
+    fake.c
+    ftp.c
+    main.c
+    ruserpass.c
+    ftp.rc)
+
+set_module_type(ftp win32cui)
+add_importlibs(ftp ws2_32 iphlpapi msvcrt kernel32)
+
+if(MSVC)
+    target_link_libraries(ftp oldnames)
+    add_importlibs(ftp ntdll)
+endif()
+
+add_cd_file(TARGET ftp DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/ipconfig/CMakeLists.txt b/reactos/base/applications/network/ipconfig/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d772922
--- /dev/null
@@ -0,0 +1,5 @@
+
+add_executable(ipconfig ipconfig.c ipconfig.rc)
+set_module_type(ipconfig win32cui)
+add_importlibs(ipconfig user32 iphlpapi advapi32 msvcrt kernel32)
+add_cd_file(TARGET ipconfig DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/net/CMakeLists.txt b/reactos/base/applications/network/net/CMakeLists.txt
new file mode 100644 (file)
index 0000000..215d6a5
--- /dev/null
@@ -0,0 +1,15 @@
+
+add_definitions(-D__USE_W32_SOCKETS)
+
+list(APPEND SOURCE
+    main.c
+    cmdstart.c
+    cmdStop.c
+    help.c
+    process.c)
+
+add_executable(net ${SOURCE})
+
+set_module_type(net win32cui)
+add_importlibs(net ws2_32 msvcrt kernel32)
+add_cd_file(TARGET net DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/netstat/CMakeLists.txt b/reactos/base/applications/network/netstat/CMakeLists.txt
new file mode 100644 (file)
index 0000000..055e28f
--- /dev/null
@@ -0,0 +1,5 @@
+
+add_executable(netstat netstat.c netstat.rc)
+set_module_type(netstat win32cui)
+add_importlibs(netstat user32 ws2_32 snmpapi iphlpapi msvcrt kernel32)
+add_cd_file(TARGET netstat DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/nslookup/CMakeLists.txt b/reactos/base/applications/network/nslookup/CMakeLists.txt
new file mode 100644 (file)
index 0000000..bc6fe21
--- /dev/null
@@ -0,0 +1,9 @@
+
+add_executable(nslookup
+    nslookup.c
+    utility.c
+    nslookup.rc)
+
+set_module_type(nslookup win32cui)
+add_importlibs(nslookup user32 ws2_32 snmpapi iphlpapi msvcrt kernel32)
+add_cd_file(TARGET nslookup DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/ping/CMakeLists.txt b/reactos/base/applications/network/ping/CMakeLists.txt
new file mode 100644 (file)
index 0000000..db5e7fc
--- /dev/null
@@ -0,0 +1,16 @@
+
+set_unicode()
+add_definitions(-D__USE_W32_SOCKETS)
+
+set_unicode()
+
+add_executable(ping ping.c ping.rc)
+
+set_module_type(ping win32cui)
+
+add_importlibs(ping ws2_32 msvcrt kernel32)
+if(MSVC)
+add_importlibs(ping ntdll)
+endif()
+
+add_cd_file(TARGET ping DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/route/CMakeLists.txt b/reactos/base/applications/network/route/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7dde646
--- /dev/null
@@ -0,0 +1,10 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+
+add_executable(route route.c route.rc)
+
+set_module_type(route win32cui)
+add_importlibs(route ws2_32 iphlpapi msvcrt kernel32)
+add_cd_file(TARGET route DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/telnet/CMakeLists.txt b/reactos/base/applications/network/telnet/CMakeLists.txt
new file mode 100644 (file)
index 0000000..eb4962e
--- /dev/null
@@ -0,0 +1,32 @@
+
+add_definitions(
+    -D_CRT_NONSTDC_NO_DEPRECATE
+    -D_DLL -D__USE_CRTIMP)
+
+set_cpp()
+
+add_executable(telnet
+    src/ansiprsr.cpp
+    src/keytrans.cpp
+    src/tcharmap.cpp
+    src/tconsole.cpp
+    src/tkeydef.cpp
+    src/tkeymap.cpp
+    src/tmapldr.cpp
+    src/tmouse.cpp
+    src/tnclass.cpp
+    src/tnclip.cpp
+    src/tncon.cpp
+    src/tnconfig.cpp
+    src/tnerror.cpp
+    src/tnetwork.cpp
+    src/tnmain.cpp
+    src/tnmisc.cpp
+    src/tscript.cpp
+    src/tscroll.cpp
+    src/ttelhndl.cpp
+    telnet.rc)
+
+set_module_type(telnet win32cui)
+add_importlibs(telnet ws2_32 user32 kernel32 msvcrt)
+add_cd_file(TARGET telnet DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/tracert/CMakeLists.txt b/reactos/base/applications/network/tracert/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9b55089
--- /dev/null
@@ -0,0 +1,13 @@
+
+add_definitions(-D__USE_W32_SOCKETS)
+
+add_executable(tracert tracert.c tracert.rc)
+
+set_module_type(tracert win32cui)
+
+add_importlibs(tracert ws2_32 msvcrt kernel32)
+if(MSVC)
+add_importlibs(tracert ntdll)
+endif()
+
+add_cd_file(TARGET tracert DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/network/whois/CMakeLists.txt b/reactos/base/applications/network/whois/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fb67240
--- /dev/null
@@ -0,0 +1,8 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(whois whois.c whois.rc)
+
+set_module_type(whois win32cui)
+add_importlibs(whois ws2_32 msvcrt kernel32)
+add_cd_file(TARGET whois DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/notepad/CMakeLists.txt b/reactos/base/applications/notepad/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c59cd26
--- /dev/null
@@ -0,0 +1,17 @@
+
+list(APPEND SOURCE
+    dialog.c
+    main.c
+    settings.c
+    text.c
+    rsrc.rc)
+
+set_rc_compiler()
+
+add_pch(notepad ${CMAKE_CURRENT_SOURCE_DIR}/notepad.h ${SOURCE})
+
+add_executable(notepad ${CMAKE_CURRENT_BINARY_DIR}/notepad_notepad.h.gch ${SOURCE})
+
+set_module_type(notepad win32gui)
+add_importlibs(notepad user32 gdi32 comctl32 comdlg32 advapi32 shell32 msvcrt kernel32)
+add_cd_file(TARGET notepad DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/rapps/CMakeLists.txt b/reactos/base/applications/rapps/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e3a053e
--- /dev/null
@@ -0,0 +1,35 @@
+
+set_unicode()
+
+list(APPEND SOURCE
+    aboutdlg.c
+    available.c
+    installdlg.c
+    installed.c
+    listview.c
+    loaddlg.c
+    misc.c
+    parser.c
+    richedit.c
+    settingsdlg.c
+    splitter.c
+    statusbar.c
+    toolbar.c
+    treeview.c
+    winmain.c
+    rapps.rc)
+
+include_directories(
+    ${CMAKE_CURRENT_BINARY_DIR}
+    ${REACTOS_BINARY_DIR}/include/reactos)
+
+set_rc_compiler()
+
+add_executable(rapps ${SOURCE})
+set_module_type(rapps win32gui)
+target_link_libraries(rapps uuid)
+
+add_importlibs(rapps advapi32 comctl32 gdi32 urlmon user32 shell32 shlwapi kernel32 msvcrt ntdll)
+add_dependencies(rapps rappsmsg)
+add_message_headers(rappsmsg.mc)
+add_cd_file(TARGET rapps DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/regedit/CMakeLists.txt b/reactos/base/applications/regedit/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4fb1946
--- /dev/null
@@ -0,0 +1,37 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+set_rc_compiler()
+
+include_directories(BEFORE .)
+
+list(APPEND SOURCE
+    about.c
+    childwnd.c
+    edit.c
+    error.c
+    find.c
+    framewnd.c
+    hexedit.c
+    listview.c
+    main.c
+    regedit.c
+    regproc.c
+    security.c
+    treeview.c
+    regedit.rc)
+
+add_pch(regedit ${CMAKE_CURRENT_SOURCE_DIR}/regedit.h ${SOURCE})
+
+add_executable(regedit ${CMAKE_CURRENT_BINARY_DIR}/regedit_regedit.h.gch ${SOURCE})
+
+set_module_type(regedit win32gui)
+
+target_link_libraries(regedit uuid)
+
+add_importlibs(regedit user32 gdi32 advapi32 ole32 shell32 comctl32 comdlg32 shlwapi msvcrt kernel32)
+
+#add_subdirectory(clb)
+
+add_cd_file(TARGET regedit DESTINATION reactos FOR all)
diff --git a/reactos/base/applications/regedit/clb/CMakeLists.txt b/reactos/base/applications/regedit/clb/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4024c92
--- /dev/null
@@ -0,0 +1,14 @@
+
+spec2def(clb.dll clb.spec)
+
+set_unicode()
+set_rc_compiler()
+
+add_library(clb SHARED
+    clb.c
+    clb.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/clb.def)
+
+set_module_type(clb win32dll)
+add_importlibs(clb user32 gdi32 comctl32 kernel32 ntdll)
+    
\ No newline at end of file
diff --git a/reactos/base/applications/regedt32/CMakeLists.txt b/reactos/base/applications/regedt32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..563098c
--- /dev/null
@@ -0,0 +1,9 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(regedt32 regedt32.c resource.rc)
+
+set_module_type(regedt32 win32gui)
+add_importlibs(regedt32 shell32 shlwapi msvcrt kernel32)
+add_cd_file(TARGET regedt32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/sc/CMakeLists.txt b/reactos/base/applications/sc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0854d5b
--- /dev/null
@@ -0,0 +1,22 @@
+
+set_unicode()
+add_definitions(-DDEFINE_GUID)
+
+list(APPEND SOURCE
+    control.c
+    create.c
+    delete.c
+    print.c
+    query.c
+    sc.c
+    start.c
+    usage.c
+    sc.rc)
+
+add_executable(sc ${CMAKE_CURRENT_BINARY_DIR}/sc_sc.h.gch ${SOURCE})
+
+add_pch(sc ${CMAKE_CURRENT_SOURCE_DIR}/sc.h ${SOURCE})
+
+set_module_type(sc win32cui)
+add_importlibs(sc advapi32 msvcrt kernel32)
+add_cd_file(TARGET sc DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/screensavers/3dtext/CMakeLists.txt b/reactos/base/applications/screensavers/3dtext/CMakeLists.txt
new file mode 100644 (file)
index 0000000..083b0b0
--- /dev/null
@@ -0,0 +1,16 @@
+
+set_rc_compiler()
+set_unicode()
+
+add_executable(3dtext
+    3dtext.c
+    settings.c
+    rsrc.rc)
+
+set_module_type(3dtext win32gui)
+set_target_properties(3dtext PROPERTIES SUFFIX ".scr")
+
+target_link_libraries(3dtext scrnsave)
+add_importlibs(3dtext user32 gdi32 opengl32 glu32 advapi32 msvcrt kernel32)
+
+add_cd_file(TARGET 3dtext DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/screensavers/CMakeLists.txt b/reactos/base/applications/screensavers/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d232c3c
--- /dev/null
@@ -0,0 +1,3 @@
+
+add_subdirectory(3dtext)
+add_subdirectory(logon)
diff --git a/reactos/base/applications/screensavers/logon/CMakeLists.txt b/reactos/base/applications/screensavers/logon/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0e0a02f
--- /dev/null
@@ -0,0 +1,12 @@
+
+set_rc_compiler()
+set_unicode()
+
+add_executable(logon logon.c logon.rc)
+
+set_module_type(logon win32gui)
+set_target_properties(logon PROPERTIES SUFFIX ".scr")
+
+target_link_libraries(logon scrnsave)
+add_importlibs(logon user32 gdi32 msvcrt kernel32)
+add_cd_file(TARGET logon DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/shutdown/CMakeLists.txt b/reactos/base/applications/shutdown/CMakeLists.txt
new file mode 100644 (file)
index 0000000..196d558
--- /dev/null
@@ -0,0 +1,15 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+list(APPEND SOURCE
+    misc.c
+    shutdown.c
+    shutdown.rc)
+
+add_executable(shutdown ${CMAKE_CURRENT_BINARY_DIR}/shutdown_precomp.h.gch ${SOURCE})
+
+add_pch(shutdown ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(shutdown win32cui)
+add_importlibs(shutdown advapi32 user32 msvcrt kernel32)
+add_cd_file(TARGET shutdown DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/sndrec32/CMakeLists.txt b/reactos/base/applications/sndrec32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e189437
--- /dev/null
@@ -0,0 +1,20 @@
+
+set_unicode()
+set_cpp()
+set_rc_compiler()
+
+add_executable(sndrec32
+    audio_format.cpp
+    audio_membuffer.cpp
+    audio_producer.cpp
+    audio_receiver.cpp
+    audio_resampler_acm.cpp
+    audio_wavein.cpp
+    audio_waveout.cpp
+    sndrec32.cpp
+    rsrc.rc)
+
+target_link_libraries(sndrec32 stlport)
+set_module_type(sndrec32 win32gui)
+add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32)
+add_cd_file(TARGET sndrec32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/sndvol32/CMakeLists.txt b/reactos/base/applications/sndvol32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9208072
--- /dev/null
@@ -0,0 +1,19 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+
+list(APPEND SOURCE
+    dialog.c
+       misc.c
+    mixer.c
+    sndvol32.c
+    sndvol32.rc)
+
+add_executable(sndvol32 ${CMAKE_CURRENT_BINARY_DIR}/sndvol32_sndvol32.h.gch ${SOURCE})
+
+add_pch(sndvol32 ${CMAKE_CURRENT_SOURCE_DIR}/sndvol32.h ${SOURCE})
+
+set_module_type(sndvol32 win32gui)
+add_importlibs(sndvol32 user32 advapi32 gdi32 comctl32 shell32 winmm msvcrt kernel32 ntdll)
+add_cd_file(TARGET sndvol32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/taskmgr/CMakeLists.txt b/reactos/base/applications/taskmgr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b368603
--- /dev/null
@@ -0,0 +1,32 @@
+
+set_unicode()
+set_rc_compiler()
+
+list(APPEND SOURCE
+    about.c
+    affinity.c
+    applpage.c
+    column.c
+    dbgchnl.c
+    debug.c
+    endproc.c
+    graph.c
+    optnmenu.c
+    perfdata.c
+    perfpage.c
+    priority.c
+    procpage.c
+    proclist.c
+    run.c
+    trayicon.c
+    taskmgr.c
+    graphctl.c
+    taskmgr.rc)
+
+add_executable(taskmgr ${CMAKE_CURRENT_BINARY_DIR}/taskmgr_precomp.h.gch ${SOURCE})
+
+add_pch(taskmgr ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+
+set_module_type(taskmgr win32gui)
+add_importlibs(taskmgr advapi32 user32 gdi32 shell32 comctl32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET taskmgr DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/winhlp32/CMakeLists.txt b/reactos/base/applications/winhlp32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8b1e1fe
--- /dev/null
@@ -0,0 +1,26 @@
+
+set_rc_compiler()
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+
+add_definitions(
+    -D__ROS_LONG64__
+    -D_CRT_NONSTDC_NO_DEPRECATE
+    -Dfileno=_fileno
+    -Disatty=_isatty
+    -D_DLL -D__USE_CRTIMP)
+
+add_executable(winhlp32
+    callback.c
+    hlpfile.c
+    macro.c
+    string.c
+    winhelp.c
+    lex.yy.c
+    rsrc.rc)
+
+set_module_type(winhlp32 win32gui)
+
+target_link_libraries(winhlp32 wine)
+add_importlibs(winhlp32 user32 gdi32 shell32 comctl32 comdlg32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET winhlp32 DESTINATION reactos FOR all)
diff --git a/reactos/base/applications/winver/CMakeLists.txt b/reactos/base/applications/winver/CMakeLists.txt
new file mode 100644 (file)
index 0000000..005d1a3
--- /dev/null
@@ -0,0 +1,7 @@
+
+set_unicode()
+
+add_executable(winver winver.c)
+set_module_type(winver win32gui)
+add_importlibs(winver shell32 msvcrt kernel32)
+add_cd_file(TARGET winver DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/wordpad/CMakeLists.txt b/reactos/base/applications/wordpad/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e8f3906
--- /dev/null
@@ -0,0 +1,23 @@
+
+include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/reactos/wine)
+
+add_definitions(
+    -D__ROS_LONG64__
+    -D_DLL -D__USE_CRTIMP)
+
+set_rc_compiler()
+
+list(APPEND SOURCE
+    olecallback.c
+    print.c
+    registry.c
+    wordpad.c
+    rsrc.rc)
+
+add_executable(wordpad ${SOURCE})
+
+set_module_type(wordpad win32gui)
+
+target_link_libraries(wordpad wine uuid)
+add_importlibs(wordpad comdlg32 ole32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET wordpad DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/applications/write/CMakeLists.txt b/reactos/base/applications/write/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4660a30
--- /dev/null
@@ -0,0 +1,7 @@
+
+set_unicode()
+
+add_executable(write write.c rsrc.rc)
+set_module_type(write win32gui)
+add_importlibs(write user32 gdi32 msvcrt kernel32)
+add_cd_file(TARGET write DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/CMakeLists.txt b/reactos/base/services/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c49d77b
--- /dev/null
@@ -0,0 +1,11 @@
+
+add_subdirectory(audiosrv)
+add_subdirectory(eventlog)
+add_subdirectory(rpcss)
+add_subdirectory(spoolsv)
+add_subdirectory(svchost)
+add_subdirectory(tcpsvcs)
+add_subdirectory(telnetd)
+#add_subdirectory(tftpd)
+add_subdirectory(umpnpmgr)
+add_subdirectory(wlansvc)
diff --git a/reactos/base/services/audiosrv/CMakeLists.txt b/reactos/base/services/audiosrv/CMakeLists.txt
new file mode 100644 (file)
index 0000000..bd96bf7
--- /dev/null
@@ -0,0 +1,15 @@
+
+set_unicode(audiosrv yes)
+
+add_executable(audiosrv
+    main.c
+    pnp_list_manager.c
+    pnp_list_lock.c
+    pnp.c
+    services.c
+    debug.c
+    audiosrv.rc)
+
+set_module_type(audiosrv win32cui)
+add_importlibs(audiosrv advapi32 user32 setupapi msvcrt kernel32)
+add_cd_file(TARGET audiosrv DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/eventlog/CMakeLists.txt b/reactos/base/services/eventlog/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4246062
--- /dev/null
@@ -0,0 +1,22 @@
+
+include_directories(${REACTOS_BINARY_DIR}/include/reactos/idl)
+
+set_unicode()
+
+list(APPEND SOURCE
+    eventlog.c
+    eventsource.c
+    logport.c
+    eventlog.rc
+    rpc.c
+    file.c)
+
+add_executable(eventlog ${CMAKE_CURRENT_BINARY_DIR}/eventlog_eventlog.h.gch ${SOURCE})
+
+target_link_libraries(eventlog eventlogrpc ${PSEH_LIB})
+
+add_pch(eventlog ${CMAKE_CURRENT_SOURCE_DIR}/eventlog.h ${SOURCE})
+
+set_module_type(eventlog win32cui)
+add_importlibs(eventlog advapi32 rpcrt4 msvcrt kernel32 ntdll)
+add_cd_file(TARGET eventlog DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/rpcss/CMakeLists.txt b/reactos/base/services/rpcss/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f84c816
--- /dev/null
@@ -0,0 +1,21 @@
+
+set_unicode()
+
+list(APPEND SOURCE
+    epmp.c
+    irotp.c
+    rpcss_main.c
+    service_main.c
+    rpcss.rc)
+
+include_directories(${REACTOS_BINARY_DIR}/include/reactos/wine)
+
+add_executable(rpcss ${SOURCE})
+
+target_link_libraries(rpcss epmrpc irotrpc ${PSEH_LIB} wine)
+
+set_module_type(rpcss win32cui)
+
+add_importlibs(rpcss advapi32 rpcrt4 msvcrt kernel32 ntdll)
+add_cd_file(TARGET rpcss DESTINATION reactos/system32 FOR all)
+add_dependencies(rpcss winesdk)
diff --git a/reactos/base/services/spoolsv/CMakeLists.txt b/reactos/base/services/spoolsv/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2724ed0
--- /dev/null
@@ -0,0 +1,10 @@
+
+set_unicode()
+
+add_executable(spoolsv spoolsv.c spoolsv.rc)
+
+target_link_libraries(spoolsv wine)
+
+set_module_type(spoolsv win32cui)
+add_importlibs(spoolsv advapi32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET spoolsv DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/svchost/CMakeLists.txt b/reactos/base/services/svchost/CMakeLists.txt
new file mode 100644 (file)
index 0000000..637b693
--- /dev/null
@@ -0,0 +1,6 @@
+
+add_executable(svchost svchost.c svchost.rc)
+
+set_module_type(svchost win32cui)
+add_importlibs(svchost advapi32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET svchost DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/tcpsvcs/CMakeLists.txt b/reactos/base/services/tcpsvcs/CMakeLists.txt
new file mode 100644 (file)
index 0000000..02439ab
--- /dev/null
@@ -0,0 +1,23 @@
+
+set_unicode()
+
+list(APPEND SOURCE
+    tcpsvcs.c
+    skelserver.c
+    echo.c
+    discard.c
+    daytime.c
+    qotd.c
+    chargen.c
+    tcpsvcs.rc
+    log.c)
+
+add_executable(tcpsvcs ${CMAKE_CURRENT_BINARY_DIR}/tcpsvcs_tcpsvcs.h.gch ${SOURCE})
+
+add_pch(tcpsvcs ${CMAKE_CURRENT_SOURCE_DIR}/tcpsvcs.h ${SOURCE})
+set_module_type(tcpsvcs win32cui)
+add_importlibs(tcpsvcs ws2_32 advapi32 msvcrt kernel32 ntdll)
+
+
+add_cd_file(TARGET tcpsvcs DESTINATION reactos/system32 FOR all)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/quotes DESTINATION reactos/system32/drivers/etc FOR all)
\ No newline at end of file
diff --git a/reactos/base/services/telnetd/CMakeLists.txt b/reactos/base/services/telnetd/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2256960
--- /dev/null
@@ -0,0 +1,13 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(telnetd
+    telnetd.c
+    serviceentry.c
+    telnetd.rc)
+
+target_link_libraries(telnetd wine)
+
+set_module_type(telnetd win32cui)
+add_importlibs(telnetd advapi32 ws2_32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET telnetd DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/tftpd/CMakeLists.txt b/reactos/base/services/tftpd/CMakeLists.txt
new file mode 100644 (file)
index 0000000..967dd15
--- /dev/null
@@ -0,0 +1,7 @@
+
+add_executable(tftpd tftpd.cpp)
+
+target_link_libraries(tftpd wine)
+
+set_module_type(tftpd win32cui)
+add_importlibs(tftpd advapi32 ws2_32 msvcrt kernel32 ntdll)
diff --git a/reactos/base/services/umpnpmgr/CMakeLists.txt b/reactos/base/services/umpnpmgr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d02270e
--- /dev/null
@@ -0,0 +1,14 @@
+
+set_unicode()
+
+include_directories(${REACTOS_BINARY_DIR}/include/reactos/idl)
+
+remove_definitions(-D_WIN32_WINNT=0x502)
+add_definitions(-D_WIN32_WINNT=0x600)
+
+add_executable(umpnpmgr umpnpmgr.c umpnpmgr.rc)
+target_link_libraries(umpnpmgr pnprpc wdmguid ${PSEH_LIB})
+
+set_module_type(umpnpmgr win32cui)
+add_importlibs(umpnpmgr advapi32 rpcrt4 userenv msvcrt kernel32 ntdll)
+add_cd_file(TARGET umpnpmgr DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/services/wlansvc/CMakeLists.txt b/reactos/base/services/wlansvc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..91edbda
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_unicode()
+include_directories(${REACTOS_BINARY_DIR}/include/reactos/idl)
+
+add_executable(wlansvc wlansvc.c rpcserver.c)
+
+target_link_libraries(wlansvc wlansvcrpc ${PSEH_LIB})
+
+set_module_type(wlansvc win32cui)
+add_importlibs(wlansvc advapi32 rpcrt4 iphlpapi msvcrt kernel32 ntdll)
+add_cd_file(TARGET wlansvc DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/setup/CMakeLists.txt b/reactos/base/setup/CMakeLists.txt
new file mode 100644 (file)
index 0000000..02a7bc1
--- /dev/null
@@ -0,0 +1,6 @@
+
+add_subdirectory(reactos)
+add_subdirectory(setup)
+add_subdirectory(usetup)
+add_subdirectory(vmwinst)
+add_subdirectory(welcome)
diff --git a/reactos/base/setup/reactos/CMakeLists.txt b/reactos/base/setup/reactos/CMakeLists.txt
new file mode 100644 (file)
index 0000000..85abb83
--- /dev/null
@@ -0,0 +1,11 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(reactos reactos.c reactos.rc)
+
+target_link_libraries(reactos uuid)
+
+set_module_type(reactos win32gui)
+add_importlibs(reactos gdi32 user32 comctl32 setupapi msvcrt kernel32 ntdll)
+add_cd_file(TARGET reactos DESTINATION reactos NO_CAB FOR bootcd)
diff --git a/reactos/base/setup/setup/CMakeLists.txt b/reactos/base/setup/setup/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5bff8ec
--- /dev/null
@@ -0,0 +1,8 @@
+
+set_unicode()
+
+add_executable(setup setup.c setup.rc)
+
+set_module_type(setup win32gui)
+add_importlibs(setup userenv msvcrt kernel32 ntdll)
+add_cd_file(TARGET setup DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/setup/usetup/CMakeLists.txt b/reactos/base/setup/usetup/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a0f6410
--- /dev/null
@@ -0,0 +1,47 @@
+
+include_directories(
+    ${REACTOS_SOURCE_DIR}/lib/newinflib
+    ${REACTOS_SOURCE_DIR}/lib/3rdparty/zlib
+    ${REACTOS_SOURCE_DIR}/include/reactos/drivers)
+
+add_executable(usetup
+    interface/usetup.c
+    interface/devinst.c
+    interface/consup.c
+    native/utils/keytrans.c
+    native/utils/console.c
+    native/fslist.c
+    native/console.c
+    bootsup.c
+    cabinet.c
+    chkdsk.c
+    drivesup.c
+    filesup.c
+    filequeue.c
+    format.c
+    fslist.c
+    genlist.c
+    inffile.c
+    inicache.c
+    mui.c
+    partlist.c
+    progress.c
+    registry.c
+    settings.c
+    usetup.rc)
+
+target_link_libraries(usetup
+    mingw_main
+    zlib
+    inflib
+    ext2lib
+    vfatlib
+    mingw_common)
+
+if(MSVC)
+    target_link_libraries(usetup msvcsup)
+endif()
+
+set_module_type(usetup nativecui)
+add_importlibs(usetup kernel32 ntdll)
+add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NAME_ON_CD smss.exe FOR bootcd)
diff --git a/reactos/base/setup/vmwinst/CMakeLists.txt b/reactos/base/setup/vmwinst/CMakeLists.txt
new file mode 100644 (file)
index 0000000..975d16d
--- /dev/null
@@ -0,0 +1,21 @@
+
+set_unicode()
+
+add_executable(vmwinst vmwinst.c vmwinst.rc)
+
+target_link_libraries(vmwinst ${PSEH_LIB})
+
+set_module_type(vmwinst win32gui)
+add_importlibs(vmwinst
+    advapi32
+    comctl32
+    comdlg32
+    newdev
+    user32
+    setupapi
+    shell32
+    msvcrt
+    kernel32
+    ntdll)
+
+add_cd_file(TARGET vmwinst DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/setup/welcome/CMakeLists.txt b/reactos/base/setup/welcome/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f4252db
--- /dev/null
@@ -0,0 +1,8 @@
+
+set_unicode()
+
+add_executable(welcome welcome.c welcome.rc)
+
+set_module_type(welcome win32gui)
+add_importlibs(welcome gdi32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET welcome DESTINATION reactos NO_CAB FOR bootcd)
diff --git a/reactos/base/shell/CMakeLists.txt b/reactos/base/shell/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4849ec1
--- /dev/null
@@ -0,0 +1,7 @@
+
+add_subdirectory(cmd)
+if(NOT MSVC)
+add_subdirectory(explorer)
+endif()
+add_subdirectory(explorer-new)
+
diff --git a/reactos/base/shell/cmd/CMakeLists.txt b/reactos/base/shell/cmd/CMakeLists.txt
new file mode 100644 (file)
index 0000000..855d5fa
--- /dev/null
@@ -0,0 +1,82 @@
+
+set_unicode()
+
+add_definitions(
+    -DANONYMOUSUNIONS
+    -D_DEBUG_MEM)
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+
+set_rc_compiler()
+
+list(APPEND SOURCE main.c cmd.rc)
+
+list(APPEND SOURCE
+    alias.c
+    assoc.c
+    attrib.c
+    batch.c
+    beep.c
+    call.c
+    chcp.c
+    choice.c
+    cls.c
+    cmd.c
+    cmddbg.c
+    cmdinput.c
+    cmdtable.c
+    color.c
+    console.c
+    copy.c
+    date.c
+    del.c
+    delay.c
+    dir.c
+    dirstack.c
+    echo.c
+    error.c
+    filecomp.c
+    for.c
+    free.c
+    goto.c
+    history.c
+    if.c
+    internal.c
+    label.c
+    locale.c
+    memory.c
+    misc.c
+    mklink.c
+    move.c
+    msgbox.c
+    parser.c
+    path.c
+    pause.c
+    prompt.c
+    redir.c
+    ren.c
+    replace.c
+    screen.c
+    set.c
+    setlocal.c
+    shift.c
+    start.c
+    strtoclr.c
+    time.c
+    timer.c
+    title.c
+    type.c
+    ver.c
+    verify.c
+    vol.c
+    where.c
+    window.c)
+
+add_executable(cmd ${CMAKE_CURRENT_BINARY_DIR}/cmd_precomp.h.gch ${SOURCE})
+
+target_link_libraries(cmd wine)
+
+add_pch(cmd ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h SOURCE)
+set_module_type(cmd win32cui)
+add_importlibs(cmd advapi32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET cmd DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/shell/explorer-new/CMakeLists.txt b/reactos/base/shell/explorer-new/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6066f89
--- /dev/null
@@ -0,0 +1,41 @@
+
+set_unicode()
+
+add_definitions(-DWIN32)
+
+set_rc_compiler()
+
+list(APPEND SOURCE
+    desktop.c
+    dragdrop.c
+    explorer.c
+    startmnu.c
+    taskband.c
+    taskswnd.c
+    tbsite.c
+    trayntfy.c
+    trayprop.c
+    traywnd.c
+    explorer.rc)
+
+add_executable(explorer_new ${CMAKE_CURRENT_BINARY_DIR}/explorer_new_precomp.h.gch ${SOURCE})
+
+target_link_libraries(explorer_new uuid)
+
+add_pch(explorer_new ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+set_module_type(explorer_new win32gui)
+add_importlibs(explorer_new
+    advapi32
+    gdi32
+    user32
+    comctl32
+    ole32
+    oleaut32
+    shell32
+    shlwapi
+    version
+    msvcrt
+    kernel32
+    ntdll)
+
+add_cd_file(TARGET explorer_new DESTINATION reactos FOR all)
diff --git a/reactos/base/shell/explorer/CMakeLists.txt b/reactos/base/shell/explorer/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6f01f7e
--- /dev/null
@@ -0,0 +1,77 @@
+
+add_subdirectory(notifyhook)
+
+set_unicode()
+
+#NOTE : explorer doesn't follow standard c++, and so doesn't compile with stlport headers
+#I'm not willing to do it if explorer_new is hanging around.
+#jgardou
+#set_cpp()
+
+add_definitions(
+    -DWIN32
+    -D__WINDRES__
+    -D_DLL -D__USE_CRTIMP)
+
+#add_pch(explorer ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h SOURCE)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+list(APPEND SOURCE
+    shell/mainframe.cpp
+    shell/unixfs.cpp
+    shell/ntobjfs.cpp
+    shell/filechild.cpp
+    shell/shellfs.cpp
+    shell/fatfs.cpp
+    shell/pane.cpp
+    shell/regfs.cpp
+    shell/webchild.cpp
+    shell/entries.cpp
+    shell/shellbrowser.cpp
+    shell/winfs.cpp
+    dialogs/searchprogram.cpp
+    dialogs/settings.cpp
+    i386-stub-win32.c
+    taskbar/taskbar.cpp
+    taskbar/favorites.cpp
+    taskbar/quicklaunch.cpp
+    taskbar/desktopbar.cpp
+    taskbar/startmenu.cpp
+    taskbar/traynotify.cpp
+    precomp.cpp
+    explorer.rc
+    services/startup.c
+    services/shellservices.cpp
+    desktop/desktop.cpp
+    explorer.cpp
+    utility/xs-native.cpp
+    utility/shellclasses.cpp
+    utility/dragdropimpl.cpp
+    utility/utility.cpp
+    utility/xmlstorage.cpp
+#   utility/splitpath.c     msvcrt has _wsplitpath already
+    utility/window.cpp
+    utility/shellbrowserimpl.cpp) #    utility/shelltests.cpp
+
+add_executable(explorer ${SOURCE}) #${CMAKE_CURRENT_BINARY_DIR}/explorer_precomp.h.gch ${SOURCE})
+
+set_subsystem(explorer windows)
+set_entrypoint(explorer WinMainCRTStartup)
+
+target_link_libraries(explorer
+    -lsupc++
+    -lstdc++
+    -lgcc
+    -lmingwex
+    wine
+    mingw_wmain
+    mingw_common
+    uuid)
+
+add_importlibs(explorer advapi32 gdi32 user32 ws2_32 msimg32 comctl32 ole32 oleaut32 shell32 notifyhook msvcrt kernel32 ntdll)
+
+set_image_base(explorer 0x00400000)
+
+add_dependencies(explorer psdk)
+add_cd_file(TARGET explorer DESTINATION reactos FOR all)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/explorer-cfg-template.xml DESTINATION reactos FOR all)
diff --git a/reactos/base/shell/explorer/notifyhook/CMakeLists.txt b/reactos/base/shell/explorer/notifyhook/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b3eda1e
--- /dev/null
@@ -0,0 +1,17 @@
+
+add_definitions(-D_NOTIFYHOOK_IMPL)
+
+spec2def(notifyhook.dll notifyhook.spec)
+
+list(APPEND SOURCE
+    notifyhook.c
+    notifyhook.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/notifyhook.def)
+
+add_library(notifyhook SHARED ${SOURCE})
+
+set_module_type(notifyhook win32dll)
+
+add_importlibs(notifyhook user32 msvcrt kernel32)
+add_importlib_target(notifyhook.spec)
+add_cd_file(TARGET notifyhook DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/shell/explorer/notifyhook/notifyhook.spec b/reactos/base/shell/explorer/notifyhook/notifyhook.spec
new file mode 100644 (file)
index 0000000..e27ea75
--- /dev/null
@@ -0,0 +1,4 @@
+@ cdecl DeinstallNotifyHook()
+@ cdecl GetWindowModulePath(ptr)
+@ cdecl GetWindowModulePathCopyData(ptr ptr ptr long)
+@ cdecl InstallNotifyHook()
\ No newline at end of file
diff --git a/reactos/base/system/CMakeLists.txt b/reactos/base/system/CMakeLists.txt
new file mode 100644 (file)
index 0000000..80232bc
--- /dev/null
@@ -0,0 +1,15 @@
+
+add_subdirectory(autochk)
+add_subdirectory(bootok)
+add_subdirectory(expand)
+add_subdirectory(format)
+add_subdirectory(lsass)
+add_subdirectory(msiexec)
+add_subdirectory(regsvr32)
+add_subdirectory(rundll32)
+add_subdirectory(runonce)
+add_subdirectory(services)
+add_subdirectory(smss)
+add_subdirectory(subst)
+add_subdirectory(userinit)
+add_subdirectory(winlogon)
diff --git a/reactos/base/system/autochk/CMakeLists.txt b/reactos/base/system/autochk/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fe3a4cd
--- /dev/null
@@ -0,0 +1,8 @@
+
+add_executable(autochk WIN32 autochk.c autochk.rc)
+
+set_module_type(autochk nativecui)
+
+target_link_libraries(autochk mingw_common nt)
+add_importlibs(autochk kernel32 ntdll)
+add_cd_file(TARGET autochk DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/bootok/CMakeLists.txt b/reactos/base/system/bootok/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e59cd62
--- /dev/null
@@ -0,0 +1,10 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+
+add_executable(bootok bootok.c bootok.rc)
+
+set_module_type(bootok win32cui)
+add_importlibs(bootok advapi32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET bootok DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/expand/CMakeLists.txt b/reactos/base/system/expand/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d82276a
--- /dev/null
@@ -0,0 +1,10 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+
+add_executable(expand expand.c expand.rc)
+
+set_module_type(expand win32cui)
+add_importlibs(expand lz32 setupapi user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET expand DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/format/CMakeLists.txt b/reactos/base/system/format/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ba1aa8d
--- /dev/null
@@ -0,0 +1,11 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+include_directories(.)
+set_rc_compiler()
+
+add_executable(format format.c format.rc)
+
+set_module_type(format win32cui)
+add_importlibs(format user32 fmifs msvcrt kernel32 ntdll)
+add_cd_file(TARGET format DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/lsass/CMakeLists.txt b/reactos/base/system/lsass/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6411aa4
--- /dev/null
@@ -0,0 +1,10 @@
+
+set_unicode()
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
+
+add_executable(lsass lsass.c lsass.rc)
+
+set_module_type(lsass win32gui)
+add_importlibs(lsass advapi32 lsasrv msvcrt kernel32 ntdll)
+add_cd_file(TARGET lsass DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/msiexec/CMakeLists.txt b/reactos/base/system/msiexec/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9e4c256
--- /dev/null
@@ -0,0 +1,19 @@
+
+add_definitions(
+    -D_DLL -D__USE_CRTIMP
+    -D__WINESRC__)
+
+include_directories(${REACTOS_SOURCE_DIR}/include/wine)
+
+set_rc_compiler()
+
+add_executable(msiexec
+    msiexec.c
+    service.c
+    rsrc.rc)
+
+set_module_type(msiexec win32gui)
+
+target_link_libraries(msiexec uuid wine)
+add_importlibs(msiexec user32 advapi32 ole32 msi msvcrt kernel32 ntdll)
+add_cd_file(TARGET msiexec DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/regsvr32/CMakeLists.txt b/reactos/base/system/regsvr32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c784511
--- /dev/null
@@ -0,0 +1,12 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+set_unicode()
+include_directories(.)
+set_rc_compiler()
+
+add_executable(regsvr32 regsvr32.c regsvr32.rc)
+
+set_module_type(regsvr32 win32gui)
+add_importlibs(regsvr32 user32 shell32 ole32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET regsvr32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/rundll32/CMakeLists.txt b/reactos/base/system/rundll32/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9f7d43f
--- /dev/null
@@ -0,0 +1,10 @@
+
+set_unicode()
+include_directories(.)
+set_rc_compiler()
+
+add_executable(rundll32 rundll32.c rundll32.rc)
+
+set_module_type(rundll32 win32gui)
+add_importlibs(rundll32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET rundll32 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/runonce/CMakeLists.txt b/reactos/base/system/runonce/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6fd8005
--- /dev/null
@@ -0,0 +1,9 @@
+
+set_unicode()
+set_rc_compiler()
+
+add_executable(runonce runonce.c runonce.rc)
+
+set_module_type(runonce win32gui)
+add_importlibs(runonce advapi32 user32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET runonce DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/services/CMakeLists.txt b/reactos/base/system/services/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5384849
--- /dev/null
@@ -0,0 +1,27 @@
+
+set_unicode()
+
+include_directories(
+    ${REACTOS_BINARY_DIR}/include/reactos/idl
+    ${REACTOS_SOURCE_DIR}/include/reactos/subsys)
+
+list(APPEND SOURCE
+    config.c
+    database.c
+    driver.c
+    groupdb.c
+    rpcserver.c
+    services.c
+    services.rc)
+
+add_executable(services ${CMAKE_CURRENT_BINARY_DIR}/services_services.h.gch ${SOURCE})
+
+target_link_libraries(services
+    svcctlrpc
+    ${PSEH_LIB})
+
+add_pch(services ${CMAKE_CURRENT_SOURCE_DIR}/services.h ${SOURCE})
+
+set_module_type(services win32cui)
+add_importlibs(services user32 advapi32 rpcrt4 msvcrt kernel32 ntdll)
+add_cd_file(TARGET services DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/smss/CMakeLists.txt b/reactos/base/system/smss/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b1c77a3
--- /dev/null
@@ -0,0 +1,38 @@
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/subsys)
+
+list(APPEND SOURCE
+    client.c
+    debug.c
+    init.c
+    initdosdev.c
+    initenv.c
+    initheap.c
+    initmv.c
+    initobdir.c
+    initpage.c
+    initreg.c
+    initrun.c
+    initss.c
+    initwkdll.c
+    print.c
+    smapi.c
+    smapicomp.c
+    smapiexec.c
+    smapiquery.c
+    smss.c
+    smss.rc)
+
+add_executable(smss WIN32 ${CMAKE_CURRENT_BINARY_DIR}/smss_smss.h.gch ${SOURCE})
+
+target_link_libraries(smss mingw_common nt smlib)
+if(MSVC)
+    target_link_libraries(smss msvcsup)
+    set_entrypoint(smss DllMainCRTStartup)
+endif()
+
+add_pch(smss ${CMAKE_CURRENT_SOURCE_DIR}/smss.h ${SOURCE})
+
+set_module_type(smss nativecui)
+add_importlibs(smss ntdll)
+add_cd_file(TARGET smss DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/subst/CMakeLists.txt b/reactos/base/system/subst/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4319b5e
--- /dev/null
@@ -0,0 +1,11 @@
+
+include_directories(.)
+set_rc_compiler()
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+add_executable(subst subst.c subst.rc)
+
+set_module_type(subst win32cui)
+add_importlibs(subst msvcrt kernel32 user32 ntdll)
+add_cd_file(TARGET subst DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/userinit/CMakeLists.txt b/reactos/base/system/userinit/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e2089b7
--- /dev/null
@@ -0,0 +1,12 @@
+
+set_unicode()
+include_directories(.)
+set_rc_compiler()
+
+add_executable(userinit userinit.c userinit.rc)
+
+target_link_libraries(userinit wine)
+
+set_module_type(userinit win32gui)
+add_importlibs(userinit user32 gdi32 advapi32 shell32 shlwapi msvcrt kernel32 ntdll)
+add_cd_file(TARGET userinit DESTINATION reactos/system32 FOR all)
diff --git a/reactos/base/system/winlogon/CMakeLists.txt b/reactos/base/system/winlogon/CMakeLists.txt
new file mode 100644 (file)
index 0000000..945de99
--- /dev/null
@@ -0,0 +1,19 @@
+
+list(APPEND SOURCE
+    environment.c
+    sas.c
+    screensaver.c
+    setup.c
+    winlogon.c
+    wlx.c
+    winlogon.rc)
+
+add_executable(winlogon ${CMAKE_CURRENT_BINARY_DIR}/winlogon_winlogon.h.gch ${SOURCE})
+
+target_link_libraries(winlogon wine)
+
+add_pch(winlogon ${CMAKE_CURRENT_SOURCE_DIR}/winlogon.h ${SOURCE})
+
+set_module_type(winlogon win32gui)
+add_importlibs(winlogon user32 advapi32 userenv secur32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET winlogon DESTINATION reactos/system32 FOR all)
diff --git a/reactos/baseaddress.cmake b/reactos/baseaddress.cmake
new file mode 100644 (file)
index 0000000..9a3128c
--- /dev/null
@@ -0,0 +1,261 @@
+set(baseaddress_regtests               0x07000000)
+set(baseaddress_notifyhook             0x08000000)
+set(baseaddress_faultrep               0x107a0000)
+set(baseaddress_qmgrprxy               0x1f710000)
+set(baseaddress_cryptdlg               0x209c0000)
+set(baseaddress_comcat                 0x20a50000)
+set(baseaddress_windowscodecs  0x26c40000)
+set(baseaddress_devenum                        0x35670000)
+set(baseaddress_rsabase                        0x35700000)
+set(baseaddress_rsaenh                 0x35780000)
+set(baseaddress_url                            0x42ea0000)
+set(baseaddress_wlanapi                        0x470f0000)
+set(baseaddress_pidgen                 0x473e0000)
+set(baseaddress_dwmapi                 0x4a3f0000)
+set(baseaddress_t2embed                        0x4b310000)
+set(baseaddress_msftedit               0x4b460000)
+set(baseaddress_loadperf               0x4b920000)
+set(baseaddress_mprapi                 0x4c400000)
+set(baseaddress_wuapi                  0x506a0000)
+set(baseaddress_srclient               0x512c0000)
+set(baseaddress_pstorec                        0x513d0000)
+set(baseaddress_lpk                            0x516c0000)
+set(baseaddress_msgsm32acm             0x56db0000)
+set(baseaddress_msdvbnp                        0x58280000)
+set(baseaddress_msg711acm              0x584f0000)
+set(baseaddress_imaadp32acm            0x585e0000)
+set(baseaddress_bdaplgin               0x58600000)
+set(baseaddress_telephon               0x58750000)
+set(baseaddress_pwrcfg                 0x587e0000)
+set(baseaddress_mmsys                  0x588a0000)
+set(baseaddress_joy                            0x589b0000)
+set(baseaddress_qmgr                   0x59620000)
+set(baseaddress_msvidctl               0x59660000)
+set(baseaddress_uxtheme                        0x5ad70000)
+set(baseaddress_vdmdbg                 0x5b0d0000)
+set(baseaddress_untfs                  0x5b340000)
+set(baseaddress_objsel                 0x5b400000)
+set(baseaddress_ufat                   0x5b570000)
+set(baseaddress_tapiui                 0x5b770000)
+set(baseaddress_uext2                  0x5b7a0000)
+set(baseaddress_slayer                 0x5c7e0000)
+set(baseaddress_usrmgr                 0x5c900000)
+set(baseaddress_shimgvw                        0x5cb00000)
+set(baseaddress_commctrl               0x5d090000)
+set(baseaddress_dplayx                 0x5e080000)
+set(baseaddress_input                  0x5e400000)
+set(baseaddress_ntlanman               0x5f380000)
+set(baseaddress_dinput                 0x5f580000)
+set(baseaddress_netid                  0x5f660000)
+set(baseaddress_ntprint                        0x5f6a0000)
+set(baseaddress_mssip32                        0x60430000)
+set(baseaddress_msisip                 0x60b10000)
+set(baseaddress_inseng                 0x61000000)
+set(baseaddress_qedit                  0x611c0000)
+set(baseaddress_modemui                        0x61650000)
+set(baseaddress_mapi32                 0x62250000)
+set(baseaddress_mciwave                        0x622a0000)
+set(baseaddress_mciseq                 0x622b0000)
+set(baseaddress_mciqtz32               0x622c0000)
+set(baseaddress_mcicda                 0x622e0000)
+set(baseaddress_localui                        0x62f70000)
+set(baseaddress_hdwwiz                 0x64d40000)
+set(baseaddress_timedate               0x64da0000)
+set(baseaddress_sysdm                  0x64dd0000)
+set(baseaddress_ncpl                   0x64ea0000)
+set(baseaddress_main                   0x64f40000)
+set(baseaddress_intl                   0x64fb0000)
+set(baseaddress_desk                   0x65080000)
+set(baseaddress_appwiz                 0x65100000)
+set(baseaddress_mlang                  0x65140000)
+set(baseaddress_access                 0x65180000)
+set(baseaddress_itss                   0x66370000)
+set(baseaddress_itircl                 0x663a0000)
+set(baseaddress_inetmib1               0x666f0000)
+set(baseaddress_initpki                        0x66b00000)
+set(baseaddress_wshtcpip               0x677b0000)
+set(baseaddress_crypt32                        0x67ab0000)
+set(baseaddress_httpapi                        0x67ae0000)
+set(baseaddress_hid                            0x688f0000)
+set(baseaddress_psxdll                 0x68eb0000)
+set(baseaddress_psapi                  0x68f70000)
+set(baseaddress_ksproxy                        0x68f90000)
+set(baseaddress_getuname               0x69110000)
+set(baseaddress_oleacc                 0x69640000)
+set(baseaddress_winmm                  0x697d0000)
+set(baseaddress_msimg32                        0x69cc0000)
+
+set(baseaddress_netplwiz               0x6a240000)
+set(baseaddress_shell32                        0x6a360000)
+set(baseaddress_unicode                        0x6b200000)
+set(baseaddress_advpack                        0x6b300000)
+set(baseaddress_control                        0x6b310000)
+set(baseaddress_ncpa                   0x6b320000)
+set(baseaddress_dbghelp                        0x6b330000)
+set(baseaddress_dinput8                        0x6b340000)
+set(baseaddress_dxdiagn                        0x6b350000)
+set(baseaddress_glu32                  0x6b370000)
+set(baseaddress_mesa32                 0x6b380000)
+set(baseaddress_opengl32               0x6b390000)
+set(baseaddress_secur32                        0x6b3a0000)
+set(baseaddress_smdll                  0x6b3b0000)
+set(baseaddress_serialui               0x6b3d0000)
+set(baseaddress_hlink                  0x6c6e0000)
+set(baseaddress_deskmon                        0x6d400000)
+set(baseaddress_deskadp                        0x6d410000)
+set(baseaddress_wldap32                        0x6e130000)
+set(baseaddress_sxs                            0x6e160000)
+set(baseaddress_schannel               0x6e360000)
+set(baseaddress_console                        0x6e4d0000)
+set(baseaddress_compstui               0x6ec10000)
+set(baseaddress_hnetcfg                        0x6edb0000)
+set(baseaddress_clb                            0x6f2b0000)
+set(baseaddress_fontext                        0x6f7b0000)
+set(baseaddress_jscript                        0x6fe80000)
+set(baseaddress_cards                  0x701a0000)
+set(baseaddress_wininet                        0x70200000)
+set(baseaddress_winhttp                        0x70c60000)
+set(baseaddress_batt                   0x70cb0000)
+set(baseaddress_amstream               0x71030000)
+set(baseaddress_aclui                  0x71550000)
+set(baseaddress_dhcpcsvc               0x71650000)
+set(baseaddress_shdocvw                        0x71700000)
+set(baseaddress_actxprxy               0x71800000)
+set(baseaddress_mswsock                        0x71a30000)
+set(baseaddress_wsock32                        0x71ab0000)
+set(baseaddress_acledit                        0x71b70000)
+set(baseaddress_netapi32               0x71c00000)
+set(baseaddress_olesvr32               0x71dd0000)
+set(baseaddress_olecli32               0x71df0000)
+set(baseaddress_olethk32               0x71e10000)
+set(baseaddress_netevent               0x71e70000)
+set(baseaddress_dplay                  0x71e80000)
+set(baseaddress_security               0x71f10000)
+set(baseaddress_mssign32               0x720c0000)
+set(baseaddress_cryptui                        0x720d0000)
+set(baseaddress_winfax                 0x722c0000)
+set(baseaddress_winscard               0x723d0000)
+set(baseaddress_devmgr                 0x72a90000)
+set(baseaddress_msadp32acm             0x72cb0000)
+set(baseaddress_wdmaud.drv             0x72d20000)
+set(baseaddress_winspool               0x72f50000)
+set(baseaddress_softpub                        0x73290000)
+set(baseaddress_mscat32                        0x732b0000)
+set(baseaddress_mstask                 0x73520000)
+set(baseaddress_traffic                        0x73550000)
+set(baseaddress_mciavi32               0x73610000)
+set(baseaddress_msvidc32               0x73650000)
+set(baseaddress_msrle32                        0x73660000)
+set(baseaddress_msdmo                  0x73670000)
+set(baseaddress_avicap32               0x739e0000)
+set(baseaddress_avifil32               0x73ac0000)
+set(baseaddress_mscms                  0x73af0000)
+set(baseaddress_dciman32               0x73b10000)
+set(baseaddress_sti                            0x73b60000)
+set(baseaddress_iccvid                 0x73bc0000)
+set(baseaddress_coredll                        0x73d80000)
+set(baseaddress_lz32                   0x73d80000)
+set(baseaddress_ksuser                 0x73ea0000)
+set(baseaddress_icmp                   0x741f0000)
+set(baseaddress_spoolss                        0x742a0000)
+set(baseaddress_msimtf                 0x746b0000)
+set(baseaddress_msctf                  0x746e0000)
+set(baseaddress_kbsdll                 0x74720000)
+set(baseaddress_userenv                        0x74850000)
+set(baseaddress_powrprof               0x74ad0000)
+set(baseaddress_msxml3                 0x74ae0000)
+set(baseaddress_printui                        0x74b40000)
+set(baseaddress_sndblst                        0x74c30000)
+set(baseaddress_pdh                            0x74c70000)
+set(baseaddress_oledlg                 0x74d00000)
+set(baseaddress_samsrv                 0x74f30000)
+set(baseaddress_resutils               0x75070000)
+set(baseaddress_samlib                 0x750c0000)
+set(baseaddress_cabinet                        0x75120000)
+set(baseaddress_netcfgx                        0x755f0000)
+set(baseaddress_iphlpapi               0x75700000)
+set(baseaddress_nddeapi                        0x75940000)
+set(baseaddress_msgina                 0x75970000)
+set(baseaddress_localspl               0x75b80000)
+set(baseaddress_cryptnet               0x75e60000)
+set(baseaddress_rpcrt4                 0x76000000)
+set(baseaddress_inetcomm               0x76140000)
+set(baseaddress_winsta                 0x762f0000)
+set(baseaddress_imm32                  0x76320000)
+set(baseaddress_d3d8thk                        0x76340000)
+set(baseaddress_riched32               0x76340000)
+set(baseaddress_riched20               0x76360000)
+set(baseaddress_odbccp32               0x76380000)
+set(baseaddress_twain_32               0x76380000)
+set(baseaddress_netshell               0x76390000)
+set(baseaddress_lsasrv                 0x76540000)
+set(baseaddress_midimap                        0x76600000)
+set(baseaddress_wavemap                        0x76610000)
+set(baseaddress_mpr                            0x76620000)
+set(baseaddress_odbc32                 0x76710000)
+set(baseaddress_setupapi               0x76730000)
+set(baseaddress_cryptdll               0x768f0000)
+set(baseaddress_shfolder               0x76900000)
+set(baseaddress_ntdsapi                        0x76910000)
+set(baseaddress_rasdlg                 0x76930000)
+set(baseaddress_gdiplus                        0x76a70000)
+set(baseaddress_atl                            0x76ac0000)
+set(baseaddress_sfc                            0x76b50000)
+set(baseaddress_credui                 0x76bf0000)
+set(baseaddress_sfc_os                 0x76c10000)
+set(baseaddress_wintrust               0x76c30000)
+set(baseaddress_imagehlp               0x76c90000)
+set(baseaddress_clusapi                        0x76d10000)
+set(baseaddress_wmi                            0x76d20000)
+set(baseaddress_dhcpcsvc               0x76d80000)
+set(baseaddress_fmifs                  0x76df0000)
+set(baseaddress_oleaut32               0x76e00000)
+set(baseaddress_tapi32                 0x76e60000)
+set(baseaddress_rasman                 0x76e90000)
+set(baseaddress_rasapi32               0x76ee0000)
+set(baseaddress_wtsapi32               0x76f50000)
+set(baseaddress_msacm32                        0x77400000)
+set(baseaddress_crtdll                 0x77630000)
+set(baseaddress_authz                  0x77690000)
+set(baseaddress_cfgmgr32               0x77700000)
+set(baseaddress_sensapi                        0x77700000)
+set(baseaddress_msafd                  0x77780000)
+set(baseaddress_packet                 0x77780000)
+set(baseaddress_msi                            0x77790000)
+set(baseaddress_snmpapi                        0x777a0000)
+set(baseaddress_usp10                  0x777b0000)
+set(baseaddress_iprtprio               0x777c0000)
+set(baseaddress_ws2help                        0x777e0000)
+set(baseaddress_wshirda                        0x777f0000)
+set(baseaddress_version                        0x77a40000)
+set(baseaddress_ole32                  0x77a50000)
+set(baseaddress_olepro32               0x77b20000)
+set(baseaddress_activeds               0x77cb0000)
+set(baseaddress_advapi32               0x77dc0000)
+set(baseaddress_dnsapi                 0x77fb0000)
+set(baseaddress_msvcrt                 0x78000000)
+set(baseaddress_msvcrt20               0x78500000)
+set(baseaddress_msvcrt40               0x78700000)
+set(baseaddress_mscoree                        0x79000000)
+set(baseaddress_fusion                 0x79040000)
+set(baseaddress_ntdll                  0x7c900000)
+set(baseaddress_kernel32               0x7cb10000)
+set(baseaddress_user32                 0x7ccf0000)
+set(baseaddress_gdi32                  0x7ced0000)
+set(baseaddress_comctl32               0x7cf60000)
+set(baseaddress_comdlg32               0x7d110000)
+set(baseaddress_shlwapi                        0x7d210000)
+set(baseaddress_urlmon                 0x7d2e0000)
+set(baseaddress_ws2_32                 0x7d3f0000)
+set(baseaddress_syssetup               0x7d440000)
+set(baseaddress_browseui               0x7d510000)
+set(baseaddress_dsound                 0x7d630000)
+set(baseaddress_quartz                 0x7d6e0000)
+set(baseaddress_msvfw32                        0x7d8a0000)
+set(baseaddress_mshtml                 0x7d8f0000)
+set(baseaddress_query                  0x7db30000)
+set(baseaddress_hhctrl                 0x7db60000)
+set(baseaddress_sxs                            0x7dbd0000)
+set(baseaddress_beepmidi               0x7dc00000)
+set(baseaddress_ntmarta                        0x7dc20000)
+set(baseaddress_ftfd                   0x7f000000)
diff --git a/reactos/boot/CMakeLists.txt b/reactos/boot/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3ab10be
--- /dev/null
@@ -0,0 +1,37 @@
+##bootcd
+#clear it out
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake 
+    "file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bootcd)\n")
+
+add_custom_target(bootcd
+    ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/bootcd
+                             -P ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
+    COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcd REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso
+    VERBATIM)
+    
+##livecd
+#clear it out
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake 
+    "file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/livecd)\n")
+#create profiles directories too
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake 
+    "file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles)\n")
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake 
+    "file(MAKE_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles/All Users\")\n")
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake 
+    "file(MAKE_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles/All Users/Desktop\")\n")
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake 
+    "file(MAKE_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles/Default User\")\n")
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
+    "file(MAKE_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles/Default User/Desktop\")\n")
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
+    "file(MAKE_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/livecd/Profiles/Default User/My Documents\")\n")
+
+add_custom_target(livecd
+    ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/livecd
+                             -P ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
+    COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/livecd REACTOS ${REACTOS_BINARY_DIR}/livecd.iso
+    VERBATIM)
+
+add_subdirectory(freeldr)
+add_subdirectory(bootdata)
diff --git a/reactos/boot/bootdata/CMakeLists.txt b/reactos/boot/bootdata/CMakeLists.txt
new file mode 100644 (file)
index 0000000..edf577b
--- /dev/null
@@ -0,0 +1,47 @@
+
+add_subdirectory(packages)
+
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivecls.inf FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivedef.inf FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesft.inf FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf FOR bootcd)
+
+# livecd hives
+list(APPEND CD_HIVES
+    ${CMAKE_CURRENT_SOURCE_DIR}/livecd.inf
+    ${CMAKE_CURRENT_SOURCE_DIR}/hiveinst_${ARCH}.inf)
+
+add_custom_command(
+    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sam
+        ${CMAKE_CURRENT_BINARY_DIR}/default
+        ${CMAKE_CURRENT_BINARY_DIR}/security
+        ${CMAKE_CURRENT_BINARY_DIR}/software
+        ${CMAKE_CURRENT_BINARY_DIR}/system
+    COMMAND native-mkhive ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${ARCH} ${CD_HIVES}
+    DEPENDS native-mkhive ${CD_HIVES})
+
+add_custom_target(livecd_hives
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sam
+        ${CMAKE_CURRENT_BINARY_DIR}/default
+        ${CMAKE_CURRENT_BINARY_DIR}/security
+        ${CMAKE_CURRENT_BINARY_DIR}/software
+        ${CMAKE_CURRENT_BINARY_DIR}/system)
+
+add_cd_file(
+    FILE ${CMAKE_CURRENT_BINARY_DIR}/sam
+        ${CMAKE_CURRENT_BINARY_DIR}/default
+        ${CMAKE_CURRENT_BINARY_DIR}/security
+        ${CMAKE_CURRENT_BINARY_DIR}/software
+        ${CMAKE_CURRENT_BINARY_DIR}/system
+    TARGET livecd_hives
+    DESTINATION reactos/system32/config
+    FOR livecd)
+
+#regtest
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/regtest.cmd DESTINATION reactos/bin FOR all)
+
+#freeldr.ini
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR bootcd)
+add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NAME_ON_CD freeldr.ini FOR livecd)
+
diff --git a/reactos/boot/bootdata/packages/CMakeLists.txt b/reactos/boot/bootdata/packages/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9f0ca7e
--- /dev/null
@@ -0,0 +1,45 @@
+#reactos.dff
+
+# reactos.dff is the concatenation of two files :
+#   - reactos.dff.in, which is a static one and can be altered to
+# add custom modules/files to reactos.cab
+#   - reactos.dff.dyn (dyn as dynamic) which is generated at configure time by our cmake scripts
+# If you want to slip-stream anything into the bootcd, then you want to alter reactos.dff.in
+
+# Idea taken from there : http://www.cmake.org/pipermail/cmake/2010-July/038028.html
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/concat.cmake "
+    file(READ \${SRC1} S1)
+    file(READ \${SRC2} S2)
+    file(WRITE \${DST} \"\${S1}\${S2}\")
+")
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.dyn "")
+
+add_custom_command(
+    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff
+    COMMAND ${CMAKE_COMMAND} -D SRC1=${CMAKE_CURRENT_SOURCE_DIR}/reactos.dff.in
+                             -D SRC2=${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.dyn
+                             -D DST=${CMAKE_CURRENT_BINARY_DIR}/reactos.dff
+                             -P ${CMAKE_CURRENT_BINARY_DIR}/concat.cmake
+    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/reactos.dff.in
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.dyn
+)
+
+# And now we build reactos.cab
+add_custom_command(
+    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf
+    COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -L ${CMAKE_CURRENT_BINARY_DIR} -I -P ${REACTOS_SOURCE_DIR}
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff
+)
+# add_custom_command(
+    # OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab
+    # COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -RC ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf -L ${CMAKE_CURRENT_BINARY_DIR} -N -P ${REACTOS_SOURCE_DIR}
+    # DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf
+# )
+
+add_custom_target(reactos_cab 
+    native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -RC ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf -L ${CMAKE_CURRENT_BINARY_DIR} -N -P ${REACTOS_SOURCE_DIR}
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf
+    VERBATIM)
+    
+add_cd_file(TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DESTINATION reactos NO_CAB FOR bootcd)
diff --git a/reactos/boot/bootdata/packages/reactos.dff.in b/reactos/boot/bootdata/packages/reactos.dff.in
new file mode 100644 (file)
index 0000000..cb44b08
--- /dev/null
@@ -0,0 +1,56 @@
+
+; Main ReactOS package
+
+.Set DiskLabelTemplate="ReactOS"                ; Label of disk
+.Set CabinetNameTemplate="reactos.cab"          ; reactos.cab
+.Set InfFileName="reactos.inf"                  ; reactos.inf
+
+
+;.Set Cabinet=on
+;.Set Compress=on
+
+.InfBegin
+[Version]
+Signature = "$ReactOS$"
+
+[Directories]
+1 = system32
+2 = system32\drivers
+3 = Fonts
+4 =
+5 = system32\drivers\etc
+6 = inf
+7 = bin
+8 = media
+
+.InfEnd
+
+; Contents of disk
+.InfBegin
+[SourceFiles]
+.InfEnd
+
+; Optional/proprietary files
+modules\optional\DroidSansFallback.ttf              3  optional
+modules\optional\NOTICE_for_Droid_Font.txt          4  optional
+modules\optional\netkvm2k.inf                       6  optional
+modules\optional\netkvm2k.cat                       6  optional
+modules\optional\netkvm.sys                         2  optional
+modules\optional\alcxwdm.inf                        6  optional
+modules\optional\alcxwdm.sys                        2  optional
+modules\optional\mfc42.dll                          1  optional
+modules\optional\mfc42u.dll                         1  optional
+modules\optional\mfc71.dll                          1  optional
+modules\optional\mfc71u.dll                         1  optional
+modules\optional\msvbvm50.dll                       1  optional
+modules\optional\msvbvm60.dll                       1  optional
+modules\optional\msvcirt.dll                        1  optional
+modules\optional\msvcp71.dll                        1  optional
+modules\optional\msvcr71.dll                        1  optional
+modules\optional\vmx_fb.dll                         1  optional
+modules\optional\vmx_mode.dll                       1  optional
+modules\optional\vmx_svga.inf                       6  optional
+modules\optional\vmx_svga.sys                       2  optional
+modules\optional\wine_gecko-1.0.0-x86.cab           4  optional
+
+modules\wallpaper\Angelus_02_ROSWP.bmp                                     4   optional
diff --git a/reactos/boot/freeldr/CMakeLists.txt b/reactos/boot/freeldr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..859c73a
--- /dev/null
@@ -0,0 +1,3 @@
+
+add_subdirectory(bootsect)
+add_subdirectory(freeldr)
\ No newline at end of file
diff --git a/reactos/boot/freeldr/bootsect/CMakeLists.txt b/reactos/boot/freeldr/bootsect/CMakeLists.txt
new file mode 100644 (file)
index 0000000..406799a
--- /dev/null
@@ -0,0 +1,14 @@
+
+CreateBootSectorTarget(dosmbr ${CMAKE_CURRENT_SOURCE_DIR}/dosmbr.asm ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin)
+CreateBootSectorTarget(ext2 ${CMAKE_CURRENT_SOURCE_DIR}/ext2.asm ${CMAKE_CURRENT_BINARY_DIR}/ext2.bin)
+CreateBootSectorTarget(fat32 ${CMAKE_CURRENT_SOURCE_DIR}/fat32.asm ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin)
+CreateBootSectorTarget(fat ${CMAKE_CURRENT_SOURCE_DIR}/fat.asm ${CMAKE_CURRENT_BINARY_DIR}/fat.bin)
+CreateBootSectorTarget(isoboot ${CMAKE_CURRENT_SOURCE_DIR}/isoboot.asm ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin)
+CreateBootSectorTarget(isobtrt ${CMAKE_CURRENT_SOURCE_DIR}/isobtrt.asm ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin)
+
+add_cd_file(TARGET dosmbr DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/dosmbr.bin FOR all)
+add_cd_file(TARGET ext2 DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/ext2.bin FOR all)
+add_cd_file(TARGET fat32 DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/fat32.bin FOR all)
+add_cd_file(TARGET fat DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/fat.bin FOR all)
+add_cd_file(TARGET isoboot DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/isoboot.bin FOR all)
+add_cd_file(TARGET isobtrt DESTINATION loader NO_CAB FILE ${CMAKE_CURRENT_BINARY_DIR}/isobtrt.bin FOR all)
\ No newline at end of file
diff --git a/reactos/boot/freeldr/freeldr/CMakeLists.txt b/reactos/boot/freeldr/freeldr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f5f3625
--- /dev/null
@@ -0,0 +1,243 @@
+
+include_directories(BEFORE include)
+include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include)
+
+if(ARCH MATCHES arm)
+    if(SARCH MATCHES omap-zoom2)
+        add_definitions(-D_ZOOM2_)
+    endif()
+endif()
+
+if(ARCH MATCHES i386)
+    if(MSVC)
+        list(APPEND FREELDR_BASE64K_SOURCE
+            arch/i386/realmode.S)
+    else()
+        list(APPEND FREELDR_STARTUP_SOURCE
+            arch/i386/fathelp.S
+            arch/i386/arch.S)
+    endif()
+elseif(ARCH MATCHES amd64)
+    list(APPEND FREELDR_STARTUP_SOURCE
+        arch/i386/fathelp.S
+        arch/amd64/arch.S)
+endif()
+
+if(ARCH MATCHES i386)
+    if(NOT MSVC)
+        list(APPEND FREELDR_BASE64K_SOURCE
+            arch/i386/boot.S
+            arch/i386/drvmap.S
+            arch/i386/i386cpu.S
+            arch/i386/i386idt.S
+            arch/i386/i386pnp.S
+            arch/i386/i386pxe.S
+            arch/i386/i386trap.S
+            arch/i386/int386.S
+            arch/i386/linux.S
+            arch/i386/mb.S
+            arch/i386/i386bug.c)
+    endif()
+elseif(ARCH MATCHES amd64)
+    list(APPEND FREELDR_BASE64K_SOURCE
+        arch/i386/drvmap.S
+        arch/i386/i386cpu.S
+        arch/i386/i386idt.S
+        arch/i386/i386trap.S
+        arch/amd64/mb.S)
+endif()
+
+set_source_files_properties(${FREELDR_BASE64K_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_")
+
+include_directories(${REACTOS_SOURCE_DIR}/lib/cmlib)
+
+list(APPEND FREELDR_BASE_SOURCE
+    arcemul/mm.c
+    arcemul/time.c
+    cache/blocklist.c
+    cache/cache.c
+    comm/rs232.c
+    disk/disk.c
+    disk/partition.c
+    disk/ramdisk.c
+    disk/scsiport.c
+    fs/ext2.c
+    fs/fat.c
+    fs/fs.c
+    fs/iso.c
+    fs/ntfs.c
+    fs/pxe.c
+    inifile/ini_init.c
+    inifile/inifile.c
+    inifile/parse.c
+    mm/meminit.c
+    mm/mm.c
+    reactos/registry.c
+    reactos/arcname.c
+    reactos/archwsup.c
+    reactos/binhive.c
+    reactos/reactos.c
+    reactos/imageldr.c
+    rtl/bget.c
+    rtl/libsupp.c
+    ui/directui.c
+    ui/gui.c
+    ui/minitui.c
+    ui/noui.c
+    ui/tui.c
+    ui/tuimenu.c
+    ui/ui.c
+    video/fade.c
+    video/palette.c
+    video/video.c
+    windows/conversion.c
+    windows/peloader.c
+    windows/winldr.c
+    windows/wlmemory.c
+    windows/wlregistry.c
+    freeldr.c
+    debug.c
+    version.c
+    cmdline.c
+    machine.c
+    options.c
+    linuxboot.c
+    oslist.c)
+
+if(ARCH MATCHES i386)
+    list(APPEND FREELDR_BASE_SOURCE
+        windows/headless.c
+        disk/scsiport.c)
+endif()
+
+set_source_files_properties(${FREELDR_BASE_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_")
+
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs)
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/elf)
+
+if(ARCH MATCHES i386)
+    list(APPEND FREELDR_ARCH_SOURCE
+        arch/i386/archmach.c
+        arch/i386/custom.c
+        arch/i386/drivemap.c
+        arch/i386/halstub.c
+        arch/i386/hardware.c
+        arch/i386/hwacpi.c
+        arch/i386/hwapm.c
+        arch/i386/hwpci.c
+        arch/i386/i386disk.c
+        arch/i386/i386rtl.c
+        arch/i386/i386vid.c
+        arch/i386/loader.c
+        arch/i386/machpc.c
+        arch/i386/miscboot.c
+        arch/i386/ntoskrnl.c
+        arch/i386/pccons.c
+        arch/i386/pcdisk.c
+        arch/i386/pcmem.c
+        arch/i386/pcrtc.c
+        arch/i386/pcvideo.c
+        arch/i386/machxbox.c
+        arch/i386/xboxcons.c
+        arch/i386/xboxdisk.c
+        arch/i386/xboxfont.c
+        arch/i386/xboxhw.c
+        arch/i386/xboxi2c.c
+        arch/i386/xboxmem.c
+        arch/i386/xboxrtc.c
+        arch/i386/xboxvideo.c
+        windows/i386/ntsetup.c
+        windows/i386/wlmemory.c)
+else()
+#TBD
+endif()
+
+set_source_files_properties(${FREELDR_ARCH_SOURCE} PROPERTIES COMPILE_DEFINITIONS "_NTHAL_;_BLDR_;_NTSYSTEM_")
+add_library(freeldr_arch ${FREELDR_ARCH_SOURCE})
+
+list(APPEND FREELDR_SOURCE
+    bootmgr.c
+    ${FREELDR_STARTUP_SOURCE}
+    ${FREELDR_BASE64K_SOURCE}
+    ${FREELDR_BASE_SOURCE}
+    )
+
+add_library(freeldr SHARED
+    ${CMAKE_CURRENT_BINARY_DIR}/freeldr_freeldr.h.gch
+    ${FREELDR_SOURCE})
+
+if(NOT MSVC)
+    set_target_properties(freeldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lnk" SUFFIX ".sys")
+set_image_base(freeldr 0x8000)
+else()
+    set_target_properties(freeldr PROPERTIES LINK_FLAGS "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text /SUBSYSTEM:BOOT_APPLICATION" SUFFIX ".sys")
+set_image_base(freeldr 0x10000)
+endif()
+
+set_subsystem(freeldr native)
+set_entrypoint(freeldr mainCRTStartup)
+
+if(ARCH MATCHES i386)
+    target_link_libraries(freeldr mini_hal)
+endif()
+
+target_link_libraries(freeldr
+    freeldr_arch
+    cportlib
+    rossym
+    cmlib
+    rtl
+    libcntpr)
+
+add_pch(freeldr ${CMAKE_CURRENT_SOURCE_DIR}/include/freeldr.h ${FREELDR_SOURCE})
+add_dependencies(freeldr asm)
+
+add_cd_file(TARGET freeldr DESTINATION loader NO_CAB FOR all)
+
+list(APPEND SETUPLDR_MAIN_SOURCE
+    bootmgr.c
+    inffile/inffile.c
+    reactos/setupldr.c)
+
+if(ARCH MATCHES i386 OR ARCH MATCHES amd64)
+    list(APPEND SETUPLDR_MAIN_SOURCE windows/setupldr2.c)
+endif()
+
+if(NOT MSVC)
+    set_source_files_properties(${SETUPLDR_MAIN_SOURCE} PROPERTIES COMPILE_FLAGS "-ffreestanding -fno-builtin -fno-inline -fno-zero-initialized-in-bss")
+endif()
+
+list(APPEND SETUPLDR_SOURCE
+    ${FREELDR_STARTUP_SOURCE}
+    ${FREELDR_BASE64K_SOURCE}
+    ${FREELDR_BASE_SOURCE}
+    ${SETUPLDR_MAIN_SOURCE})
+
+add_library(setupldr SHARED ${SETUPLDR_SOURCE})
+
+if(NOT MSVC)
+    set_target_properties(setupldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,--exclude-all-symbols -Wl,--file-alignment,0x1000 -Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/freeldr_i386.lnk" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP")
+set_image_base(setupldr 0x8000)
+else()
+    set_target_properties(setupldr PROPERTIES LINK_FLAGS "/DRIVER /SECTION:.text,ERWP,ALIGN=0x1000" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP")
+endif()
+
+set_subsystem(setupldr native)
+set_entrypoint(setupldr mainCRTStartup)
+
+if(ARCH MATCHES i386)
+    target_link_libraries(setupldr mini_hal)
+endif()
+
+target_link_libraries(setupldr
+    freeldr_arch
+    cportlib
+    rossym
+    cmlib
+    rtl
+    libcntpr)
+
+add_dependencies(setupldr asm)
+
+add_cd_file(TARGET setupldr DESTINATION loader NO_CAB FOR all)
+
diff --git a/reactos/boot/freeldr/freeldr/arch/i386/fathelp.S b/reactos/boot/freeldr/freeldr/arch/i386/fathelp.S
new file mode 100644 (file)
index 0000000..7bd7fb3
--- /dev/null
@@ -0,0 +1,239 @@
+// fathelp.S
+// FAT12/16 Boot Sector Helper Code
+// Copyright (c) 1998, 2001, 2002, 2003 Brian Palmer
+
+#include <asm.inc>
+
+//org 8000h
+
+//.text
+
+.code16
+
+
+#define BootSectorStackTop             HEX(7bf2)
+#define DataAreaStartHigh              2
+#define DataAreaStartLow               4
+#define BiosCHSDriveSizeHigh   6
+#define BiosCHSDriveSizeLow            8
+#define BiosCHSDriveSize               8
+#define ReadSectorsOffset              10
+#define ReadClusterOffset              12
+#define PutCharsOffset                 14
+
+#define OEMName                                        3
+#define BytesPerSector                 11
+#define SectsPerCluster                        13
+#define ReservedSectors                        14
+#define NumberOfFats                   16
+#define MaxRootEntries                 17
+#define TotalSectors                   19
+#define MediaDescriptor                        21
+#define SectorsPerFat                  22
+#define SectorsPerTrack                        24
+#define NumberOfHeads                  26
+#define HiddenSectors                  28
+#define TotalSectorsBig                        32
+#define BootDrive                              36
+#define Reserved                               37
+#define ExtendSig                              38
+#define SerialNumber                   39
+#define VolumeLabel                            43
+#define FileSystem                             54
+
+#define BootPartition                  HEX(7dfd)
+
+
+// This code will be stored in the first 512 bytes
+// of freeldr.sys. The first 3 bytes will be a jmp
+// instruction to skip past the FAT helper code
+// that is stored in the rest of the 512 bytes.
+//
+// This code is loaded at 0000:8000 so we have to
+// encode a jmp instruction to jump to 0000:8200
+
+PUBLIC _mainCRTStartup // For Mingw32 builds where the linker looks for this symbol
+_mainCRTStartup:
+PUBLIC start
+start:
+        .byte  HEX(e9)
+               .byte   HEX(fd)
+               .byte   HEX(01)
+
+// Now starts the extra boot code that we will store
+// in the first 512 bytes of freeldr.sys. This code
+// allows the FAT12/16 bootsector to navigate the
+// FAT table so that we can still load freeldr.sys
+// even if it is fragmented.
+
+
+FatHelperEntryPoint:
+
+               push ax                                                 // First save AX - the start cluster of freeldr.sys
+
+
+               // Display "Loading FreeLoader..." message
+        mov  esi, offset msgLoading                    // Loading message
+        call word ptr [bp-PutCharsOffset]              // Display it
+
+
+               call ReadFatIntoMemory
+
+               pop  ax                                                 // Restore AX (start cluster)
+               // AX has start cluster of freeldr.sys
+
+        mov  bx, HEX(800)
+        mov  es,bx
+
+LoadFile:
+               push ax
+               call IsFat12
+               pop  ax
+               jnc  LoadFile2
+               cmp  ax, HEX(0ff8)                  // Check to see if this is the last cluster in the chain
+               jmp  LoadFile3
+LoadFile2:
+               cmp  ax, HEX(0fff8)
+LoadFile3:
+               jae      LoadFile_Done          // If so continue, if not then read then next one
+               push ax
+        xor  bx,bx              // Load ROSLDR starting at 0000:8000h
+               push es
+               call word ptr [bp-ReadClusterOffset]
+               pop  es
+
+               xor  bx,bx
+        mov  bl, [bp+SectsPerCluster]
+               shl  bx,5                                                       // BX = BX * 512 / 16
+               mov  ax,es                                                      // Increment the load address by
+               add  ax,bx                                                      // The size of a cluster
+               mov  es,ax
+
+               call IsFat12
+               pop  ax
+               push es
+               jnc  LoadFile4
+               call GetFatEntry12                                      // Get the next entry
+               jmp  LoadFile5
+LoadFile4:
+               call GetFatEntry16
+LoadFile5:
+               pop  es
+
+        jmp  LoadFile                                          // Load the next cluster (if any)
+
+LoadFile_Done:
+        mov  dl, byte ptr [bp+BootDrive]               // Load the boot drive into DL
+               mov  dh, byte ptr ds:[BootPartition]    // Load the boot partition into DH
+
+               push 0                                          // push segment (0x0000)
+               mov bx, ds: [HEX(8000) + HEX(A8)]               // load the RVA of the EntryPoint into eax
+               add bx, HEX(8000)                               // RVA -> VA and skip 3 bytes (jump to fathelper code)
+               push bx                                         // push offset
+               retf                                            // Transfer control to FreeLoader
+
+// Reads the entire FAT into memory at 7000:0000
+ReadFatIntoMemory:
+        mov   ax, [bp+HiddenSectors] 
+        mov   dx, [bp+HiddenSectors+2]
+               add   ax, [bp+ReservedSectors]
+               adc   dx, 0
+               mov   cx, [bp+SectorsPerFat]
+               mov   bx, HEX(7000)
+               mov   es,bx
+               xor   bx,bx
+               call  word ptr [bp-ReadSectorsOffset]
+               ret
+
+
+// Returns the FAT entry for a given cluster number for 16-bit FAT
+// On entry AX has cluster number
+// On return AX has FAT entry for that cluster
+GetFatEntry16:
+
+               mov   cx,2                                              // AX = AX * 2 (since FAT16 entries are 2 bytes)
+               mul   cx
+               shl   dx,12
+
+        mov   bx, HEX(7000)
+               add   bx,dx
+        mov   es,bx
+               mov   bx,ax                                             // Restore FAT entry offset
+               mov   ax, es:[bx]               // Get FAT entry
+
+               ret
+
+
+// Returns the FAT entry for a given cluster number for 12-bit FAT
+// On entry AX has cluster number
+// On return AX has FAT entry for that cluster
+GetFatEntry12:
+
+               push  ax
+               mov   cx,ax
+               shr   ax,1
+               add   ax,cx                                             // AX = AX * 1.5 (AX = AX + (AX / 2)) (since FAT12 entries are 12 bits)
+
+        mov   bx, HEX(7000)
+        mov   es,bx
+               mov   bx,ax                                             // Put FAT entry offset into BX
+               mov   ax, es:[bx]               // Get FAT entry
+               pop   cx                                                // Get cluster number from stack
+               and   cx,1
+               jz    UseLow12Bits
+               and   ax, HEX(0fff0)
+               shr   ax,4
+               jmp   GetFatEntry12_Done
+
+UseLow12Bits:
+               and   ax, HEX(0fff)
+
+GetFatEntry12_Done:
+
+               ret
+
+
+// Returns CF = 1 if this is a FAT12 file system
+// Otherwise CF = 0 for FAT16
+IsFat12:
+
+               mov   ebx, dword ptr [bp-DataAreaStartLow]
+        // EBX now has the number of the starting sector of the data area
+               // starting from the beginning of the disk, so subtrace hidden sectors
+               sub   ebx, dword ptr [bp+HiddenSectors]
+
+
+               xor   eax,eax
+               mov   ax, word ptr [bp+TotalSectors]
+               cmp   ax, 0
+               jnz   IsFat12_2
+               mov   eax, dword ptr [bp+TotalSectorsBig]
+
+               // EAX now contains the number of sectors on the volume
+
+IsFat12_2:
+               sub   eax,ebx                           // Subtract data area start sector
+               xor   edx,edx                           // from total sectors of volume
+
+               // EDX:EAX now contains the number of data sectors on the volume
+               movzx ebx, byte ptr [bp+SectsPerCluster]
+               div   ebx
+               // EAX now has the number of clusters on the volume
+               stc
+               cmp   eax,4085
+               jb    IsFat12_Done
+               clc
+
+IsFat12_Done:
+               ret
+
+
+
+msgLoading:    .asciz "Loading FreeLoader...\r\n"
+
+            .org HEX(1fe)                              // Pad to 510 bytes
+                       .word HEX(0aa55)                        // BootSector signature
+
+.endcode16
+
+END
diff --git a/reactos/boot/freeldr/freeldr/arch/i386/realmode.S b/reactos/boot/freeldr/freeldr/arch/i386/realmode.S
new file mode 100644 (file)
index 0000000..4464a17
--- /dev/null
@@ -0,0 +1,80 @@
+
+
+#include <asm.inc>
+
+.code16
+PUBLIC _mainCRTStartup
+_mainCRTStartup:
+_LoaderEntry:
+    ret
+
+.endcode16
+
+.code32
+
+
+// globals
+PUBLIC _BootPartition
+_BootPartition:
+PUBLIC _BootDrive
+_BootDrive:
+
+PUBLIC _PageDirectoryStart
+_PageDirectoryStart:
+PUBLIC _PageDirectoryEnd
+_PageDirectoryEnd:
+
+PUBLIC _startup_pagedirectory
+_startup_pagedirectory:
+PUBLIC _apic_pagetable
+_apic_pagetable:
+PUBLIC _kernel_pagetable
+_kernel_pagetable:
+PUBLIC _lowmem_pagetable
+_lowmem_pagetable:
+
+
+PUBLIC RealEntryPoint
+RealEntryPoint:
+
+PUBLIC _EnableA20
+_EnableA20:
+
+PUBLIC _ChainLoadBiosBootSectorCode
+_ChainLoadBiosBootSectorCode:
+
+PUBLIC _BootOldLinuxKernel
+_BootOldLinuxKernel:
+
+PUBLIC _BootNewLinuxKernel
+_BootNewLinuxKernel:
+
+PUBLIC _SoftReboot
+_SoftReboot:
+
+PUBLIC _DriveMapOldInt13HandlerAddress
+_DriveMapOldInt13HandlerAddress:
+
+PUBLIC _DriveMapInt13HandlerStart
+_DriveMapInt13HandlerStart:
+
+PUBLIC _DriveMapInt13HandlerEnd
+_DriveMapInt13HandlerEnd:
+
+PUBLIC _DriveMapInt13HandlerMapList
+_DriveMapInt13HandlerMapList:
+
+PUBLIC _PnpBiosGetDeviceNode
+_PnpBiosGetDeviceNode:
+
+PUBLIC _PnpBiosGetDeviceNodeCount
+_PnpBiosGetDeviceNodeCount:
+
+PUBLIC _PnpBiosSupported
+_PnpBiosSupported:
+
+PUBLIC _Int386
+_Int386:
+
+
+END
diff --git a/reactos/cmake/CMakeParseArguments.cmake b/reactos/cmake/CMakeParseArguments.cmake
new file mode 100644 (file)
index 0000000..7ce4c49
--- /dev/null
@@ -0,0 +1,138 @@
+# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
+#
+# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
+# parsing the arguments given to that macro or function.
+# It processes the arguments and defines a set of variables which hold the
+# values of the respective options.
+#
+# The <options> argument contains all options for the respective macro,
+# i.e. keywords which can be used when calling the macro without any value
+# following, like e.g. the OPTIONAL keyword of the install() command.
+#
+# The <one_value_keywords> argument contains all keywords for this macro
+# which are followed by one value, like e.g. DESTINATION keyword of the
+# install() command.
+#
+# The <multi_value_keywords> argument contains all keywords for this macro
+# which can be followed by more than one value, like e.g. the TARGETS or
+# FILES keywords of the install() command.
+#
+# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
+# keywords listed in <options>, <one_value_keywords> and
+# <multi_value_keywords> a variable composed of the given <prefix>
+# followed by "_" and the name of the respective keyword.
+# These variables will then hold the respective value from the argument list.
+# For the <options> keywords this will be TRUE or FALSE.
+#
+# All remaining arguments are collected in a variable
+# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
+# your macro was called with unrecognized parameters.
+#
+# As an example here a my_install() macro, which takes similar arguments as the
+# real install() command:
+#
+#   function(MY_INSTALL)
+#     set(options OPTIONAL FAST)
+#     set(oneValueArgs DESTINATION RENAME)
+#     set(multiValueArgs TARGETS CONFIGURATIONS)
+#     cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
+#     ...
+#
+# Assume my_install() has been called like this:
+#   my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
+#
+# After the cmake_parse_arguments() call the macro will have set the following
+# variables:
+#   MY_INSTALL_OPTIONAL = TRUE
+#   MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
+#   MY_INSTALL_DESTINATION = "bin"
+#   MY_INSTALL_RENAME = "" (was not used)
+#   MY_INSTALL_TARGETS = "foo;bar"
+#   MY_INSTALL_CONFIGURATIONS = "" (was not used)
+#   MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
+#
+# You can the continue and process these variables.
+#
+# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
+# another recognized keyword follows, this is interpreted as the beginning of
+# the new option.
+# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
+# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
+# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
+
+#=============================================================================
+# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+
+if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
+  return()
+endif()
+set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
+
+
+function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
+  # first set all result variables to empty/FALSE
+  foreach(arg_name ${_singleArgNames} ${_multiArgNames})
+    set(${prefix}_${arg_name})
+  endforeach(arg_name)
+
+  foreach(option ${_optionNames})
+    set(${prefix}_${option} FALSE)
+  endforeach(option)
+
+  set(${prefix}_UNPARSED_ARGUMENTS)
+
+  set(insideValues FALSE)
+  set(currentArgName)
+
+  # now iterate over all arguments and fill the result variables
+  foreach(currentArg ${ARGN})
+    list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks the end of the arguments belonging to this keyword
+    list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
+    list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
+
+    if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  ${multiArgIndex} EQUAL -1)
+      if(insideValues)
+        if("${insideValues}" STREQUAL "SINGLE")
+          set(${prefix}_${currentArgName} ${currentArg})
+          set(insideValues FALSE)
+        elseif("${insideValues}" STREQUAL "MULTI")
+          list(APPEND ${prefix}_${currentArgName} ${currentArg})
+        endif()
+      else(insideValues)
+        list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
+      endif(insideValues)
+    else()
+      if(NOT ${optionIndex} EQUAL -1)
+        set(${prefix}_${currentArg} TRUE)
+        set(insideValues FALSE)
+      elseif(NOT ${singleArgIndex} EQUAL -1)
+        set(currentArgName ${currentArg})
+        set(${prefix}_${currentArgName})
+        set(insideValues "SINGLE")
+      elseif(NOT ${multiArgIndex} EQUAL -1)
+        set(currentArgName ${currentArg})
+        set(${prefix}_${currentArgName})
+        set(insideValues "MULTI")
+      endif()
+    endif()
+
+  endforeach(currentArg)
+
+  # propagate the result variables to the caller:
+  foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
+    set(${prefix}_${arg_name}  ${${prefix}_${arg_name}} PARENT_SCOPE)
+  endforeach(arg_name)
+  set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
+
+endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
diff --git a/reactos/cmake/Platform/Windows-cl.cmake b/reactos/cmake/Platform/Windows-cl.cmake
new file mode 100644 (file)
index 0000000..b06cdf3
--- /dev/null
@@ -0,0 +1,276 @@
+# try to load any previously computed information for C on this platform
+INCLUDE( ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake OPTIONAL)
+# try to load any previously computed information for CXX on this platform
+INCLUDE( ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake OPTIONAL)
+
+SET(WIN32 1)
+
+INCLUDE(Platform/cl)
+
+############
+# Detect WDK build environment
+IF($ENV{DDKBUILDENV} MATCHES "chk")
+  MESSAGE(STATUS "DDK/WDK checked build environment detected.")
+  SET(CMAKE_USE_WDK_ENV 1)
+ENDIF()
+
+IF($ENV{DDKBUILDENV} MATCHES "fre")
+  MESSAGE(STATUS "DDK/WDK free build environment detected.")
+  SET(CMAKE_USE_WDK_ENV 1)
+ENDIF()
+
+if(CMAKE_USE_WDK_ENV)
+
+    # Detect output architecture
+    if(NOT ARCH)
+        if($ENV{AMD64} MATCHES 1)
+            set(ARCH amd64)
+            set(MSVC_C_ARCHITECTURE_ID 64)
+        else()
+            set(ARCH i386)
+        endif()
+    endif()
+
+    # Add library directories
+    STRING(REPLACE * ${ARCH} ATL_LIB_PATH $ENV{ATL_LIB_PATH})
+    STRING(REPLACE * ${ARCH} CRT_LIB_PATH $ENV{CRT_LIB_PATH})
+    STRING(REPLACE * ${ARCH} DDK_LIB_PATH $ENV{DDK_LIB_PATH})
+    STRING(REPLACE * ${ARCH} KMDF_LIB_PATH $ENV{KMDF_LIB_PATH})
+    STRING(REPLACE * ${ARCH} MFC_LIB_PATH $ENV{MFC_LIB_PATH})
+    STRING(REPLACE * ${ARCH} SDK_LIB_PATH $ENV{SDK_LIB_PATH})
+    LINK_DIRECTORIES(${ATL_LIB_PATH}
+                     ${CRT_LIB_PATH}
+                     ${DDK_LIB_PATH}
+                     ${IFSKIT_LIB_PATH}
+                     ${KMDF_LIB_PATH}
+                     ${MFC_LIB_PATH}
+                     ${SDK_LIB_PATH})
+
+    # Add environment variables
+    if(NOT CMAKE_CROSSCOMPILING)
+        set(ENV{INCLUDE} "$ENV{CRT_INC_PATH};$ENV{SDK_INC_PATH};$ENV{SDK_INC_PATH}\\crt\\stl60")
+        include_directories($ENV{INCLUDE})
+        set(ENV{LIBPATH} "${CRT_LIB_PATH};${SDK_LIB_PATH}")
+        set(ENV{USE_MSVCRT} 1)
+        set(ENV{USE_STL} 1)
+        set(ENV{STL_VER} 60)
+    endif()
+endif()
+
+############
+
+SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
+SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
+
+IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+   SET (CMAKE_NO_BUILD_TYPE 1)
+ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+IF(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
+  SET (CMAKE_NO_BUILD_TYPE 1)
+  SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
+     "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
+  MARK_AS_ADVANCED(CMAKE_CONFIGURATION_TYPES)
+ENDIF(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
+# does the compiler support pdbtype and is it the newer compiler
+IF(CMAKE_GENERATOR MATCHES  "Visual Studio 8")
+  SET(CMAKE_COMPILER_2005 1)
+ENDIF(CMAKE_GENERATOR MATCHES  "Visual Studio 8")
+
+# make sure to enable languages after setting configuration types
+ENABLE_LANGUAGE(RC)
+SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
+
+# for nmake we need to compute some information about the compiler
+# that is being used.
+# the compiler may be free command line, 6, 7, or 71, and
+# each have properties that must be determined.
+# to avoid running these tests with each cmake run, the
+# test results are saved in CMakeCPlatform.cmake, a file
+# that is automatically copied into try_compile directories
+# by the global generator.
+SET(MSVC_IDE 1)
+IF(CMAKE_GENERATOR MATCHES "Makefiles")
+  SET(MSVC_IDE 0)
+  IF(NOT CMAKE_VC_COMPILER_TESTS_RUN)
+    SET(CMAKE_VC_COMPILER_TESTS 1)
+    SET(testNmakeCLVersionFile
+      "${CMAKE_ROOT}/Modules/CMakeTestNMakeCLVersion.c")
+    STRING(REGEX REPLACE "/" "\\\\" testNmakeCLVersionFile "${testNmakeCLVersionFile}")
+    MESSAGE(STATUS "Check for CL compiler version")
+    SET(CMAKE_TEST_COMPILER ${CMAKE_C_COMPILER})
+    IF (NOT CMAKE_C_COMPILER)
+      SET(CMAKE_TEST_COMPILER ${CMAKE_CXX_COMPILER})
+    ENDIF(NOT CMAKE_C_COMPILER)
+    EXEC_PROGRAM(${CMAKE_TEST_COMPILER}
+      ARGS /nologo -EP \"${testNmakeCLVersionFile}\"
+      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT
+      RETURN_VALUE CMAKE_COMPILER_RETURN
+      )
+    IF(NOT CMAKE_COMPILER_RETURN)
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining the version of compiler passed with the following output:\n"
+        "${CMAKE_COMPILER_OUTPUT}\n\n")
+      STRING(REGEX REPLACE "\n" " " compilerVersion "${CMAKE_COMPILER_OUTPUT}")
+      STRING(REGEX REPLACE ".*VERSION=(.*)" "\\1"
+        compilerVersion "${compilerVersion}")
+      MESSAGE(STATUS "Check for CL compiler version - ${compilerVersion}")
+      SET(MSVC60)
+      SET(MSVC70)
+      SET(MSVC71)
+      SET(MSVC80)
+      SET(CMAKE_COMPILER_2005)
+      IF("${compilerVersion}" LESS 1300)
+        SET(MSVC60 1)
+        SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1)
+      ENDIF("${compilerVersion}" LESS 1300)
+      IF("${compilerVersion}" EQUAL 1300)
+        SET(MSVC70 1)
+        SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 0)
+      ENDIF("${compilerVersion}" EQUAL 1300)
+      IF("${compilerVersion}" EQUAL 1310)
+        SET(MSVC71 1)
+        SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 0)
+      ENDIF("${compilerVersion}" EQUAL 1310)
+      IF("${compilerVersion}" EQUAL 1400)
+        SET(MSVC80 1)
+        SET(CMAKE_COMPILER_2005 1)
+      ENDIF("${compilerVersion}" EQUAL 1400)
+      IF("${compilerVersion}" EQUAL 1500)
+        SET(MSVC90 1)
+      ENDIF("${compilerVersion}" EQUAL 1500)
+      IF("${compilerVersion}" EQUAL 1600)
+        SET(MSVC10 1)
+      ENDIF("${compilerVersion}" EQUAL 1600)
+      SET(MSVC_VERSION "${compilerVersion}")
+    ELSE(NOT CMAKE_COMPILER_RETURN)
+      MESSAGE(STATUS "Check for CL compiler version - failed")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining the version of compiler failed with the following output:\n"
+        "${CMAKE_COMPILER_OUTPUT}\n\n")
+    ENDIF(NOT CMAKE_COMPILER_RETURN)
+    # try to figure out if we are running the free command line
+    # tools from Microsoft.  These tools do not provide debug libraries,
+    # so the link flags used have to be different.
+    MAKE_DIRECTORY("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp2")
+    SET(testForFreeVCFile
+      "${CMAKE_ROOT}/Modules/CMakeTestForFreeVC.cxx")
+    STRING(REGEX REPLACE "/" "\\\\" testForFreeVCFile "${testForFreeVCFile}")
+    MESSAGE(STATUS "Check if this is a free VC compiler")
+    EXEC_PROGRAM(${CMAKE_TEST_COMPILER} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp2
+      ARGS /nologo /EHsc
+      \"${testForFreeVCFile}\"
+      OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT
+      RETURN_VALUE CMAKE_COMPILER_RETURN
+      )
+    IF(CMAKE_COMPILER_RETURN)
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+        "Determining if this is a free VC compiler failed with the following output:\n"
+        "${CMAKE_COMPILER_OUTPUT}\n\n")
+      MESSAGE(STATUS "Check if this is a free VC compiler - yes")
+      SET(CMAKE_USING_VC_FREE_TOOLS 1)
+    ELSE(CMAKE_COMPILER_RETURN)
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+        "Determining if this is a free VC compiler passed with the following output:\n"
+        "${CMAKE_COMPILER_OUTPUT}\n\n")
+      MESSAGE(STATUS "Check if this is a free VC compiler - no")
+      SET(CMAKE_USING_VC_FREE_TOOLS 0)
+    ENDIF(CMAKE_COMPILER_RETURN)
+    MAKE_DIRECTORY("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp3")
+  ENDIF(NOT CMAKE_VC_COMPILER_TESTS_RUN)
+ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
+
+IF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
+  SET(CMAKE_CL_64 1)
+ELSE(MSVC_C_ARCHITECTURE_ID MATCHES 64)
+  SET(CMAKE_CL_64 0)
+ENDIF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
+IF(CMAKE_FORCE_WIN64)
+  SET(CMAKE_CL_64 1)
+ENDIF(CMAKE_FORCE_WIN64)
+
+#IF("${MSVC_VERSION}" GREATER 1599)
+#  SET(MSVC_INCREMENTAL_DEFAULT ON)
+#ENDIF()
+
+# No support for old versions
+if(MSVC_VERSION LESS 1310)
+message(FATAL_ERROR "Your compiler is too old. Get a newer version!")
+endif()
+
+# for 2005 make sure the manifest is put in the dll with mt
+#SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+#SET(CMAKE_CXX_CREATE_SHARED_MODULE "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_CXX_CREATE_SHARED_MODULE}")
+# create a C shared library
+#SET(CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+# create a C shared module just copy the shared library rule
+#SET(CMAKE_C_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE}")
+#SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_CXX_LINK_EXECUTABLE}")
+#SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_C_LINK_EXECUTABLE}")
+
+SET(CMAKE_BUILD_TYPE_INIT Debug)
+SET(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /Zi /Ob0 /Od")
+SET(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /Zi /Ob0 /Od")
+SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc")
+SET(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/O1 /Ob1 /D NDEBUG")
+SET(CMAKE_CXX_FLAGS_RELEASE_INIT "/O2 /Ob2 /D NDEBUG")
+SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/Zi /O2 /Ob1")
+SET(CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000")
+SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "/O1 /Ob1 /D NDEBUG")
+SET(CMAKE_C_FLAGS_RELEASE_INIT "/O2 /Ob2 /D NDEBUG")
+SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/Zi /O2 /Ob1")
+SET(CMAKE_C_STANDARD_LIBRARIES_INIT "")
+SET(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT}")
+SET(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+
+# executable linker flags
+SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+# set the stack size and the machine type
+SET(_MACHINE_ARCH_FLAG ${MSVC_C_ARCHITECTURE_ID})
+IF(NOT _MACHINE_ARCH_FLAG)
+  SET(_MACHINE_ARCH_FLAG ${MSVC_CXX_ARCHITECTURE_ID})
+ENDIF(NOT _MACHINE_ARCH_FLAG)
+SET (CMAKE_EXE_LINKER_FLAGS_INIT
+    "${CMAKE_EXE_LINKER_FLAGS_INIT} /STACK:10000000 /machine:${_MACHINE_ARCH_FLAG}")
+
+# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
+# on versions that support it
+SET( MSVC_INCREMENTAL_YES_FLAG "")
+IF(NOT MSVC_INCREMENTAL_DEFAULT)
+  SET( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
+ENDIF()
+
+IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+  SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
+  SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
+ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+  SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
+  SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
+ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+# for release and minsize release default to no incremental linking
+SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT "/INCREMENTAL:NO")
+SET(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/INCREMENTAL:NO")
+
+# copy the EXE_LINKER flags to SHARED and MODULE linker flags
+# shared linker flags
+SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+SET (CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
+SET (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
+# module linker flags
+SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+SET (CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
+SET (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
+
+# save computed information for this platform
+IF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake")
+  CONFIGURE_FILE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake.in
+    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCPlatform.cmake IMMEDIATE)
+ENDIF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake")
+
+IF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake")
+  CONFIGURE_FILE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake.in
+               ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXPlatform.cmake IMMEDIATE)
+ENDIF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake")
diff --git a/reactos/cmake/Platform/Windows.cmake b/reactos/cmake/Platform/Windows.cmake
new file mode 100644 (file)
index 0000000..a858e0c
--- /dev/null
@@ -0,0 +1,36 @@
+SET(WIN32 1)
+
+SET(CMAKE_STATIC_LIBRARY_PREFIX "")
+SET(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+SET(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
+SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")          # .so
+SET(CMAKE_IMPORT_LIBRARY_PREFIX "")
+SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
+SET(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
+SET(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+SET(CMAKE_DL_LIBS "")
+
+SET(CMAKE_FIND_LIBRARY_PREFIXES "")
+SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+
+# for borland make long command lines are redirected to a file
+# with the following syntax, see Windows-bcc32.cmake for use
+IF(CMAKE_GENERATOR MATCHES "Borland")
+  SET(CMAKE_START_TEMP_FILE "@&&|\n")
+  SET(CMAKE_END_TEMP_FILE "\n|")
+ENDIF(CMAKE_GENERATOR MATCHES "Borland")
+
+# for nmake make long command lines are redirected to a file
+# with the following syntax, see Windows-bcc32.cmake for use
+IF(CMAKE_GENERATOR MATCHES "NMake")
+#  SET(CMAKE_START_TEMP_FILE "@<<\n")
+#  SET(CMAKE_END_TEMP_FILE "\n<<")
+ENDIF(CMAKE_GENERATOR MATCHES "NMake")
+
+INCLUDE(Platform/WindowsPaths)
+
+# uncomment these out to debug nmake and borland makefiles
+SET(CMAKE_START_TEMP_FILE "")
+SET(CMAKE_END_TEMP_FILE "")
+#SET(CMAKE_VERBOSE_MAKEFILE 1)
+
diff --git a/reactos/cmake/idl-support.cmake b/reactos/cmake/idl-support.cmake
new file mode 100644 (file)
index 0000000..a627d0c
--- /dev/null
@@ -0,0 +1,159 @@
+
+#idl files support
+if(MSVC)
+    set(IDL_COMPILER midl)
+    set(IDL_HEADER_ARG /h) #.h
+    set(IDL_HEADER_ARG2 /header) #.h
+    set(IDL_TYPELIB_ARG /tlb) #.tlb
+    set(IDL_SERVER_ARG /sstub) #.c for stub server library
+    set(IDL_CLIENT_ARG /cstub) #.c for stub client library
+    set(IDL_PROXY_ARG /proxy)
+    set(IDL_INTERFACE_ARG /iid)
+    if(ARCH MATCHES i386)
+        set(IDL_FLAGS /win32)
+    elseif(ARCH MATCHES amd64)
+        set(IDL_FLAGS /amd64)
+    else()
+        set(IDL_FLAGS "")
+    endif()
+else()
+    set(IDL_COMPILER native-widl)
+    set(IDL_HEADER_ARG -h -o) #.h
+    set(IDL_HEADER_ARG2 -h -H) #.h
+    set(IDL_TYPELIB_ARG -t -o) #.tlb
+    set(IDL_SERVER_ARG -s -o) #.c for server library
+    set(IDL_CLIENT_ARG -c -o) #.c for stub client library
+    set(IDL_PROXY_ARG -p -o)
+    set(IDL_INTERFACE_ARG -u -o)
+    if(ARCH MATCHES i386)
+        set(IDL_FLAGS -m32 --win32)
+    elseif(ARCH MATCHES amd64)
+        set(IDL_FLAGS -m64 --win64)
+    else()
+        set(IDL_FLAGS "")
+    endif()
+endif()
+
+
+macro(get_includes OUTPUT_VAR)
+    set(${OUTPUT_VAR} "")
+    get_directory_property(_includes INCLUDE_DIRECTORIES)
+    foreach(arg ${_includes})
+        set(${OUTPUT_VAR} -I${arg} ${${OUTPUT_VAR}})
+    endforeach()
+endmacro()
+
+macro(get_defines OUTPUT_VAR)
+    set(${OUTPUT_VAR} "")
+    get_directory_property(_defines COMPILE_DEFINITIONS)
+    foreach(arg ${_defines})
+        set(${OUTPUT_VAR} ${${OUTPUT_VAR}} -D${arg})
+    endforeach()
+endmacro()
+
+macro(add_typelib TARGET)
+    get_includes(INCLUDES)
+    get_defines(DEFINES)
+    foreach(FILE ${ARGN})
+        get_filename_component(NAME ${FILE} NAME_WE)
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_TYPELIB_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+        list(APPEND OBJECTS ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb)
+    endforeach()
+    add_custom_target(${TARGET} ALL DEPENDS ${OBJECTS})
+endmacro()
+
+macro(add_idl_headers TARGET)
+    get_includes(INCLUDES)
+    get_defines(DEFINES)
+    foreach(FILE ${ARGN})
+        get_filename_component(NAME ${FILE} NAME_WE)
+        set(HEADER ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h)
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+        list(APPEND HEADERS ${HEADER})
+    endforeach()
+    add_custom_target(${TARGET} ALL DEPENDS ${HEADERS})
+endmacro()
+
+macro(add_rpcproxy_files)
+    get_includes(INCLUDES)
+    get_defines(DEFINES)
+
+    if(MSVC)
+        set(DLLDATA_ARG /dlldata ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c)
+    endif()
+    foreach(FILE ${ARGN})
+        get_filename_component(NAME ${FILE} NAME_WE)
+        if(NOT MSVC)
+            list(APPEND IDLS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+        endif()
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_PROXY_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${IDL_HEADER_ARG2} ${NAME}_p.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${DLLDATA_ARG}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+    endforeach()
+
+    # Extra pass to generate dlldata
+    if(MSVC)
+        #nobody told how to generate it, so mark it as generated
+        set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c PROPERTIES GENERATED TRUE)
+    else()
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} --dlldata-only -o ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c ${IDLS}
+            DEPENDS ${IDLS})
+    endif()
+endmacro()
+
+macro(add_rpc_library TARGET)
+    get_includes(INCLUDES)
+    get_defines(DEFINES)
+    foreach(FILE ${ARGN})
+        get_filename_component(NAME ${FILE} NAME_WE)
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.h ${IDL_SERVER_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+        list(APPEND server_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c)
+
+        add_custom_command(
+            OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c
+            COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.h ${IDL_CLIENT_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+            DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+        list(APPEND client_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c)
+    endforeach()
+    add_library(${TARGET} ${server_SOURCES} ${client_SOURCES})
+    add_dependencies(${TARGET} psdk)
+endmacro()
+
+macro(generate_idl_iids IDL_FILE)
+    get_filename_component(FILE ${IDL_FILE} NAME)
+    if(FILE STREQUAL "${IDL_FILE}")
+        set(IDL_FILE_FULL "${CMAKE_CURRENT_SOURCE_DIR}/${IDL_FILE}")
+    else()
+        set(IDL_FILE_FULL ${IDL_FILE})
+    endif()
+    get_includes(INCLUDES)
+    get_defines(DEFINES)
+    get_filename_component(NAME ${IDL_FILE} NAME_WE)
+    add_custom_command(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c
+        COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_INTERFACE_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c ${IDL_FILE_FULL}
+        DEPENDS ${IDL_FILE_FULL})
+    set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c PROPERTIES GENERATED TRUE)
+endmacro()
+
+macro(add_iid_library TARGET)
+    foreach(IDL_FILE ${ARGN})
+        get_filename_component(NAME ${IDL_FILE} NAME_WE)
+        generate_idl_iids(${IDL_FILE})
+        list(APPEND IID_SOURCES ${NAME}_i.c)
+    endforeach()
+    add_library(${TARGET} ${IID_SOURCES})
+       add_dependencies(${TARGET} psdk)
+endmacro()
diff --git a/reactos/config-amd64.cmake b/reactos/config-amd64.cmake
new file mode 100644 (file)
index 0000000..d4d5a44
--- /dev/null
@@ -0,0 +1,43 @@
+
+set(SARCH "" CACHE STRING
+"Sub-architecture to build for.")
+
+set(OARCH "athlon64" CACHE STRING
+"Generate instructions for this CPU type. Specify one of:
+ k8 opteron athlon64 athlon-fx")
+
+set (OPTIMIZE "1" CACHE STRING
+"What level of optimisation to use.
+  0 = off
+  1 = Default option, optimize for size (-Os) with some additional options
+  2 = -Os
+  3 = -O1
+  4 = -O2
+  5 = -O3")
+
+set(DBG TRUE CACHE BOOL
+"Whether to compile for debugging.")
+
+set(KDBG FALSE CACHE BOOL
+"Whether to compile in the integrated kernel debugger.")
+
+set(GDB FALSE CACHE BOOL
+"Whether to compile for debugging with GDB.
+If you don't use GDB, don't    enable this.")
+
+set(_WINKD_ TRUE CACHE BOOL
+"Whether to compile with the KD protocol.")
+
+set(_ELF_ FALSE CACHE BOOL
+"Whether to compile support for ELF files.
+Do not enable unless you know what you're doing.")
+
+set(NSWPAT FALSE CACHE BOOL
+"Whether to compile apps/libs with features covered software patents or not.
+If you live in a country where software patents are valid/apply, don't
+enable this (except they/you purchased a license from the patent owner).
+This settings is disabled (0) by default.")
+
+set(USERMODE TRUE CACHE BOOL
+"Whether to compile any usermode parts. This is while kernel mode is under
+ heavy development and usermode part not relevant for bootcd.")
diff --git a/reactos/config-arm.cmake b/reactos/config-arm.cmake
new file mode 100644 (file)
index 0000000..79f4ae5
--- /dev/null
@@ -0,0 +1,46 @@
+
+set(SARCH "omap3-zoom2" CACHE STRING
+"Sub-architecture (board) to build for. Specify one of:
+ kurobox versatile omap3-zoom2 omap3-beagle")
+
+set(OARCH "armv7-a" CACHE STRING
+"Generate instructions for this CPU type. Specify one of:
+ armv5te armv7-a")
+
+set (OPTIMIZE "1" CACHE STRING
+"What level of optimisation to use.
+  0 = off
+  1 = Default option, optimize for size (-Os) with some additional options
+  2 = -Os
+  3 = -O1
+  4 = -O2
+  5 = -O3")
+
+set(DBG TRUE CACHE BOOL
+"Whether to compile for debugging.")
+
+set(KDBG FALSE CACHE BOOL
+"Whether to compile in the integrated kernel debugger.")
+
+set(GDB FALSE CACHE BOOL
+"Whether to compile for debugging with GDB.
+If you don't use GDB, don't    enable this.")
+
+set(_WINKD_ TRUE CACHE BOOL
+"Whether to compile with the KD protocol.")
+
+set(_ELF_ FALSE CACHE BOOL
+"Whether to compile support for ELF files.
+Do not enable unless you know what you're doing.")
+
+set(NSWPAT FALSE CACHE BOOL
+"Whether to compile apps/libs with features covered software patents or not.
+If you live in a country where software patents are valid/apply, don't
+enable this (except they/you purchased a license from the patent owner).
+This settings is disabled (0) by default.")
+
+set(BUILD_MP TRUE CACHE BOOL
+"Whether to compile the multi processor versions for ntoskrnl and hal.")
+
+set(NEWSPRINTF FALSE CACHE BOOL
+"Whether to compile the new sprintf.")
diff --git a/reactos/config.cmake b/reactos/config.cmake
new file mode 100644 (file)
index 0000000..4bf0554
--- /dev/null
@@ -0,0 +1,51 @@
+
+set(SARCH "pc" CACHE STRING
+"Sub-architecture to build for. Specify one of: xbox")
+
+set(OARCH "pentium" CACHE STRING
+"Generate instructions for this CPU type. Specify one of:
+ native, i386, i486, pentium, pentium-mmx, pentiumpro, i686,
+ pentium2, pentium3, pentium-m, pentium4, prescott, nocona,
+ core2, k6, k6-2, athlon, athlon-xp, opteron, opteron-sse3,
+ barcelona, winchip-c6, winchip2, c3, c3-2, geode")
+
+set(TUNE "i686" CACHE STRING
+"Which CPU ReactOS should be optimized for.")
+
+set(OPTIMIZE "1" CACHE STRING
+"What level of optimisation to use.
+  0 = off
+  1 = Default option, optimize for size (-Os) with some additional options
+  2 = -Os
+  3 = -O1
+  4 = -O2
+  5 = -O3")
+
+set(DBG TRUE CACHE BOOL
+"Whether to compile for debugging.")
+
+set(KDBG TRUE CACHE BOOL
+"Whether to compile in the integrated kernel debugger.")
+
+set(GDB FALSE CACHE BOOL
+"Whether to compile for debugging with GDB.
+If you don't use GDB, don't    enable this.")
+
+set(_WINKD_ FALSE CACHE BOOL
+"Whether to compile with the KD protocol.")
+
+set(_ELF_ FALSE CACHE BOOL
+"Whether to compile support for ELF files.
+Do not enable unless you know what you're doing.")
+
+set(NSWPAT FALSE CACHE BOOL
+"Whether to compile apps/libs with features covered software patents or not.
+If you live in a country where software patents are valid/apply, don't
+enable this (except they/you purchased a license from the patent owner).
+This settings is disabled (0) by default.")
+
+set(BUILD_MP TRUE CACHE BOOL
+"Whether to compile the multi processor versions for ntoskrnl and hal.")
+
+set(GENERATE_DEPENDENCY_GRAPH FALSE CACHE BOOL
+"Whether to create a graphml dependency of dlls.")
diff --git a/reactos/configure.cmd b/reactos/configure.cmd
new file mode 100644 (file)
index 0000000..f93b74a
--- /dev/null
@@ -0,0 +1,145 @@
+@echo off
+
+:: Get the source root directory
+set REACTOS_SOURCE_DIR=%~dp0
+set USE_NMAKE=
+
+:: Detect build environment (MinGW, VS, WDK, ...)
+if defined ROS_ARCH (
+    set BUILD_ENVIRONMENT=MinGW
+    set ARCH=%ROS_ARCH%
+    echo Detected RosBE for %ROS_ARCH%
+) else if defined DDK_TARGET_OS (
+    if "%_BUILDARCH%" == "x86" (
+        set ARCH=i386
+    )
+    if "%_BUILDARCH%" == "AMD64" (
+        set ARCH=amd64
+    )
+    set BUILD_ENVIRONMENT=WDK
+    set USE_NMAKE=1
+    echo Detected DDK/WDK for %DDK_TARGET_OS%-%ARCH%
+)else if defined VCINSTALLDIR (
+:: VS command prompt does not put this in enviroment vars
+    cl 2>&1 | find "x86" > NUL && set ARCH=i386
+    cl 2>&1 | find "x64" > NUL && set ARCH=amd64
+    cl 2>&1 | find "14." > NUL && set BUILD_ENVIRONMENT=VS8
+    cl 2>&1 | find "15." > NUL && set BUILD_ENVIRONMENT=VS9
+    cl 2>&1 | find "16." > NUL && set BUILD_ENVIRONMENT=VS10
+    if not defined BUILD_ENVIRONMENT (
+        echo Error: Visual Studio version too old or version detection failed.
+        exit /b
+    )
+    echo Detected Visual Studio Environment %BUILD_ENVIRONMENT%-%ARCH%
+    if not "%1" == "VSSolution" (
+        set USE_NMAKE=1
+        echo This script defaults to nmake. To use Visual Studio GUI specify "VSSolution" as a parameter.
+    )
+) else if defined sdkdir (
+    if "%TARGET_CPU%" == "x86" (
+        set ARCH=i386
+    )
+    if "%TARGET_CPU%" == "x64" (
+        set ARCH=amd64
+    )
+    set BUILD_ENVIRONMENT=SDK
+    set USE_NMAKE=1
+    echo Detected Windows SDK %TARGET_PLATFORM%-%ARCH%
+)
+
+if defined ARCH if defined BUILD_ENVIRONMENT (
+    goto createdirs
+)
+
+echo Error: Unable to detect a build environment. Configure script failure.
+exit /b
+
+:: Create directories
+:createdirs
+
+set REACTOS_OUTPUT_PATH=output-%BUILD_ENVIRONMENT%-%ARCH%
+if "%REACTOS_SOURCE_DIR%" == "%CD%\" (
+    echo Creating directories in %REACTOS_OUTPUT_PATH%
+
+    if not exist %REACTOS_OUTPUT_PATH% (
+        mkdir %REACTOS_OUTPUT_PATH%
+    )
+    cd %REACTOS_OUTPUT_PATH%
+)
+
+if not exist host-tools (
+