Completely refactor bootcd generation
  - one macro (à la cmake's install) to rule them all, to make your life simpler and have build files cleaner
  - Completely rehaul the bootcd tree : now you have in it some minimal reactos system
  - reflect those changes in setupldr
No livecd yet!

svn path=/branches/cmake-bringup/; revision=51731
This commit is contained in:
Jérôme Gardou 2011-05-14 13:49:39 +00:00
parent ee7e7b3462
commit 53fbd8e185
556 changed files with 772 additions and 722 deletions

View file

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 2.6)
if(${CMAKE_VERSION} VERSION_GREATER "2.8.3")
if(POLICY CMP0017)
# Shadow cmake provided modules
cmake_policy(SET CMP0017 OLD)
endif()
@ -13,6 +13,7 @@ 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)
@ -71,6 +72,9 @@ else()
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
@ -185,8 +189,9 @@ else()
include(baseaddress.cmake)
add_subdirectory(base)
#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)
@ -200,9 +205,6 @@ else()
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/importlibs)
#bootcd and livecd
include(ros_cd.cmake)
add_dependency_footer()
endif()

View file

@ -22,7 +22,6 @@ macro(CreateBootSectorTarget _target_name _asm_file _object_file)
DEPENDS ${_asm_file})
set_source_files_properties(${_object_file} PROPERTIES GENERATED TRUE)
add_custom_target(${_target_name} ALL DEPENDS ${_object_file})
add_minicd(${_object_file} loader ${OBJECT_NAME})
endmacro()
else()
@ -32,21 +31,6 @@ endmacro()
endif()
macro(add_minicd_target _targetname _dir) # optional parameter: _nameoncd
if("${ARGN}" STREQUAL "")
get_target_property(FILENAME ${_targetname} LOCATION)
get_filename_component(_nameoncd ${FILENAME} NAME)
else()
set(_nameoncd ${ARGN})
endif()
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_minicd_target.txt "${_targetname}\t${_dir}\t${_nameoncd}\n")
endmacro()
macro(add_minicd FILENAME _dir _nameoncd)
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_minicd.txt "${FILENAME}\t${_dir}\t${_nameoncd}\n")
endmacro()
macro(set_cpp)
include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/c++/stlport)
set(IS_CPP 1)
@ -55,68 +39,6 @@ macro(set_cpp)
-DNATIVE_C_INCLUDE=${REACTOS_SOURCE_DIR}/include/crt)
endmacro()
macro(add_livecd_target _targetname _dir )# optional parameter : _nameoncd
if("${ARGN}" STREQUAL "")
get_target_property(FILENAME ${_targetname} LOCATION)
get_filename_component(_nameoncd ${FILENAME} NAME)
else()
set(_nameoncd ${ARGN})
endif()
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_livecd_target.txt "${_targetname}\t${_dir}\t${_nameoncd}\n")
endmacro()
macro(add_livecd FILENAME _dir)# optional parameter : _nameoncd
if("${ARGN}" STREQUAL "")
get_filename_component(_nameoncd ${FILENAME} NAME)
else()
set(_nameoncd ${ARGN})
endif()
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_livecd.txt "${FILENAME}\t${_dir}\t${_nameoncd}\n")
endmacro()
macro(cab_to_dir _dir_num _var_name)
# 1 = system32
# 2 = system32\drivers
# 3 = Fonts
# 4 =
# 5 = system32\drivers\etc
# 6 = inf
# 7 = bin
# 8 = media
if(${_dir_num} STREQUAL "1")
set(${_var_name} "reactos/system32")
elseif(${_dir_num} STREQUAL "2")
set(${_var_name} "reactos/system32/drivers")
elseif(${_dir_num} STREQUAL "3")
set(${_var_name} "reactos/fonts")
elseif(${_dir_num} STREQUAL "4")
set(${_var_name} "reactos")
elseif(${_dir_num} STREQUAL "5")
set(${_var_name} "reactos/system32/drivers/etc")
elseif(${_dir_num} STREQUAL "6")
set(${_var_name} "reactos/inf")
elseif(${_dir_num} STREQUAL "7")
set(${_var_name} "reactos/bin")
elseif(${_dir_num} STREQUAL "8")
set(${_var_name} "reactos/system32/drivers")
else()
message(FATAL_ERROR "Wrong directory ${_dir_num}")
endif()
endmacro()
macro(add_cab_target _targetname _num )
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt "${_targetname}\t${_num}\n")
cab_to_dir(${_num} _dir)
add_livecd_target(${_targetname} ${_dir})
endmacro()
macro(add_cab FILENAME _num)
file(APPEND ${REACTOS_BINARY_DIR}/boot/ros_cab.txt "${FILENAME}\t${_num}\n")
cab_to_dir(${_num} _dir)
add_livecd(${FILENAME} ${_dir})
endmacro()
macro(add_dependency_node _node)
if(GENERATE_DEPENDENCY_GRAPH)
get_target_property(_type ${_node} TYPE)
@ -159,3 +81,75 @@ macro(add_message_headers)
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;NO_LIVECD" "DESTINATION;NAME_ON_CD;TARGET" "FILE" ${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_FILE)
get_target_property(__file ${_CD_TARGET} LOCATION)
else()
if(NOT _CD_NO_CAB)
add_dependencies(reactos_cab ${_CD_FILE})
endif()
set(__file ${_CD_FILE})
endif()
#whether or not we should put it in reactos.cab or directly on cd
if(_CD_NO_CAB)
foreach(item ${__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 ${__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()
#add right dependency
if(_CD_TARGET)
add_dependencies(bootcd ${_CD_TARGET})
else()
add_dependencies(bootcd ${_CD_FILE})
endif()
if(NOT _CD_NO_LIVECD)
file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake "file(COPY \"${__file}\" DESTINATION \"\${CD_DIR}/${_CD_DESTINATION}\")\n")
endif()
else()
#add right dependency
if(_CD_TARGET)
add_dependencies(reactos_cab ${_CD_TARGET})
else()
add_dependencies(reactos_cab ${_CD_FILE})
endif()
dir_to_num(${_CD_DESTINATION} _num)
file(APPEND ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff.dyn "${__file} ${_num}\n")
endif()
endfunction()

View file

@ -12,4 +12,4 @@ add_pch(cacls ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
set_module_type(cacls win32cui)
add_importlibs(cacls advapi32 user32 shell32 msvcrt kernel32)
add_cab_target(cacls 1)
add_cd_file(TARGET cacls DESTINATION reactos/system32)

View file

@ -19,4 +19,4 @@ if(MSVC)
add_importlibs(calc ntdll)
endif()
add_cab_target(calc 1)
add_cd_file(TARGET calc DESTINATION reactos/system32)

View file

@ -19,4 +19,4 @@ set_module_type(charmap win32gui)
add_importlibs(charmap user32 gdi32 comctl32 kernel32 msvcrt)
add_cab_target(charmap 1)
add_cd_file(TARGET charmap DESTINATION reactos/system32)

View file

@ -2,4 +2,4 @@
add_executable(dbgprint dbgprint.c)
set_module_type(dbgprint win32cui)
add_importlibs(dbgprint msvcrt kernel32)
add_cab_target(dbgprint 1)
add_cd_file(TARGET dbgprint DESTINATION reactos/system32)

View file

@ -6,4 +6,4 @@ add_executable(doskey doskey.c doskey.rc)
set_module_type(doskey win32cui)
add_importlibs(doskey user32 msvcrt kernel32)
add_cab_target(doskey 1)
add_cd_file(TARGET doskey DESTINATION reactos/system32)

View file

@ -4,4 +4,4 @@ add_executable(find find.c find.rc)
set_module_type(find win32cui)
add_importlibs(find user32 msvcrt kernel32)
add_cab_target(find 1)
add_cd_file(TARGET find DESTINATION reactos/system32)

View file

@ -4,4 +4,4 @@ add_executable(hostname hostname.c hostname.rc)
set_module_type(hostname win32cui)
add_importlibs(hostname msvcrt kernel32)
add_cab_target(hostname 1)
add_cd_file(TARGET hostname DESTINATION reactos/system32)

View file

@ -5,4 +5,4 @@ add_executable(lodctr lodctr_main.c)
set_module_type(lodctr win32cui)
add_importlibs(lodctr loadperf msvcrt kernel32)
add_cab_target(lodctr 1)
add_cd_file(TARGET lodctr DESTINATION reactos/system32)

View file

@ -3,4 +3,4 @@ add_executable(more more.c more.rc)
set_module_type(more win32cui)
add_importlibs(more user32 msvcrt kernel32)
add_cab_target(more 1)
add_cd_file(TARGET more DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ add_executable(reg reg.c rsrc.rc)
set_module_type(reg win32cui)
add_importlibs(reg advapi32 user32 msvcrt kernel32)
add_cab_target(reg 1)
add_cd_file(TARGET reg DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ target_link_libraries(xcopy wine)
set_module_type(xcopy win32cui)
add_importlibs(xcopy shell32 user32 msvcrt kernel32 ntdll)
add_cab_target(xcopy 1)
add_cd_file(TARGET xcopy DESTINATION reactos/system32)

View file

@ -6,4 +6,4 @@ add_executable(control control.c control.rc)
set_module_type(control win32gui)
add_importlibs(control advapi32 shell32 msvcrt kernel32)
add_cab_target(control 1)
add_cd_file(TARGET control DESTINATION reactos/system32)

View file

@ -30,4 +30,4 @@ target_link_libraries(dxdiag dxguid)
add_importlibs(dxdiag user32 advapi32 comctl32 dinput8 setupapi dsound ddraw version gdi32 winmm d3d9 msvcrt kernel32 ntdll)
add_cab_target(dxdiag 1)
add_cd_file(TARGET dxdiag DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ target_link_libraries(extrac32 wine)
set_module_type(extrac32 win32gui)
add_importlibs(extrac32 shell32 setupapi shlwapi user32 msvcrt kernel32 ntdll)
add_cab_target(extrac32 1)
add_cd_file(TARGET extrac32 DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(findstr
set_module_type(findstr win32cui)
add_importlibs(findstr user32 msvcrt kernel32)
add_cab_target(findstr 1)
add_cd_file(TARGET findstr DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ add_executable(fontview
set_module_type(fontview win32gui)
add_importlibs(fontview gdi32 shell32 user32 msvcrt kernel32)
add_cab_target(fontview 1)
add_cd_file(TARGET fontview DESTINATION reactos/system32)

View file

@ -17,4 +17,4 @@ set_module_type(sol win32gui)
add_importlibs(sol advapi32 comctl32 user32 gdi32 kernel32 msvcrt)
add_cab_target(sol 1)
add_cd_file(TARGET sol DESTINATION reactos/system32)

View file

@ -17,4 +17,4 @@ set_module_type(spider win32gui)
add_importlibs(spider advapi32 comctl32 user32 gdi32 kernel32 msvcrt)
add_cab_target(spider 1)
add_cd_file(TARGET spider DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ set_module_type(winmine win32gui)
target_link_libraries(winmine wine)
add_importlibs(winmine user32 gdi32 advapi32 shell32 msvcrt kernel32 ntdll)
add_cab_target(winmine 1)
add_cd_file(TARGET winmine DESTINATION reactos/system32)

View file

@ -3,4 +3,4 @@ set_rc_compiler()
add_executable(hh main.c hh.rc)
set_module_type(hh win32gui)
add_importlibs(hh gdi32 user32 msvcrt kernel32)
add_cab_target(hh 4)
add_cd_file(TARGET hh DESTINATION reactos)

View file

@ -3,4 +3,4 @@ set_rc_compiler()
add_executable(iexplore main.c iexplore.rc)
set_module_type(iexplore win32gui)
add_importlibs(iexplore shdocvw msvcrt kernel32)
add_cab_target(iexplore 4)
add_cd_file(TARGET iexplore DESTINATION reactos)

View file

@ -7,5 +7,5 @@ add_executable(kbswitch kbswitch.c kbswitch.rc)
set_module_type(kbswitch win32gui)
add_importlibs(kbswitch advapi32 user32 shell32 gdi32 msvcrt kernel32)
add_cab_target(kbswitch 1)
add_cd_file(TARGET kbswitch DESTINATION reactos/system32)
add_subdirectory(kbsdll)

View file

@ -12,4 +12,4 @@ add_library(kbsdll SHARED ${SOURCE})
set_module_type(kbsdll win32dll)
add_importlibs(kbsdll user32 comctl32 kernel32 msvcrt)
add_cab_target(kbsdll 1)
add_cd_file(TARGET kbsdll DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ add_pch(logoff ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
set_module_type(logoff win32cui)
add_importlibs(logoff advapi32 user32 msvcrt kernel32)
add_cab_target(logoff 1)
add_cd_file(TARGET logoff DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ add_executable(magnify
set_module_type(magnify win32gui)
add_importlibs(magnify user32 gdi32 advapi32 shell32 msvcrt kernel32)
add_cab_target(magnify 1)
add_cd_file(TARGET magnify DESTINATION reactos/system32)

View file

@ -6,4 +6,4 @@ 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_cab_target(mplay32 1)
add_cd_file(TARGET mplay32 DESTINATION reactos/system32)

View file

@ -18,4 +18,4 @@ 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_cab_target(msconfig 1)
add_cd_file(TARGET msconfig DESTINATION reactos/system32)

View file

@ -15,4 +15,4 @@ 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_cab_target(devmgmt 1)
add_cd_file(TARGET devmgmt DESTINATION reactos/system32)

View file

@ -10,4 +10,4 @@ if(MSVC)
add_importlibs(eventvwr ntdll)
endif()
add_cab_target(eventvwr 1)
add_cd_file(TARGET eventvwr DESTINATION reactos/system32)

View file

@ -32,4 +32,4 @@ set_module_type(servman win32gui)
add_importlibs(servman user32 gdi32 advapi32 version comctl32 shell32 comdlg32 msvcrt kernel32)
add_cab_target(servman 1)
add_cd_file(TARGET servman DESTINATION reactos/system32)

View file

@ -18,4 +18,4 @@ add_executable(mspaint
set_module_type(mspaint win32gui)
add_importlibs(mspaint comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32)
add_cab_target(mspaint 1)
add_cd_file(TARGET mspaint DESTINATION reactos/system32)

View file

@ -31,4 +31,4 @@ set_module_type(mstsc win32gui)
add_importlibs(mstsc user32 gdi32 comctl32 ws2_32 advapi32 shell32 ole32 comdlg32 msvcrt kernel32)
add_cab_target(mstsc 1)
add_cd_file(TARGET mstsc DESTINATION reactos/system32)

View file

@ -5,4 +5,4 @@ set_module_type(arp win32cui)
add_importlibs(arp iphlpapi ws2_32 shlwapi msvcrt kernel32)
add_cab_target(arp 1)
add_cd_file(TARGET arp DESTINATION reactos/system32)

View file

@ -13,4 +13,4 @@ if(MSVC)
add_importlibs(dwnl ntdll)
endif()
add_cab_target(dwnl 1)
add_cd_file(TARGET dwnl DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ add_executable(finger
set_module_type(finger win32cui)
add_importlibs(finger ws2_32 msvcrt kernel32)
add_cab_target(finger 1)
add_cd_file(TARGET finger DESTINATION reactos/system32)

View file

@ -21,4 +21,4 @@ if(MSVC)
add_importlibs(ftp ntdll)
endif()
add_cab_target(ftp 1)
add_cd_file(TARGET ftp DESTINATION reactos/system32)

View file

@ -2,4 +2,4 @@
add_executable(ipconfig ipconfig.c ipconfig.rc)
set_module_type(ipconfig win32cui)
add_importlibs(ipconfig user32 iphlpapi advapi32 msvcrt kernel32)
add_cab_target(ipconfig 1)
add_cd_file(TARGET ipconfig DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ add_executable(net ${SOURCE})
set_module_type(net win32cui)
add_importlibs(net ws2_32 msvcrt kernel32)
add_cab_target(net 1)
add_cd_file(TARGET net DESTINATION reactos/system32)

View file

@ -2,4 +2,4 @@
add_executable(netstat netstat.c netstat.rc)
set_module_type(netstat win32cui)
add_importlibs(netstat user32 ws2_32 snmpapi iphlpapi msvcrt kernel32)
add_cab_target(netstat 1)
add_cd_file(TARGET netstat DESTINATION reactos/system32)

View file

@ -6,4 +6,4 @@ add_executable(nslookup
set_module_type(nslookup win32cui)
add_importlibs(nslookup user32 ws2_32 snmpapi iphlpapi msvcrt kernel32)
add_cab_target(nslookup 1)
add_cd_file(TARGET nslookup DESTINATION reactos/system32)

View file

@ -13,4 +13,4 @@ if(MSVC)
add_importlibs(ping ntdll)
endif()
add_cab_target(ping 1)
add_cd_file(TARGET ping DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(route route.c route.rc)
set_module_type(route win32cui)
add_importlibs(route ws2_32 iphlpapi msvcrt kernel32)
add_cab_target(route 1)
add_cd_file(TARGET route DESTINATION reactos/system32)

View file

@ -29,4 +29,4 @@ add_executable(telnet
set_module_type(telnet win32cui)
add_importlibs(telnet ws2_32 user32 kernel32 msvcrt)
add_cab_target(telnet 1)
add_cd_file(TARGET telnet DESTINATION reactos/system32)

View file

@ -10,4 +10,4 @@ if(MSVC)
add_importlibs(tracert ntdll)
endif()
add_cab_target(tracert 1)
add_cd_file(TARGET tracert DESTINATION reactos/system32)

View file

@ -5,4 +5,4 @@ add_executable(whois whois.c whois.rc)
set_module_type(whois win32cui)
add_importlibs(whois ws2_32 msvcrt kernel32)
add_cab_target(whois 1)
add_cd_file(TARGET whois DESTINATION reactos/system32)

View file

@ -14,4 +14,4 @@ add_executable(notepad ${CMAKE_CURRENT_BINARY_DIR}/notepad_notepad.h.gch ${SOURC
set_module_type(notepad win32gui)
add_importlibs(notepad user32 gdi32 comctl32 comdlg32 advapi32 shell32 msvcrt kernel32)
add_cab_target(notepad 1)
add_cd_file(TARGET notepad DESTINATION reactos/system32)

View file

@ -32,4 +32,4 @@ 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_cab_target(rapps 1)
add_cd_file(TARGET rapps DESTINATION reactos/system32)

View file

@ -34,4 +34,4 @@ add_importlibs(regedit user32 gdi32 advapi32 ole32 shell32 comctl32 comdlg32 shl
#add_subdirectory(clb)
add_cab_target(regedit 4)
add_cd_file(TARGET regedit DESTINATION reactos)

View file

@ -6,4 +6,4 @@ add_executable(regedt32 regedt32.c resource.rc)
set_module_type(regedt32 win32gui)
add_importlibs(regedt32 shell32 shlwapi msvcrt kernel32)
add_cab_target(regedt32 1)
add_cd_file(TARGET regedt32 DESTINATION reactos/system32)

View file

@ -19,4 +19,4 @@ add_pch(sc ${CMAKE_CURRENT_SOURCE_DIR}/sc.h ${SOURCE})
set_module_type(sc win32cui)
add_importlibs(sc advapi32 msvcrt kernel32)
add_cab_target(sc 1)
add_cd_file(TARGET sc DESTINATION reactos/system32)

View file

@ -13,4 +13,4 @@ set_target_properties(3dtext PROPERTIES SUFFIX ".scr")
target_link_libraries(3dtext scrnsave)
add_importlibs(3dtext user32 gdi32 opengl32 glu32 advapi32 msvcrt kernel32)
add_cab_target(3dtext 1)
add_cd_file(TARGET 3dtext DESTINATION reactos/system32)

View file

@ -9,4 +9,4 @@ set_target_properties(logon PROPERTIES SUFFIX ".scr")
target_link_libraries(logon scrnsave)
add_importlibs(logon user32 gdi32 msvcrt kernel32)
add_cab_target(logon 1)
add_cd_file(TARGET logon DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ add_pch(shutdown ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
set_module_type(shutdown win32cui)
add_importlibs(shutdown advapi32 user32 msvcrt kernel32)
add_cab_target(shutdown 1)
add_cd_file(TARGET shutdown DESTINATION reactos/system32)

View file

@ -17,4 +17,4 @@ add_executable(sndrec32
target_link_libraries(sndrec32 stlport)
set_module_type(sndrec32 win32gui)
add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32)
add_cab_target(sndrec32 1)
add_cd_file(TARGET sndrec32 DESTINATION reactos/system32)

View file

@ -16,4 +16,4 @@ 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_cab_target(sndvol32 1)
add_cd_file(TARGET sndvol32 DESTINATION reactos/system32)

View file

@ -29,4 +29,4 @@ 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_cab_target(taskmgr 1)
add_cd_file(TARGET taskmgr DESTINATION reactos/system32)

View file

@ -23,4 +23,4 @@ set_module_type(winhlp32 win32gui)
target_link_libraries(winhlp32 wine)
add_importlibs(winhlp32 user32 gdi32 shell32 comctl32 comdlg32 msvcrt kernel32 ntdll)
add_cab_target(winhlp32 4)
add_cd_file(TARGET winhlp32 DESTINATION reactos)

View file

@ -4,4 +4,4 @@ set_unicode()
add_executable(winver winver.c)
set_module_type(winver win32gui)
add_importlibs(winver shell32 msvcrt kernel32)
add_cab_target(winver 1)
add_cd_file(TARGET winver DESTINATION reactos/system32)

View file

@ -20,4 +20,4 @@ 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_cab_target(wordpad 1)
add_cd_file(TARGET wordpad DESTINATION reactos/system32)

View file

@ -4,4 +4,4 @@ set_unicode()
add_executable(write write.c rsrc.rc)
set_module_type(write win32gui)
add_importlibs(write user32 gdi32 msvcrt kernel32)
add_cab_target(write 1)
add_cd_file(TARGET write DESTINATION reactos/system32)

View file

@ -12,4 +12,4 @@ add_executable(audiosrv
set_module_type(audiosrv win32cui)
add_importlibs(audiosrv advapi32 user32 setupapi msvcrt kernel32)
add_cab_target(audiosrv 1)
add_cd_file(TARGET audiosrv DESTINATION reactos/system32)

View file

@ -19,4 +19,4 @@ add_pch(eventlog ${CMAKE_CURRENT_SOURCE_DIR}/eventlog.h ${SOURCE})
set_module_type(eventlog win32cui)
add_importlibs(eventlog advapi32 rpcrt4 msvcrt kernel32 ntdll)
add_cab_target(eventlog 1)
add_cd_file(TARGET eventlog DESTINATION reactos/system32)

View file

@ -17,5 +17,5 @@ target_link_libraries(rpcss epmrpc irotrpc ${PSEH_LIB} wine)
set_module_type(rpcss win32cui)
add_importlibs(rpcss advapi32 rpcrt4 msvcrt kernel32 ntdll)
add_cab_target(rpcss 1)
add_cd_file(TARGET rpcss DESTINATION reactos/system32)
add_dependencies(rpcss winesdk)

View file

@ -7,4 +7,4 @@ target_link_libraries(spoolsv wine)
set_module_type(spoolsv win32cui)
add_importlibs(spoolsv advapi32 msvcrt kernel32 ntdll)
add_cab_target(spoolsv 1)
add_cd_file(TARGET spoolsv DESTINATION reactos/system32)

View file

@ -3,4 +3,4 @@ add_executable(svchost svchost.c svchost.rc)
set_module_type(svchost win32cui)
add_importlibs(svchost advapi32 msvcrt kernel32 ntdll)
add_cab_target(svchost 1)
add_cd_file(TARGET svchost DESTINATION reactos/system32)

View file

@ -19,5 +19,5 @@ set_module_type(tcpsvcs win32cui)
add_importlibs(tcpsvcs ws2_32 advapi32 msvcrt kernel32 ntdll)
add_cab_target(tcpsvcs 1)
add_cab(${CMAKE_CURRENT_SOURCE_DIR}/quotes 5)
add_cd_file(TARGET tcpsvcs DESTINATION reactos/system32)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/quotes DESTINATION reactos/system32/drivers/etc)

View file

@ -10,4 +10,4 @@ target_link_libraries(telnetd wine)
set_module_type(telnetd win32cui)
add_importlibs(telnetd advapi32 ws2_32 msvcrt kernel32 ntdll)
add_cab_target(telnetd 1)
add_cd_file(TARGET telnetd DESTINATION reactos/system32)

View file

@ -11,4 +11,4 @@ target_link_libraries(umpnpmgr pnprpc wdmguid ${PSEH_LIB})
set_module_type(umpnpmgr win32cui)
add_importlibs(umpnpmgr advapi32 rpcrt4 userenv msvcrt kernel32 ntdll)
add_cab_target(umpnpmgr 1)
add_cd_file(TARGET umpnpmgr DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ target_link_libraries(wlansvc wlansvcrpc ${PSEH_LIB})
set_module_type(wlansvc win32cui)
add_importlibs(wlansvc advapi32 rpcrt4 iphlpapi msvcrt kernel32 ntdll)
add_cab_target(wlansvc 1)
add_cd_file(TARGET wlansvc DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ target_link_libraries(reactos uuid)
set_module_type(reactos win32gui)
add_importlibs(reactos gdi32 user32 comctl32 setupapi msvcrt kernel32 ntdll)
add_minicd_target(reactos reactos)
add_cd_file(TARGET reactos DESTINATION reactos NO_CAB NO_LIVECD)

View file

@ -5,4 +5,4 @@ add_executable(setup setup.c setup.rc)
set_module_type(setup win32gui)
add_importlibs(setup userenv msvcrt kernel32 ntdll)
add_cab_target(setup 1)
add_cd_file(TARGET setup DESTINATION reactos/system32)

View file

@ -44,4 +44,4 @@ endif()
set_module_type(usetup nativecui)
add_importlibs(usetup kernel32 ntdll)
add_minicd_target(usetup reactos/system32 smss.exe)
add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NO_LIVECD NAME_ON_CD smss.exe)

View file

@ -126,7 +126,7 @@ SetupCopyFile(PWCHAR SourceFileName,
FILE_SEQUENTIAL_ONLY);
if(!NT_SUCCESS(Status))
{
DPRINT1("NtOpenFile failed: %x\n", Status);
DPRINT1("NtOpenFile failed: %x, %wZ\n", Status, &FileName);
goto done;
}
#else

View file

@ -2843,6 +2843,7 @@ AddSectionToCopyQueue(HINF InfFile,
PWCHAR FileKeyValue;
PWCHAR DirKeyValue;
PWCHAR TargetFileName;
WCHAR CompleteOrigFileName[512];
if (SourceCabinet)
return AddSectionToCopyQueueCab(InfFile, L"SourceFiles", SourceCabinet, DestinationPath, Ir);
@ -2901,10 +2902,14 @@ AddSectionToCopyQueue(HINF InfFile,
break;
}
wcscpy(CompleteOrigFileName, SourceRootDir.Buffer);
wcscat(CompleteOrigFileName, L"\\");
wcscat(CompleteOrigFileName, DirKeyValue);
if (!SetupQueueCopy(SetupFileQueue,
SourceCabinet,
SourceRootPath.Buffer,
SourceRootDir.Buffer,
CompleteOrigFileName,
FileKeyName,
DirKeyValue,
TargetFileName))

View file

@ -18,4 +18,4 @@ add_importlibs(vmwinst
kernel32
ntdll)
add_cab_target(vmwinst 1)
add_cd_file(TARGET vmwinst DESTINATION reactos/system32)

View file

@ -5,4 +5,4 @@ add_executable(welcome welcome.c welcome.rc)
set_module_type(welcome win32gui)
add_importlibs(welcome gdi32 user32 msvcrt kernel32 ntdll)
add_minicd_target(welcome reactos)
add_cd_file(TARGET welcome DESTINATION reactos NO_CAB NO_LIVECD)

View file

@ -79,4 +79,4 @@ 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_cab_target(cmd 1)
add_cd_file(TARGET cmd DESTINATION reactos/system32)

View file

@ -38,4 +38,4 @@ add_importlibs(explorer_new
kernel32
ntdll)
add_cab_target(explorer_new 4)
add_cd_file(TARGET explorer_new DESTINATION reactos)

View file

@ -73,5 +73,5 @@ add_importlibs(explorer advapi32 gdi32 user32 ws2_32 msimg32 comctl32 ole32 olea
set_image_base(explorer 0x00400000)
add_dependencies(explorer psdk)
add_cab_target(explorer 4)
add_cab(${CMAKE_CURRENT_SOURCE_DIR}/explorer-cfg-template.xml 4)
add_cd_file(TARGET explorer DESTINATION reactos)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/explorer-cfg-template.xml DESTINATION reactos)

View file

@ -14,4 +14,4 @@ set_module_type(notifyhook win32dll)
add_importlibs(notifyhook user32 msvcrt kernel32)
add_importlib_target(notifyhook.spec)
add_cab_target(notifyhook 1)
add_cd_file(TARGET notifyhook DESTINATION reactos/system32)

View file

@ -5,4 +5,4 @@ set_module_type(autochk nativecui)
target_link_libraries(autochk mingw_common nt)
add_importlibs(autochk kernel32 ntdll)
add_cab_target(autochk 1)
add_cd_file(TARGET autochk DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(bootok bootok.c bootok.rc)
set_module_type(bootok win32cui)
add_importlibs(bootok advapi32 msvcrt kernel32 ntdll)
add_cab_target(bootok 1)
add_cd_file(TARGET bootok DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(expand expand.c expand.rc)
set_module_type(expand win32cui)
add_importlibs(expand lz32 setupapi user32 msvcrt kernel32 ntdll)
add_cab_target(expand 1)
add_cd_file(TARGET expand DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ add_executable(format format.c format.rc)
set_module_type(format win32cui)
add_importlibs(format user32 fmifs msvcrt kernel32 ntdll)
add_cab_target(format 1)
add_cd_file(TARGET format DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(lsass lsass.c lsass.rc)
set_module_type(lsass win32gui)
add_importlibs(lsass advapi32 lsasrv msvcrt kernel32 ntdll)
add_cab_target(lsass 1)
add_cd_file(TARGET lsass DESTINATION reactos/system32)

View file

@ -16,4 +16,4 @@ set_module_type(msiexec win32gui)
target_link_libraries(msiexec uuid wine)
add_importlibs(msiexec user32 advapi32 ole32 msi msvcrt kernel32 ntdll)
add_cab_target(msiexec 1)
add_cd_file(TARGET msiexec DESTINATION reactos/system32)

View file

@ -9,4 +9,4 @@ add_executable(regsvr32 regsvr32.c regsvr32.rc)
set_module_type(regsvr32 win32gui)
add_importlibs(regsvr32 user32 shell32 ole32 msvcrt kernel32 ntdll)
add_cab_target(regsvr32 1)
add_cd_file(TARGET regsvr32 DESTINATION reactos/system32)

View file

@ -7,4 +7,4 @@ add_executable(rundll32 rundll32.c rundll32.rc)
set_module_type(rundll32 win32gui)
add_importlibs(rundll32 user32 msvcrt kernel32 ntdll)
add_cab_target(rundll32 1)
add_cd_file(TARGET rundll32 DESTINATION reactos/system32)

View file

@ -6,4 +6,4 @@ add_executable(runonce runonce.c runonce.rc)
set_module_type(runonce win32gui)
add_importlibs(runonce advapi32 user32 msvcrt kernel32 ntdll)
add_cab_target(runonce 1)
add_cd_file(TARGET runonce DESTINATION reactos/system32)

View file

@ -24,4 +24,4 @@ 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_cab_target(services 1)
add_cd_file(TARGET services DESTINATION reactos/system32)

View file

@ -35,4 +35,4 @@ add_pch(smss ${CMAKE_CURRENT_SOURCE_DIR}/smss.h ${SOURCE})
set_module_type(smss nativecui)
add_importlibs(smss ntdll)
add_cab_target(smss 1)
add_cd_file(TARGET smss DESTINATION reactos/system32)

View file

@ -8,4 +8,4 @@ add_executable(subst subst.c subst.rc)
set_module_type(subst win32cui)
add_importlibs(subst msvcrt kernel32 user32 ntdll)
add_cab_target(subst 1)
add_cd_file(TARGET subst DESTINATION reactos/system32)

View file

@ -9,4 +9,4 @@ target_link_libraries(userinit wine)
set_module_type(userinit win32gui)
add_importlibs(userinit user32 gdi32 advapi32 shell32 shlwapi msvcrt kernel32 ntdll)
add_cab_target(userinit 1)
add_cd_file(TARGET userinit DESTINATION reactos/system32)

View file

@ -16,4 +16,4 @@ 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_cab_target(winlogon 1)
add_cd_file(TARGET winlogon DESTINATION reactos/system32)

View file

@ -1,28 +1,14 @@
#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 ${BOOTCD_DIR} REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso
#DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
VERBATIM)
add_subdirectory(freeldr)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/txtsetup.sif reactos txtsetup.sif)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/bootcd.ini "" freeldr.ini)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hivecls_${ARCH}.inf reactos hivecls.inf)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hivedef_${ARCH}.inf reactos hivedef.inf)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hivesft_${ARCH}.inf reactos hivesft.inf)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hivesys_${ARCH}.inf reactos hivesys.inf)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/autorun.inf "" autorun.inf)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/icon.ico "" icon.ico)
add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/readme.txt "" readme.txt)
# Livecd files
list(APPEND LIVECD_HIVES
${CMAKE_CURRENT_SOURCE_DIR}/bootdata/livecd.inf
${CMAKE_CURRENT_SOURCE_DIR}/bootdata/hiveinst_${ARCH}.inf)
add_custom_command(
OUTPUT ${LIVECD_DIR}/reactos/system32/config/sam
COMMAND native-mkhive ${CMAKE_CURRENT_SOURCE_DIR}/bootdata ${LIVECD_DIR}/reactos/system32/config ${ARCH} ${LIVECD_HIVES}
DEPENDS native-mkhive)
add_custom_target(livecd_hives DEPENDS ${LIVECD_DIR}/reactos/system32/config/sam)
add_livecd(${REACTOS_SOURCE_DIR}/boot/bootdata/livecd.ini "" freeldr.ini)
#regtest
add_cab(${REACTOS_SOURCE_DIR}/boot/bootdata/bootcdregtest/regtest.cmd 7)
add_subdirectory(bootdata)

View file

@ -0,0 +1,23 @@
add_subdirectory(packages)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/txtsetup.sif DESTINATION reactos NO_CAB NO_LIVECD)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivecls_${ARCH}.inf DESTINATION reactos NO_CAB NO_LIVECD NAME_ON_CD hivecls.inf)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf DESTINATION reactos NO_CAB NO_LIVECD NAME_ON_CD hivedef.inf)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf DESTINATION reactos NO_CAB NO_LIVECD NAME_ON_CD hivesft.inf)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf)
# bootcd/livecd hives
list(APPEND CD_HIVES
${CMAKE_CURRENT_SOURCE_DIR}/livecd.inf
${CMAKE_CURRENT_SOURCE_DIR}/hiveinst_${ARCH}.inf)
add_custom_target(livecd_hives
native-mkhive ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${ARCH} ${CD_HIVES}
DEPENDS native-mkhive ${CD_HIVES})
#regtest
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/regtest.cmd DESTINATION reactos/bin)
#freeldr.ini
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini NO_LIVECD)

View file

@ -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 NO_LIVECD)

View file

@ -1,3 +1,4 @@
; Main ReactOS package
.Set DiskLabelTemplate="ReactOS" ; Label of disk

Some files were not shown because too many files have changed in this diff Show more