From da55a789c332654a10e1f82c9f163e3dea7b94cf Mon Sep 17 00:00:00 2001 From: Sylvain Petreolle Date: Sat, 9 Oct 2010 13:54:36 +0000 Subject: [PATCH] [CMAKE] Add minicd target. This partial bootcd target produces a minicd iso, able to start the install process to the cabinet installation page. svn path=/branches/cmake-bringup/; revision=49072 --- CMakeLists.txt | 16 ++++++++++++++++ CMakeMacros.cmake | 2 +- base/setup/usetup/CMakeLists.txt | 1 + boot/CMakeLists.txt | 6 +++++- dll/ntdll/CMakeLists.txt | 2 ++ drivers/base/bootvid/CMakeLists.txt | 1 + drivers/base/kdcom/CMakeLists.txt | 1 + drivers/bus/acpi/CMakeLists.txt | 4 +++- drivers/bus/isapnp/CMakeLists.txt | 1 + drivers/bus/pci/CMakeLists.txt | 1 + drivers/bus/pcmcia/CMakeLists.txt | 1 + drivers/filesystems/cdfs/CMakeLists.txt | 1 + drivers/filesystems/ext2/CMakeLists.txt | 1 + drivers/filesystems/fastfat/CMakeLists.txt | 1 + drivers/input/i8042prt/CMakeLists.txt | 1 + drivers/input/kbdclass/CMakeLists.txt | 1 + drivers/setup/blue/CMakeLists.txt | 1 + drivers/storage/class/cdrom/CMakeLists.txt | 1 + drivers/storage/class/class2/CMakeLists.txt | 1 + drivers/storage/class/disk/CMakeLists.txt | 1 + drivers/storage/class/ramdisk/CMakeLists.txt | 1 + drivers/storage/floppy/CMakeLists.txt | 1 + drivers/storage/ide/atapi/CMakeLists.txt | 1 + drivers/storage/ide/uniata/CMakeLists.txt | 1 + drivers/storage/port/buslogic/CMakeLists.txt | 1 + drivers/storage/scsiport/CMakeLists.txt | 1 + hal/CMakeLists.txt | 2 +- media/CMakeLists.txt | 3 +++ ntoskrnl/CMakeLists.txt | 2 ++ 29 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 media/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index dbb8c0dd4a2..c5b3046fff6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,12 +99,28 @@ add_subdirectory(include/dxsdk) add_subdirectory(include/reactos/idl) add_subdirectory(include/reactos/mc) +#minicd target +set(BOOTCD_DIR "${REACTOS_BINARY_DIR}/boot/bootcd") + +file(MAKE_DIRECTORY "${BOOTCD_DIR}") +file(MAKE_DIRECTORY "${BOOTCD_DIR}/loader") +file(MAKE_DIRECTORY "${BOOTCD_DIR}/reactos") +file(MAKE_DIRECTORY "${BOOTCD_DIR}/reactos/system32") + +add_custom_command( + OUTPUT ${REACTOS_BINARY_DIR}/minicd.iso + COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/boot/freeldr/bootsect/isoboot.bin ${BOOTCD_DIR} REACTOS ${REACTOS_BINARY_DIR}/minicd.iso + DEPENDS native-cdmake) +add_custom_target(minicd DEPENDS ${REACTOS_BINARY_DIR}/minicd.iso) +add_minicd(${REACTOS_SOURCE_DIR}/boot/bootdata/bootcd.ini "" freeldr.ini) + add_subdirectory(base) add_subdirectory(boot) add_subdirectory(dll) add_subdirectory(drivers) add_subdirectory(hal) add_subdirectory(lib) +add_subdirectory(media) add_subdirectory(ntoskrnl) add_subdirectory(subsystems) diff --git a/CMakeMacros.cmake b/CMakeMacros.cmake index bc73fee6e6b..5c0ce53bd6c 100644 --- a/CMakeMacros.cmake +++ b/CMakeMacros.cmake @@ -75,7 +75,7 @@ MACRO(CreateBootSectorTarget _target_name _asm_file _object_file) DEPENDS native-winebuild) 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(CreateBootSectorTarget _target_name _asm_file _object_file) else() MACRO(CreateBootSectorTarget _target_name _asm_file _object_file) diff --git a/base/setup/usetup/CMakeLists.txt b/base/setup/usetup/CMakeLists.txt index d7d203d1429..52218116219 100644 --- a/base/setup/usetup/CMakeLists.txt +++ b/base/setup/usetup/CMakeLists.txt @@ -39,3 +39,4 @@ target_link_libraries(usetup set_module_type(usetup nativecui) add_importlibs(usetup kernel32 ntdll) +add_minicd_target(usetup reactos/system32 smss.exe) diff --git a/boot/CMakeLists.txt b/boot/CMakeLists.txt index 6f1fc9056fb..5d5cf357a7c 100644 --- a/boot/CMakeLists.txt +++ b/boot/CMakeLists.txt @@ -193,7 +193,7 @@ list(APPEND SETUPLDR_SOURCE add_library(setupldr SHARED ${SETUPLDR_SOURCE}) -set_target_properties(setupldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,-entry,_mainCRTStartup -Wl,--image-base,0x8000 -Wl,--exclude-all-symbols -Wl,--subsystem,native -Wl,--file-alignment,0x1000" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") +set_target_properties(setupldr PROPERTIES LINK_FLAGS "-Wl,--strip-all -Wl,-entry,_mainCRTStartup -Wl,--image-base,0x8000 -Wl,--exclude-all-symbols -Wl,--subsystem,native -Wl,--file-alignment,0x1000 -Wl,-T,${REACTOS_SOURCE_DIR}/global.lds" SUFFIX ".sys" COMPILE_DEFINITIONS "FREELDR_REACTOS_SETUP") if(ARCH MATCHES i386) target_link_libraries(setupldr mini_hal) @@ -205,3 +205,7 @@ target_link_libraries(setupldr cmlib rtl libcntpr) + +add_minicd_target(setupldr loader setupldr.sys) +add_minicd_target(freeldr loader freeldr.sys) +add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/bootdata/txtsetup.sif reactos txtsetup.sif) \ No newline at end of file diff --git a/dll/ntdll/CMakeLists.txt b/dll/ntdll/CMakeLists.txt index 93ba22cafcf..50fb984e509 100644 --- a/dll/ntdll/CMakeLists.txt +++ b/dll/ntdll/CMakeLists.txt @@ -44,3 +44,5 @@ target_link_libraries(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/def/ntdll.def add_pch(ntdll ${CMAKE_CURRENT_SOURCE_DIR}/include/ntdll.h ${SOURCE}) add_dependencies(ntdll ntstatus version) + +add_minicd_target(ntdll reactos/system32 ntdll.dll) \ No newline at end of file diff --git a/drivers/base/bootvid/CMakeLists.txt b/drivers/base/bootvid/CMakeLists.txt index cce397f498b..1660df8988f 100644 --- a/drivers/base/bootvid/CMakeLists.txt +++ b/drivers/base/bootvid/CMakeLists.txt @@ -27,3 +27,4 @@ target_link_libraries(bootvid add_pch(bootvid ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) add_dependencies(bootvid bootvid_def psdk buildno_header bugcodes) +add_minicd_target(bootvid reactos bootvid.dll) \ No newline at end of file diff --git a/drivers/base/kdcom/CMakeLists.txt b/drivers/base/kdcom/CMakeLists.txt index b133ccb5bb9..d29f2cbbc8a 100644 --- a/drivers/base/kdcom/CMakeLists.txt +++ b/drivers/base/kdcom/CMakeLists.txt @@ -21,3 +21,4 @@ target_link_libraries(kdcom -lhal) add_dependencies(kdcom kdcom_def psdk buildno_header bugcodes) +add_minicd_target(kdcom reactos kdcom.dll) \ No newline at end of file diff --git a/drivers/bus/acpi/CMakeLists.txt b/drivers/bus/acpi/CMakeLists.txt index 588b8aa00b9..315276438d9 100644 --- a/drivers/bus/acpi/CMakeLists.txt +++ b/drivers/bus/acpi/CMakeLists.txt @@ -146,5 +146,7 @@ target_link_libraries(acpi add_importlibs(acpi ntoskrnl hal) add_dependencies(acpi psdk bugcodes) +add_minicd_target(acpi reactos acpi.sys) + add_subdirectory(cmbatt) -add_subdirectory(compbatt) \ No newline at end of file +add_subdirectory(compbatt) diff --git a/drivers/bus/isapnp/CMakeLists.txt b/drivers/bus/isapnp/CMakeLists.txt index b563165bf94..e870c9210c1 100644 --- a/drivers/bus/isapnp/CMakeLists.txt +++ b/drivers/bus/isapnp/CMakeLists.txt @@ -10,3 +10,4 @@ set_target_properties(isapnp PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -W add_importlibs(isapnp ntoskrnl hal) add_dependencies(isapnp psdk bugcodes buildno_header) +add_minicd_target(isapnp reactos isapnp.sys) diff --git a/drivers/bus/pci/CMakeLists.txt b/drivers/bus/pci/CMakeLists.txt index c9b04448dd7..43478329734 100644 --- a/drivers/bus/pci/CMakeLists.txt +++ b/drivers/bus/pci/CMakeLists.txt @@ -9,3 +9,4 @@ set_target_properties(pci PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -Wl,- add_importlibs(pci ntoskrnl hal) add_dependencies(pci psdk bugcodes buildno_header) +add_minicd_target(pci reactos pci.sys) \ No newline at end of file diff --git a/drivers/bus/pcmcia/CMakeLists.txt b/drivers/bus/pcmcia/CMakeLists.txt index b3c52c0f19f..033438dbe32 100644 --- a/drivers/bus/pcmcia/CMakeLists.txt +++ b/drivers/bus/pcmcia/CMakeLists.txt @@ -9,3 +9,4 @@ set_target_properties(pcmcia PROPERTIES LINK_FLAGS "-Wl,-entry,_DriverEntry@8 -W add_importlibs(pcmcia ntoskrnl hal) add_dependencies(pcmcia psdk bugcodes buildno_header) +add_minicd_target(pcmcia reactos pcmcia.sys) \ No newline at end of file diff --git a/drivers/filesystems/cdfs/CMakeLists.txt b/drivers/filesystems/cdfs/CMakeLists.txt index f5dd7eba92d..bcaa45ff3f5 100644 --- a/drivers/filesystems/cdfs/CMakeLists.txt +++ b/drivers/filesystems/cdfs/CMakeLists.txt @@ -29,3 +29,4 @@ target_link_libraries(cdfs add_pch(cdfs ${CMAKE_CURRENT_SOURCE_DIR}/cdfs.h ${SOURCE}) add_dependencies(cdfs psdk bugcodes) +add_minicd_target(cdfs reactos cdfs.sys) \ No newline at end of file diff --git a/drivers/filesystems/ext2/CMakeLists.txt b/drivers/filesystems/ext2/CMakeLists.txt index 8dc54b3dfcc..ddc6e29667d 100644 --- a/drivers/filesystems/ext2/CMakeLists.txt +++ b/drivers/filesystems/ext2/CMakeLists.txt @@ -30,3 +30,4 @@ target_link_libraries(ext2fs -lhal) add_dependencies(ext2fs psdk bugcodes) +add_minicd_target(ext2fs reactos ext2.sys) \ No newline at end of file diff --git a/drivers/filesystems/fastfat/CMakeLists.txt b/drivers/filesystems/fastfat/CMakeLists.txt index 681069ba75d..e938fbbd09b 100644 --- a/drivers/filesystems/fastfat/CMakeLists.txt +++ b/drivers/filesystems/fastfat/CMakeLists.txt @@ -35,3 +35,4 @@ target_link_libraries(fastfat add_pch(fastfat ${CMAKE_CURRENT_SOURCE_DIR}/vfat.h ${SOURCE}) add_dependencies(fastfat psdk bugcodes) +add_minicd_target(fastfat reactos fastfat.sys) \ No newline at end of file diff --git a/drivers/input/i8042prt/CMakeLists.txt b/drivers/input/i8042prt/CMakeLists.txt index 24b6eb3181e..8ce4db4217a 100644 --- a/drivers/input/i8042prt/CMakeLists.txt +++ b/drivers/input/i8042prt/CMakeLists.txt @@ -21,3 +21,4 @@ target_link_libraries(i8042prt -lhal) add_dependencies(i8042prt psdk bugcodes) +add_minicd_target(i8042prt reactos i8042prt.sys) \ No newline at end of file diff --git a/drivers/input/kbdclass/CMakeLists.txt b/drivers/input/kbdclass/CMakeLists.txt index 39784b7ed78..b8e0bc8ab83 100644 --- a/drivers/input/kbdclass/CMakeLists.txt +++ b/drivers/input/kbdclass/CMakeLists.txt @@ -15,3 +15,4 @@ target_link_libraries(kbdclass -lhal) add_dependencies(kbdclass psdk bugcodes) +add_minicd_target(kbdclass reactos kbdclass.sys) \ No newline at end of file diff --git a/drivers/setup/blue/CMakeLists.txt b/drivers/setup/blue/CMakeLists.txt index 7c87c6d2216..11f971e2bfb 100644 --- a/drivers/setup/blue/CMakeLists.txt +++ b/drivers/setup/blue/CMakeLists.txt @@ -12,3 +12,4 @@ target_link_libraries(blue -lhal) add_dependencies(blue psdk bugcodes) +add_minicd_target(blue reactos blue.sys) \ No newline at end of file diff --git a/drivers/storage/class/cdrom/CMakeLists.txt b/drivers/storage/class/cdrom/CMakeLists.txt index cfc645a4140..ad658735597 100644 --- a/drivers/storage/class/cdrom/CMakeLists.txt +++ b/drivers/storage/class/cdrom/CMakeLists.txt @@ -14,3 +14,4 @@ target_link_libraries(cdrom -lhal) add_dependencies(cdrom psdk bugcodes) +add_minicd_target(cdrom reactos cdrom.sys) \ No newline at end of file diff --git a/drivers/storage/class/class2/CMakeLists.txt b/drivers/storage/class/class2/CMakeLists.txt index 85ed6c8c1f4..3e4ed5b9edf 100644 --- a/drivers/storage/class/class2/CMakeLists.txt +++ b/drivers/storage/class/class2/CMakeLists.txt @@ -16,3 +16,4 @@ target_link_libraries(class2 -lhal) add_dependencies(class2 class2_def psdk bugcodes) +add_minicd_target(class2 reactos class2.sys) \ No newline at end of file diff --git a/drivers/storage/class/disk/CMakeLists.txt b/drivers/storage/class/disk/CMakeLists.txt index 5c588c93636..b1785fc1f36 100644 --- a/drivers/storage/class/disk/CMakeLists.txt +++ b/drivers/storage/class/disk/CMakeLists.txt @@ -14,3 +14,4 @@ target_link_libraries(disk -lhal) add_dependencies(disk psdk bugcodes) +add_minicd_target(disk reactos disk.sys) \ No newline at end of file diff --git a/drivers/storage/class/ramdisk/CMakeLists.txt b/drivers/storage/class/ramdisk/CMakeLists.txt index ea5bc474d15..cbe10ddf838 100644 --- a/drivers/storage/class/ramdisk/CMakeLists.txt +++ b/drivers/storage/class/ramdisk/CMakeLists.txt @@ -12,3 +12,4 @@ target_link_libraries(ramdisk -lhal) add_dependencies(ramdisk psdk bugcodes) +add_minicd_target(ramdisk reactos ramdisk.sys) \ No newline at end of file diff --git a/drivers/storage/floppy/CMakeLists.txt b/drivers/storage/floppy/CMakeLists.txt index df6b951fab1..ec615d705e4 100644 --- a/drivers/storage/floppy/CMakeLists.txt +++ b/drivers/storage/floppy/CMakeLists.txt @@ -17,3 +17,4 @@ target_link_libraries(floppy -lhal) add_dependencies(floppy psdk bugcodes buildno_header) +add_minicd_target(floppy reactos floppy.sys) \ No newline at end of file diff --git a/drivers/storage/ide/atapi/CMakeLists.txt b/drivers/storage/ide/atapi/CMakeLists.txt index de8dec7df2a..1d1eb84dcb6 100644 --- a/drivers/storage/ide/atapi/CMakeLists.txt +++ b/drivers/storage/ide/atapi/CMakeLists.txt @@ -10,3 +10,4 @@ target_link_libraries(atapi libcntpr) add_dependencies(atapi psdk bugcodes) +add_minicd_target(atapi reactos atapi.sys) \ No newline at end of file diff --git a/drivers/storage/ide/uniata/CMakeLists.txt b/drivers/storage/ide/uniata/CMakeLists.txt index 8478af4399f..c02f423a7ba 100644 --- a/drivers/storage/ide/uniata/CMakeLists.txt +++ b/drivers/storage/ide/uniata/CMakeLists.txt @@ -23,3 +23,4 @@ target_link_libraries(uniata -lgcc) add_dependencies(uniata psdk bugcodes buildno_header) +add_minicd_target(uniata reactos uniata.sys) \ No newline at end of file diff --git a/drivers/storage/port/buslogic/CMakeLists.txt b/drivers/storage/port/buslogic/CMakeLists.txt index 82035709b6b..b043bdfcc00 100644 --- a/drivers/storage/port/buslogic/CMakeLists.txt +++ b/drivers/storage/port/buslogic/CMakeLists.txt @@ -10,3 +10,4 @@ target_link_libraries(buslogic libcntpr) add_dependencies(buslogic psdk bugcodes) +add_minicd_target(buslogic reactos buslogic.sys) \ No newline at end of file diff --git a/drivers/storage/scsiport/CMakeLists.txt b/drivers/storage/scsiport/CMakeLists.txt index 270b583b178..4f58e9b66ae 100644 --- a/drivers/storage/scsiport/CMakeLists.txt +++ b/drivers/storage/scsiport/CMakeLists.txt @@ -11,3 +11,4 @@ target_link_libraries(scsiport -lhal) add_dependencies(scsiport psdk bugcodes) +add_minicd_target(scsiport reactos scsiport.sys) \ No newline at end of file diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt index 85a16958d90..4f8bac4b0a9 100644 --- a/hal/CMakeLists.txt +++ b/hal/CMakeLists.txt @@ -98,7 +98,7 @@ endif(ARCH MATCHES i386) add_library(mini_hal ${MINI_HAL_SOURCE}) set_property(TARGET mini_hal PROPERTY COMPILE_DEFINITIONS "_BLDR_;_MINIHAL_") add_dependencies(mini_hal psdk bugcodes) - +add_minicd_target(hal reactos hal.dll) else() #TBD endif(ARCH MATCHES i386) \ No newline at end of file diff --git a/media/CMakeLists.txt b/media/CMakeLists.txt new file mode 100644 index 00000000000..54c546e7a3c --- /dev/null +++ b/media/CMakeLists.txt @@ -0,0 +1,3 @@ +add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/nls/l_intl.nls reactos l_intl.nls) +add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/nls/c_437.nls reactos c_437.nls) +add_minicd(${CMAKE_CURRENT_SOURCE_DIR}/nls/c_1252.nls reactos c_1252.nls) \ No newline at end of file diff --git a/ntoskrnl/CMakeLists.txt b/ntoskrnl/CMakeLists.txt index 1dcc28143e2..9b66c729d68 100644 --- a/ntoskrnl/CMakeLists.txt +++ b/ntoskrnl/CMakeLists.txt @@ -424,3 +424,5 @@ target_link_libraries(ntoskrnl add_pch(ntoskrnl ${CMAKE_CURRENT_SOURCE_DIR}/include/ntoskrnl.h ${SOURCE}) set_source_files_properties(${REACTOS_BINARY_DIR}/ntoskrnl/ex/zw.S PROPERTIES GENERATED TRUE) add_dependencies(ntoskrnl psdk bugcodes kernel_zw kernel_napi) + +add_minicd_target(ntoskrnl reactos ntoskrnl.exe) \ No newline at end of file -- 2.17.1