ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
March 2018
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
25 participants
436 discussions
Start a n
N
ew thread
01/01: [TFTPD] Add the Open TFTP Server to build.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dd311081bebe3b27fb0e3…
commit dd311081bebe3b27fb0e3fe94fd4da268c5f082d Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Mar 31 17:57:22 2018 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sat Mar 31 17:57:22 2018 +0200 [TFTPD] Add the Open TFTP Server to build. Note that it constitutes a nice test for iphlpapi.dll and afd.sys. --- base/services/CMakeLists.txt | 2 +- base/services/tftpd/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/base/services/CMakeLists.txt b/base/services/CMakeLists.txt index e49a340199..75b547844c 100644 --- a/base/services/CMakeLists.txt +++ b/base/services/CMakeLists.txt @@ -10,7 +10,7 @@ add_subdirectory(srvsvc) add_subdirectory(svchost) add_subdirectory(tcpsvcs) add_subdirectory(telnetd) -#add_subdirectory(tftpd) +add_subdirectory(tftpd) add_subdirectory(umpnpmgr) add_subdirectory(wkssvc) add_subdirectory(wlansvc) diff --git a/base/services/tftpd/CMakeLists.txt b/base/services/tftpd/CMakeLists.txt index 441f6c9a36..0ae2efab3d 100644 --- a/base/services/tftpd/CMakeLists.txt +++ b/base/services/tftpd/CMakeLists.txt @@ -2,3 +2,4 @@ add_executable(tftpd tftpd.cpp) set_module_type(tftpd win32cui) add_importlibs(tftpd advapi32 ws2_32 iphlpapi msvcrt kernel32) +add_cd_file(TARGET tftpd DESTINATION reactos/system32 FOR all)
6 years, 8 months
1
0
0
0
03/03: [TFTPD] Fix compilation, and use the #define MAX_SERVERS where needed instead of hardcoding its value.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a45713f4c2d4bc0b5c70e…
commit a45713f4c2d4bc0b5c70e3456385f9ce5ca6d81f Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Mar 31 17:04:47 2018 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sat Mar 31 17:07:48 2018 +0200 [TFTPD] Fix compilation, and use the #define MAX_SERVERS where needed instead of hardcoding its value. --- base/services/tftpd/tftpd.cpp | 20 ++++++++++++++++++-- base/services/tftpd/tftpd.h | 4 ++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/base/services/tftpd/tftpd.cpp b/base/services/tftpd/tftpd.cpp index bc8ed64291..106d7cdd9b 100644 --- a/base/services/tftpd/tftpd.cpp +++ b/base/services/tftpd/tftpd.cpp @@ -541,7 +541,7 @@ void processRequest(void *lpParam) bool allowed = false; #ifdef __REACTOS__ - for (int j = 0; j < _countof(cfig.hostRanges) && cfig.hostRanges[j].rangeStart; j++) + for (MYWORD j = 0; j < _countof(cfig.hostRanges) && cfig.hostRanges[j].rangeStart; j++) #else for (int j = 0; j <= 32 && cfig.hostRanges[j].rangeStart; j++) #endif @@ -755,7 +755,11 @@ void processRequest(void *lpParam) continue; } +#ifdef __REACTOS__ + for (int i = 0; i < MAX_SERVERS; i++) +#else for (int i = 0; i < 8; i++) +#endif { //printf("%s=%i\n", req.filename, cfig.homes[i].alias[0]); if (cfig.homes[i].alias[0] && !strcasecmp(req.filename, cfig.homes[i].alias)) @@ -1891,7 +1895,11 @@ void init(void *lpParam) } else if (name[0] && strlen(name) < 64 && value[0]) { +#ifdef __REACTOS__ + for (int i = 0; i < MAX_SERVERS; i++) +#else for (int i = 0; i < 8; i++) +#endif { if (cfig.homes[i].alias[0] && !strcasecmp(name, cfig.homes[i].alias)) { @@ -2050,7 +2058,11 @@ void init(void *lpParam) if ((f = openSection("ALLOWED-CLIENTS", 1, iniFile))) { +#ifdef __REACTOS__ + MYWORD i = 0; +#else int i = 0; +#endif while (readSection(raw, f)) { @@ -2107,7 +2119,7 @@ void init(void *lpParam) char temp[128]; #ifdef __REACTOS__ - for (int i = 0; i < _countof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) + for (MYWORD i = 0; i < _countof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) #else for (MYWORD i = 0; i <= sizeof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) #endif @@ -2424,7 +2436,11 @@ bool detectChange() MYDWORD eventWait = UINT_MAX; if (cfig.failureCount) +#ifdef __REACTOS__ + eventWait = 10000 * (1 << cfig.failureCount); +#else eventWait = 10000 * pow(2, cfig.failureCount); +#endif OVERLAPPED overlap; MYDWORD ret; diff --git a/base/services/tftpd/tftpd.h b/base/services/tftpd/tftpd.h index f9766922a8..13e16562b0 100644 --- a/base/services/tftpd/tftpd.h +++ b/base/services/tftpd/tftpd.h @@ -137,7 +137,11 @@ struct data1 struct data2 { WSADATA wsaData; +#ifdef __REACTOS__ + home homes[MAX_SERVERS]; +#else home homes[8]; +#endif FILE *logfile; data12 hostRanges[32]; char fileRead;
6 years, 8 months
1
0
0
0
02/03: [TFTPD] Fix bound checks for array cfig.hostRanges. Spotted by 'mudhead'. CORE-14515
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=af57aba1043cd9fc910df…
commit af57aba1043cd9fc910df90848c9a6cea3d49937 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Mar 31 16:49:24 2018 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sat Mar 31 17:07:45 2018 +0200 [TFTPD] Fix bound checks for array cfig.hostRanges. Spotted by 'mudhead'. CORE-14515 --- base/services/tftpd/tftpd.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/base/services/tftpd/tftpd.cpp b/base/services/tftpd/tftpd.cpp index faf1718869..bc8ed64291 100644 --- a/base/services/tftpd/tftpd.cpp +++ b/base/services/tftpd/tftpd.cpp @@ -540,7 +540,11 @@ void processRequest(void *lpParam) MYDWORD iip = ntohl(req.client.sin_addr.s_addr); bool allowed = false; +#ifdef __REACTOS__ + for (int j = 0; j < _countof(cfig.hostRanges) && cfig.hostRanges[j].rangeStart; j++) +#else for (int j = 0; j <= 32 && cfig.hostRanges[j].rangeStart; j++) +#endif { if (iip >= cfig.hostRanges[j].rangeStart && iip <= cfig.hostRanges[j].rangeEnd) { @@ -2050,7 +2054,11 @@ void init(void *lpParam) while (readSection(raw, f)) { +#ifdef __REACTOS__ + if (i < _countof(cfig.hostRanges)) +#else if (i < 32) +#endif { MYDWORD rs = 0; MYDWORD re = 0; @@ -2098,7 +2106,11 @@ void init(void *lpParam) { char temp[128]; +#ifdef __REACTOS__ + for (int i = 0; i < _countof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) +#else for (MYWORD i = 0; i <= sizeof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) +#endif { sprintf(logBuff, "%s", "permitted clients: "); sprintf(temp, "%s-", IP2String(tempbuff, htonl(cfig.hostRanges[i].rangeStart)));
6 years, 8 months
1
0
0
0
01/03: [SC] Fix comparison logic for the allowed user-defined service control code interval. Caught by contributor 'mudhead'. CORE-14514
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2eb78afa7a9aa28361a83…
commit 2eb78afa7a9aa28361a83e87bffb93bf85b69c57 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Mar 31 16:35:19 2018 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sat Mar 31 17:06:29 2018 +0200 [SC] Fix comparison logic for the allowed user-defined service control code interval. Caught by contributor 'mudhead'. CORE-14514 --- base/applications/sc/sc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/applications/sc/sc.c b/base/applications/sc/sc.c index c6230c4801..49cd597029 100644 --- a/base/applications/sc/sc.c +++ b/base/applications/sc/sc.c @@ -177,7 +177,7 @@ ScControl(LPCTSTR Server, // remote machine name else { ControlCode = _ttoi(ServiceArgs[0]); - if ((ControlCode < 128) && (ControlCode > 255)) + if ((ControlCode < 128) || (ControlCode > 255)) ControlCode = 0; }
6 years, 8 months
1
0
0
0
01/01: [CMAKE] Fix command.com livecd.lst entry. CORE-14509
by Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=536623950ca51b0e47aa3…
commit 536623950ca51b0e47aa3104209cf891a28e2029 Author: Thomas Faber <thomas.faber(a)reactos.org> AuthorDate: Fri Mar 30 21:21:46 2018 +0200 Commit: Thomas Faber <thomas.faber(a)reactos.org> CommitDate: Fri Mar 30 21:22:33 2018 +0200 [CMAKE] Fix
command.com
livecd.lst entry. CORE-14509 Spotted by Hermès. --- subsystems/mvdm/dos/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subsystems/mvdm/dos/CMakeLists.txt b/subsystems/mvdm/dos/CMakeLists.txt index dd6b45ff01..4cfe8f68bf 100644 --- a/subsystems/mvdm/dos/CMakeLists.txt +++ b/subsystems/mvdm/dos/CMakeLists.txt @@ -1,4 +1,4 @@ include_directories(${REACTOS_SOURCE_DIR}/subsystems/mvdm/dos) add_asm16_bin(command ${CMAKE_CURRENT_BINARY_DIR}/command.com 0x0100 command.S) -add_cd_file(TARGET command FILE $<TARGET_PROPERTY:command,BINARY_PATH> DESTINATION reactos/system32 FOR all) +add_cd_file(TARGET command FILE ${CMAKE_CURRENT_BINARY_DIR}/command.com DESTINATION reactos/system32 FOR all)
6 years, 8 months
1
0
0
0
04/04: [CMAKE] Disallow use of LOCATION. CORE-14509
by Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=99ba355e7f0cfc7e1e5f8…
commit 99ba355e7f0cfc7e1e5f82e792e8fada8aba1d60 Author: Thomas Faber <thomas.faber(a)reactos.org> AuthorDate: Sun Mar 11 19:56:49 2018 +0100 Commit: Thomas Faber <thomas.faber(a)reactos.org> CommitDate: Fri Mar 30 20:28:27 2018 +0200 [CMAKE] Disallow use of LOCATION. CORE-14509 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f752a8eb18..bd98d3ac47 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ endif() if(POLICY CMP0026) # Allow use of the LOCATION property - cmake_policy(SET CMP0026 OLD) + cmake_policy(SET CMP0026 NEW) endif() if(POLICY CMP0051)
6 years, 8 months
1
0
0
0
03/04: [CMAKE] Avoid use of the LOCATION property for asm16 files. CORE-14509
by Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9e1e23dab6a6d8386905…
commit f9e1e23dab6a6d83869052ca2f524cea1762e3b8 Author: Thomas Faber <thomas.faber(a)reactos.org> AuthorDate: Fri Mar 30 13:03:40 2018 +0200 Commit: Thomas Faber <thomas.faber(a)reactos.org> CommitDate: Fri Mar 30 20:28:25 2018 +0200 [CMAKE] Avoid use of the LOCATION property for asm16 files. CORE-14509 In particular, ntvdm needs to post-process
command.com
, so this adds a BINARY_PATH property to such files instead. --- subsystems/mvdm/asm16.cmake | 6 ++---- subsystems/mvdm/dos/CMakeLists.txt | 2 +- subsystems/mvdm/ntvdm/CMakeLists.txt | 8 ++------ 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/subsystems/mvdm/asm16.cmake b/subsystems/mvdm/asm16.cmake index c25f676c73..4aea5f884b 100644 --- a/subsystems/mvdm/asm16.cmake +++ b/subsystems/mvdm/asm16.cmake @@ -56,8 +56,7 @@ function(add_asm16_bin _target _binary_file _base_address) add_custom_target(${_target} ALL DEPENDS ${_binary_file}) # set_target_properties(${_target} PROPERTIES OUTPUT_NAME ${_target} SUFFIX ".bin") - set_target_properties(${_target} PROPERTIES LOCATION_${CMAKE_BUILD_TYPE} ${_binary_file}) ## Support of $<TARGET_FILE:xxx> is limited to add_executable() or add_library() - set_target_properties(${_target} PROPERTIES LOCATION ${_binary_file}) ## Support of $<TARGET_FILE:xxx> is limited to add_executable() or add_library() + set_target_properties(${_target} PROPERTIES BINARY_PATH ${_binary_file}) add_clean_target(${_target}) endfunction() @@ -120,8 +119,7 @@ function(add_asm16_bin _target _binary_file _base_address) add_custom_target(${_target} ALL DEPENDS ${_binary_file}) # set_target_properties(${_target} PROPERTIES OUTPUT_NAME ${_target} SUFFIX ".bin") - set_target_properties(${_target} PROPERTIES LOCATION_${CMAKE_BUILD_TYPE} ${_binary_file}) ## Support of $<TARGET_FILE:xxx> is limited to add_executable() or add_library() - set_target_properties(${_target} PROPERTIES LOCATION ${_binary_file}) ## Support of $<TARGET_FILE:xxx> is limited to add_executable() or add_library() + set_target_properties(${_target} PROPERTIES BINARY_PATH ${_binary_file}) add_clean_target(${_target}) endfunction() diff --git a/subsystems/mvdm/dos/CMakeLists.txt b/subsystems/mvdm/dos/CMakeLists.txt index bf7f56383a..dd6b45ff01 100644 --- a/subsystems/mvdm/dos/CMakeLists.txt +++ b/subsystems/mvdm/dos/CMakeLists.txt @@ -1,4 +1,4 @@ include_directories(${REACTOS_SOURCE_DIR}/subsystems/mvdm/dos) add_asm16_bin(command ${CMAKE_CURRENT_BINARY_DIR}/command.com 0x0100 command.S) -add_cd_file(TARGET command DESTINATION reactos/system32 FOR all) +add_cd_file(TARGET command FILE $<TARGET_PROPERTY:command,BINARY_PATH> DESTINATION reactos/system32 FOR all) diff --git a/subsystems/mvdm/ntvdm/CMakeLists.txt b/subsystems/mvdm/ntvdm/CMakeLists.txt index 30a4398702..ff102d8857 100644 --- a/subsystems/mvdm/ntvdm/CMakeLists.txt +++ b/subsystems/mvdm/ntvdm/CMakeLists.txt @@ -4,14 +4,10 @@ PROJECT(NTVDM) ##################################### # Generate the integrated
COMMAND.COM
# - -# Retrieve the full path to the generated file of the 'command' target -get_target_property(_command_com_file command LOCATION) - add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/command_com.c ${CMAKE_CURRENT_BINARY_DIR}/command_com.h - COMMAND native-bin2c ${_command_com_file} ${CMAKE_CURRENT_BINARY_DIR}/command_com.c ${CMAKE_CURRENT_BINARY_DIR}/command_com.h BIN CommandCom - DEPENDS native-bin2c command ${_command_com_file}) + COMMAND native-bin2c $<TARGET_PROPERTY:command,BINARY_PATH> ${CMAKE_CURRENT_BINARY_DIR}/command_com.c ${CMAKE_CURRENT_BINARY_DIR}/command_com.h BIN CommandCom + DEPENDS native-bin2c command) ##################################### include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/fast486)
6 years, 8 months
1
0
0
0
02/04: [CMAKE] Avoid use of the LOCATION property in add_cd_file/add_rostests_file. CORE-14509
by Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=07720ed9a87674e3f74b7…
commit 07720ed9a87674e3f74b7f82797c0e11fbaecf20 Author: Thomas Faber <thomas.faber(a)reactos.org> AuthorDate: Fri Mar 30 13:03:17 2018 +0200 Commit: Thomas Faber <thomas.faber(a)reactos.org> CommitDate: Fri Mar 30 20:28:23 2018 +0200 [CMAKE] Avoid use of the LOCATION property in add_cd_file/add_rostests_file. CORE-14509 --- boot/CMakeLists.txt | 124 +++++++++++++++++----------------- boot/bootdata/packages/CMakeLists.txt | 17 +++-- sdk/cmake/CMakeMacros.cmake | 42 ++++++++---- 3 files changed, 103 insertions(+), 80 deletions(-) diff --git a/boot/CMakeLists.txt b/boot/CMakeLists.txt index 96d12baea4..1828e0ba5a 100644 --- a/boot/CMakeLists.txt +++ b/boot/CMakeLists.txt @@ -59,8 +59,8 @@ set(ISO_VOLNAME "ReactOS") # For both the Volume ID and the Vol ## BootCD # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake.lst "") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(bootcd COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/bootcd.iso -iso-level 4 @@ -74,8 +74,8 @@ add_custom_target(bootcd ## BootCDRegTest # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake.lst "") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(bootcdregtest COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/bootcdregtest.iso -iso-level 4 @@ -89,37 +89,37 @@ add_custom_target(bootcdregtest ## LiveCD # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") # Create the empty Desktop, Favorites, and Start Menu folders. And many more. -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Documents/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Documents/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Documents/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/My Documents=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/All Users/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Application Data/Microsoft/Internet Explorer/Quick Launch=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Cookies=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Desktop=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Local Settings/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Local Settings/History=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Local Settings/Temporary Internet Files=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/NetHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/PrintHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Recent=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/SendTo=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Start Menu/Programs=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Start Menu/Programs/Administrative Tools=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst "Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Documents/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Documents/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Documents/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/My Documents=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/All Users/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Application Data/Microsoft/Internet Explorer/Quick Launch=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Cookies=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Desktop=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Local Settings/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Local Settings/History=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Local Settings/Temporary Internet Files=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/NetHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/PrintHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Recent=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/SendTo=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Start Menu/Programs=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Start Menu/Programs/Administrative Tools=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake.lst "Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(livecd COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/livecd.iso -iso-level 4 @@ -133,37 +133,37 @@ add_custom_target(livecd ## HybridCD # Create the file list -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "${CMAKE_CURRENT_BINARY_DIR}/empty\n") # Create the empty Desktop, Favorites, and Start Menu folders. And many more. -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Documents/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/My Documents=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/All Users/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Application Data/Microsoft/Internet Explorer/Quick Launch=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Cookies=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Desktop=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/History=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Local Settings/Temporary Internet Files=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/NetHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/PrintHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Recent=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/SendTo=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs/Administrative Tools=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") -file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst "livecd/Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Documents/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Documents/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Documents/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/My Documents=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/All Users/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Application Data/Microsoft/Internet Explorer/Quick Launch=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Cookies=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Desktop=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Favorites=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Local Settings/Application Data=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Local Settings/History=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Local Settings/Temporary Internet Files=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/My Music=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/My Pictures=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/My Videos=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/NetHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/PrintHood=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Recent=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/SendTo=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Start Menu/Programs=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Start Menu/Programs/Administrative Tools=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Start Menu/Programs/StartUp=${CMAKE_CURRENT_BINARY_DIR}/empty\n") +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.cmake.lst "livecd/Profiles/Default User/Templates=${CMAKE_CURRENT_BINARY_DIR}/empty\n") add_custom_target(hybridcd COMMAND native-mkisofs -quiet -o ${REACTOS_BINARY_DIR}/hybridcd.iso -iso-level 4 diff --git a/boot/bootdata/packages/CMakeLists.txt b/boot/bootdata/packages/CMakeLists.txt index 9c3ca3f50d..78db7ec536 100644 --- a/boot/bootdata/packages/CMakeLists.txt +++ b/boot/bootdata/packages/CMakeLists.txt @@ -1,9 +1,11 @@ #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 +# 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 in dynamic) which is generated at generation +# time by our cmake scripts (from reactos.dff.cmake, which contains +# generator expressions) # 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
@@ -13,7 +15,12 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/concat.cmake " file(WRITE \${DST} \"\${S1}\${S2}\") ") -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.dyn "") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.cmake "") + +# This generates reactos.dff.dyn by processing the generator expressions +file(GENERATE + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.dyn + INPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff.cmake) # This finalizes reactos.dff by concat-ing the two files: one generated and one static containing the optional file. # please keep it this way as it permits to add files to reactos.dff.in without having to run cmake again diff --git a/sdk/cmake/CMakeMacros.cmake b/sdk/cmake/CMakeMacros.cmake index 89ef310f23..c2b3f37da0 100644 --- a/sdk/cmake/CMakeMacros.cmake +++ b/sdk/cmake/CMakeMacros.cmake @@ -304,7 +304,10 @@ function(add_cd_file) # get file if we need to if(NOT _CD_FILE) - get_target_property(_CD_FILE ${_CD_TARGET} LOCATION_${CMAKE_BUILD_TYPE}) + set(_CD_FILE "$<TARGET_FILE:${_CD_TARGET}>") + if(NOT _CD_NAME_ON_CD) + set(_CD_NAME_ON_CD "$<TARGET_FILE_NAME:${_CD_TARGET}>") + endif() endif() # do we add it to all CDs? @@ -340,9 +343,7 @@ function(add_cd_file) else() # add it in reactos.cab dir_to_num(${_CD_DESTINATION} _num) - file(RELATIVE_PATH __relative_file ${REACTOS_SOURCE_DIR} ${_CD_FILE}) - file(APPEND ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff.dyn "\"${__relative_file}\" ${_num}\n") - unset(__relative_file) + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootdata/packages/reactos.dff.cmake "\"${_CD_FILE}\" ${_num}\n") # manage dependency - target level if(_CD_TARGET) add_dependencies(reactos_cab_inf ${_CD_TARGET}) @@ -454,23 +455,35 @@ function(create_iso_lists) get_property(_filelist GLOBAL PROPERTY BOOTCD_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.lst "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst "${_filelist}") unset(_filelist) + file(GENERATE + OUTPUT ${REACTOS_BINARY_DIR}/boot/bootcd.lst + INPUT ${REACTOS_BINARY_DIR}/boot/bootcd.cmake.lst) get_property(_filelist GLOBAL PROPERTY LIVECD_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.lst "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake.lst "${_filelist}") unset(_filelist) + file(GENERATE + OUTPUT ${REACTOS_BINARY_DIR}/boot/livecd.lst + INPUT ${REACTOS_BINARY_DIR}/boot/livecd.cmake.lst) get_property(_filelist GLOBAL PROPERTY HYBRIDCD_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/hybridcd.lst "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/hybridcd.cmake.lst "${_filelist}") unset(_filelist) + file(GENERATE + OUTPUT ${REACTOS_BINARY_DIR}/boot/hybridcd.lst + INPUT ${REACTOS_BINARY_DIR}/boot/hybridcd.cmake.lst) get_property(_filelist GLOBAL PROPERTY BOOTCDREGTEST_FILE_LIST) string(REPLACE ";" "\n" _filelist "${_filelist}") - file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcdregtest.lst "${_filelist}") + file(APPEND ${REACTOS_BINARY_DIR}/boot/bootcdregtest.cmake.lst "${_filelist}") unset(_filelist) + file(GENERATE + OUTPUT ${REACTOS_BINARY_DIR}/boot/bootcdregtest.lst + INPUT ${REACTOS_BINARY_DIR}/boot/bootcdregtest.cmake.lst) endfunction() # Create module_clean targets @@ -843,11 +856,14 @@ function(add_rostests_file) endif() if(NOT _ROSTESTS_FILE) - get_target_property(_ROSTESTS_FILE ${_ROSTESTS_TARGET} LOCATION_${CMAKE_BUILD_TYPE}) - endif() - - if(NOT _ROSTESTS_RENAME) - get_filename_component(_ROSTESTS_RENAME ${_ROSTESTS_FILE} NAME) + set(_ROSTESTS_FILE "$<TARGET_FILE:${_ROSTESTS_TARGET}>") + if(NOT _ROSTESTS_RENAME) + set(_ROSTESTS_RENAME "$<TARGET_FILE_NAME:${_ROSTESTS_TARGET}>") + endif() + else() + if(NOT _ROSTESTS_RENAME) + get_filename_component(_ROSTESTS_RENAME ${_ROSTESTS_FILE} NAME) + endif() endif() if(_ROSTESTS_SUBDIR)
6 years, 8 months
1
0
0
0
01/04: [CMAKE] Avoid some uses of the LOCATION target property. CORE-14509
by Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f6dea8b734f5a58b8439c…
commit f6dea8b734f5a58b8439c8ae4f7163692748e6a2 Author: Thomas Faber <thomas.faber(a)reactos.org> AuthorDate: Sat Mar 10 14:41:13 2018 +0100 Commit: Thomas Faber <thomas.faber(a)reactos.org> CommitDate: Fri Mar 30 20:28:20 2018 +0200 [CMAKE] Avoid some uses of the LOCATION target property. CORE-14509 --- boot/freeldr/freeldr/CMakeLists.txt | 11 ++++------- sdk/include/asm/CMakeLists.txt | 4 +--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/boot/freeldr/freeldr/CMakeLists.txt b/boot/freeldr/freeldr/CMakeLists.txt index af754c5bf3..63d985e920 100644 --- a/boot/freeldr/freeldr/CMakeLists.txt +++ b/boot/freeldr/freeldr/CMakeLists.txt @@ -268,17 +268,14 @@ endif() add_dependencies(freeldr_pe asm) add_dependencies(freeldr_pe_dbg asm) -# Retrieve the full path to the generated file of the 'freeldr_pe' target -get_target_property(_freeldr_pe_output_file freeldr_pe LOCATION) - if(NOT ARCH STREQUAL "arm") concatenate_files( ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin - ${_freeldr_pe_output_file}) + ${CMAKE_CURRENT_BINARY_DIR}/$<TARGET_FILE_NAME:freeldr_pe>) add_custom_target(freeldr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys) else() - add_custom_target(freeldr ALL DEPENDS ${_freeldr_pe_output_file}) + add_custom_target(freeldr ALL DEPENDS freeldr_pe) endif() # rename freeldr on livecd to setupldr.sys because isoboot.bin looks for setupldr.sys @@ -289,10 +286,10 @@ if(NOT ARCH STREQUAL "arm") concatenate_files( ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin - ${_freeldr_pe_output_file}) + ${CMAKE_CURRENT_BINARY_DIR}/$<TARGET_FILE_NAME:freeldr_pe>) add_custom_target(setupldr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys) else() - add_custom_target(setupldr ALL DEPENDS ${_freeldr_pe_output_file}) + add_custom_target(setupldr ALL DEPENDS freeldr_pe) endif() add_cd_file(TARGET setupldr FILE ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys DESTINATION loader NO_CAB FOR bootcd regtest) diff --git a/sdk/include/asm/CMakeLists.txt b/sdk/include/asm/CMakeLists.txt index d61ba661ef..5c4f01f6ba 100644 --- a/sdk/include/asm/CMakeLists.txt +++ b/sdk/include/asm/CMakeLists.txt @@ -18,11 +18,9 @@ elseif(ARCH STREQUAL "arm") set(_filename ksarm.h) endif() -get_target_property(genincdata_dll genincdata LOCATION) - add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_filename} - COMMAND native-geninc ${genincdata_dll} ${CMAKE_CURRENT_BINARY_DIR}/${_filename} ${OPT_MS} + COMMAND native-geninc $<TARGET_FILE:genincdata> ${CMAKE_CURRENT_BINARY_DIR}/${_filename} ${OPT_MS} DEPENDS genincdata native-geninc) add_custom_target(asm
6 years, 8 months
1
0
0
0
01/01: Add initial test for IShellFolderViewCB
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=96c0f7d341f9d0ba0ab54…
commit 96c0f7d341f9d0ba0ab543e0772ba1d6c303a8c0 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Wed Dec 20 22:32:06 2017 +0100 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Fri Mar 30 19:46:24 2018 +0200 Add initial test for IShellFolderViewCB --- modules/rostests/apitests/shell32/CMakeLists.txt | 1 + .../apitests/shell32/IShellFolderViewCB.cpp | 622 +++++++++++++++++++++ modules/rostests/apitests/shell32/testlist.c | 2 + 3 files changed, 625 insertions(+) diff --git a/modules/rostests/apitests/shell32/CMakeLists.txt b/modules/rostests/apitests/shell32/CMakeLists.txt index e2c5e0c663..7526df1bad 100644 --- a/modules/rostests/apitests/shell32/CMakeLists.txt +++ b/modules/rostests/apitests/shell32/CMakeLists.txt @@ -13,6 +13,7 @@ list(APPEND SOURCE CShellDesktop.cpp CShellLink.cpp CUserNotification.cpp + IShellFolderViewCB.cpp menu.cpp PathResolve.cpp SHCreateFileExtractIconW.cpp diff --git a/modules/rostests/apitests/shell32/IShellFolderViewCB.cpp b/modules/rostests/apitests/shell32/IShellFolderViewCB.cpp new file mode 100644 index 0000000000..a1fd664fe6 --- /dev/null +++ b/modules/rostests/apitests/shell32/IShellFolderViewCB.cpp @@ -0,0 +1,622 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: GPL-2.0+ (
https://spdx.org/licenses/GPL-2.0+
) + * PURPOSE: Test for IShellFolderViewCB + * COPYRIGHT: Copyright 2017 Mark Jansen (mark.jansen(a)reactos.org) + */ + +#include "shelltest.h" +#include <atlsimpcoll.h> +#include <stdio.h> + +#if 1 +#define DbgPrint(...) trace(__VA_ARGS__) +#else +EXTERN_C +void DbgPrint(PCSTR, ...); +#endif +#include <shellutils.h> +//#include <msgtrace.h> + +static DWORD g_WinVersion; +#define WINVER_VISTA 0x0600 + +#ifndef SFVM_SELECTIONCHANGED +#define SFVM_SELECTIONCHANGED 8 /* undocumented */ +#define SFVM_DRAWMENUITEM 9 /* undocumented */ +#define SFVM_MEASUREMENUITEM 10 /* undocumented */ +#define SFVM_EXITMENULOOP 11 /* undocumented */ +#define SFVM_VIEWRELEASE 12 /* undocumented */ +#define SFVM_GETNAMELENGTH 13 /* undocumented */ +#define SFVM_WINDOWCLOSING 16 /* undocumented */ +#define SFVM_LISTREFRESHED 17 /* undocumented */ +#define SFVM_WINDOWFOCUSED 18 /* undocumented */ +#define SFVM_REGISTERCOPYHOOK 20 /* undocumented */ +#define SFVM_COPYHOOKCALLBACK 21 /* undocumented */ +#define SFVM_UNMERGEFROMMENU 28 /* undocumented */ +#define SFVM_ADDINGOBJECT 29 /* undocumented */ +#define SFVM_REMOVINGOBJECT 30 /* undocumented */ +#define SFVM_GETCOMMANDDIR 33 /* undocumented */ +#define SFVM_GETCOLUMNSTREAM 34 /* undocumented */ +#define SFVM_CANSELECTALL 35 /* undocumented */ +#define SFVM_ISSTRICTREFRESH 37 /* undocumented */ +#define SFVM_ISCHILDOBJECT 38 /* undocumented */ +#define SFVM_GETEXTVIEWS 40 /* undocumented */ +#define SFVM_GET_CUSTOMVIEWINFO 77 /* undocumented */ +#define SFVM_ENUMERATEDITEMS 79 /* undocumented */ +#define SFVM_GET_VIEW_DATA 80 /* undocumented */ +#define SFVM_GET_WEBVIEW_LAYOUT 82 /* undocumented */ +#define SFVM_GET_WEBVIEW_CONTENT 83 /* undocumented */ +#define SFVM_GET_WEBVIEW_TASKS 84 /* undocumented */ +#define SFVM_GET_WEBVIEW_THEME 86 /* undocumented */ +#define SFVM_GETDEFERREDVIEWSETTINGS 92 /* undocumented */ +#endif + +#define DUM_MSG_GetWindow 400 +#define DUM_MSG_ContextSensitiveHelp 401 +#define DUM_MSG_InsertMenusSB 402 +#define DUM_MSG_SetMenuSB 403 +#define DUM_MSG_RemoveMenusSB 404 +#define DUM_MSG_SetStatusTextSB 405 +#define DUM_MSG_EnableModelessSB 406 +#define DUM_MSG_TranslateAcceleratorSB 407 +#define DUM_MSG_BrowseObject 408 +#define DUM_MSG_GetViewStateStream 409 +#define DUM_MSG_GetControlWindow 410 +#define DUM_MSG_SendControlMsg 411 +#define DUM_MSG_QueryActiveShellView 412 +#define DUM_MSG_OnViewWindowActive 413 +#define DUM_MSG_SetToolbarItems 414 + + +const char* msg2str(UINT uMsg) +{ + static char buf[2][50]; + static int index = 0; + index ^= 1; + + switch (uMsg) + { + case SFVM_MERGEMENU: return "SFVM_MERGEMENU"; + case SFVM_INVOKECOMMAND: return "SFVM_INVOKECOMMAND"; + case SFVM_GETHELPTEXT: return "SFVM_GETHELPTEXT"; + case SFVM_GETTOOLTIPTEXT: return "SFVM_GETTOOLTIPTEXT"; + case SFVM_GETBUTTONINFO: return "SFVM_GETBUTTONINFO"; + case SFVM_GETBUTTONS: return "SFVM_GETBUTTONS"; + case SFVM_INITMENUPOPUP: return "SFVM_INITMENUPOPUP"; + case SFVM_SELECTIONCHANGED: return "SFVM_SELECTIONCHANGED"; + case SFVM_DRAWMENUITEM: return "SFVM_DRAWMENUITEM"; + case SFVM_MEASUREMENUITEM: return "SFVM_MEASUREMENUITEM"; + case SFVM_EXITMENULOOP: return "SFVM_EXITMENULOOP"; + case SFVM_VIEWRELEASE: return "SFVM_VIEWRELEASE"; + case SFVM_GETNAMELENGTH: return "SFVM_GETNAMELENGTH"; + case SFVM_FSNOTIFY: return "SFVM_FSNOTIFY"; + case SFVM_WINDOWCREATED: return "SFVM_WINDOWCREATED"; + case SFVM_WINDOWCLOSING: return "SFVM_WINDOWCLOSING"; + case SFVM_LISTREFRESHED: return "SFVM_LISTREFRESHED"; + case SFVM_WINDOWFOCUSED: return "SFVM_WINDOWFOCUSED"; + case SFVM_REGISTERCOPYHOOK: return "SFVM_REGISTERCOPYHOOK"; + case SFVM_COPYHOOKCALLBACK: return "SFVM_COPYHOOKCALLBACK"; + case SFVM_GETDETAILSOF: return "SFVM_GETDETAILSOF"; + case SFVM_COLUMNCLICK: return "SFVM_COLUMNCLICK"; + case SFVM_QUERYFSNOTIFY: return "SFVM_QUERYFSNOTIFY"; + case SFVM_DEFITEMCOUNT: return "SFVM_DEFITEMCOUNT"; + case SFVM_DEFVIEWMODE: return "SFVM_DEFVIEWMODE"; + case SFVM_UNMERGEFROMMENU: return "SFVM_UNMERGEFROMMENU"; + case SFVM_ADDINGOBJECT: return "SFVM_ADDINGOBJECT"; + case SFVM_REMOVINGOBJECT: return "SFVM_REMOVINGOBJECT"; + case SFVM_UPDATESTATUSBAR: return "SFVM_UPDATESTATUSBAR"; + case SFVM_BACKGROUNDENUM: return "SFVM_BACKGROUNDENUM"; + case SFVM_GETCOMMANDDIR: return "SFVM_GETCOMMANDDIR"; + case SFVM_GETCOLUMNSTREAM: return "SFVM_GETCOLUMNSTREAM"; + case SFVM_CANSELECTALL: return "SFVM_CANSELECTALL"; + case SFVM_DIDDRAGDROP: return "SFVM_DIDDRAGDROP"; + case SFVM_ISSTRICTREFRESH: return "SFVM_ISSTRICTREFRESH"; + case SFVM_ISCHILDOBJECT: return "SFVM_ISCHILDOBJECT"; + case SFVM_SETISFV: return "SFVM_SETISFV"; + case SFVM_GETEXTVIEWS: return "SFVM_GETEXTVIEWS"; + case SFVM_THISIDLIST: return "SFVM_THISIDLIST"; + case SFVM_ADDPROPERTYPAGES: return "SFVM_ADDPROPERTYPAGES"; + case SFVM_BACKGROUNDENUMDONE: return "SFVM_BACKGROUNDENUMDONE"; + case SFVM_GETNOTIFY: return "SFVM_GETNOTIFY"; + case SFVM_GETSORTDEFAULTS: return "SFVM_GETSORTDEFAULTS"; + case SFVM_SIZE: return "SFVM_SIZE"; + case SFVM_GETZONE: return "SFVM_GETZONE"; + case SFVM_GETPANE: return "SFVM_GETPANE"; + case SFVM_GETHELPTOPIC: return "SFVM_GETHELPTOPIC"; + case SFVM_GETANIMATION: return "SFVM_GETANIMATION"; + case SFVM_GET_CUSTOMVIEWINFO: return "SFVM_GET_CUSTOMVIEWINFO"; + case SFVM_ENUMERATEDITEMS: return "SFVM_ENUMERATEDITEMS"; + case SFVM_GET_VIEW_DATA: return "SFVM_GET_VIEW_DATA"; + case SFVM_GET_WEBVIEW_LAYOUT: return "SFVM_GET_WEBVIEW_LAYOUT"; + case SFVM_GET_WEBVIEW_CONTENT: return "SFVM_GET_WEBVIEW_CONTENT"; + case SFVM_GET_WEBVIEW_TASKS: return "SFVM_GET_WEBVIEW_TASKS"; + case SFVM_GET_WEBVIEW_THEME: return "SFVM_GET_WEBVIEW_THEME"; + case SFVM_GETDEFERREDVIEWSETTINGS: return "SFVM_GET_WEBVIEW_THEME"; + + case DUM_MSG_GetWindow: return "|GetWindow|"; + case DUM_MSG_ContextSensitiveHelp: return "|ContextSensitiveHelp|"; + case DUM_MSG_InsertMenusSB: return "|InsertMenusSB|"; + case DUM_MSG_SetMenuSB: return "|SetMenuSB|"; + case DUM_MSG_RemoveMenusSB: return "|RemoveMenusSB|"; + case DUM_MSG_SetStatusTextSB: return "|SetStatusTextSB|"; + case DUM_MSG_EnableModelessSB: return "|EnableModelessSB|"; + case DUM_MSG_TranslateAcceleratorSB: return "|TranslateAcceleratorSB|"; + case DUM_MSG_BrowseObject: return "|BrowseObject|"; + case DUM_MSG_GetViewStateStream: return "|GetViewStateStream|"; + case DUM_MSG_GetControlWindow: return "|GetControlWindow|"; + case DUM_MSG_SendControlMsg: return "|SendControlMsg|"; + case DUM_MSG_QueryActiveShellView: return "|QueryActiveShellView|"; + case DUM_MSG_OnViewWindowActive: return "|OnViewWindowActive|"; + case DUM_MSG_SetToolbarItems: return "|SetToolbarItems|"; + default: + sprintf(buf[index], "[%u]", uMsg); + return buf[index]; + } +} + + +#define PTR_VALUE 0xf7f7f7f7 + +struct message +{ + message(UINT msg, WPARAM wp, LPARAM lp) : uMsg(msg), wParam(wp), lParam(lp) { ; } + + UINT uMsg; + WPARAM wParam; + LPARAM lParam; +}; + +CSimpleArray<message> g_Received; + +void clear_list() +{ + g_Received.RemoveAll(); +} + +void add_msg(UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + g_Received.Add(message(uMsg, wParam, lParam)); +} + +void print_list_(const CSimpleArray<message>& input, const char* file, int line) +{ + trace_(file, line)("Got list:\n"); + for (int n = 0; n < input.GetSize(); ++n) + { + const message& msg = input[n]; + trace_(file, line)("msg: %d(%s), wParam:0x%x, lParam:0x%lx\n", msg.uMsg, msg2str(msg.uMsg), msg.wParam, msg.lParam); + } + trace_(file, line)("End of list.\n"); +} + +void compare_list_(const CSimpleArray<message>& input, const message* compare, const char* file, int line) +{ + int input_item = 0; + int compare_item = 0; + LONG old_failures = winetest_get_failures(); + while (compare[compare_item].uMsg && input_item < input.GetSize()) + { + const message& inp = input[input_item]; + const message& cmp = compare[compare_item]; + if (cmp.uMsg == inp.uMsg) + { + if (cmp.lParam != (LPARAM)PTR_VALUE) + { + ok_(file, line)(cmp.lParam == inp.lParam, "Expected lParam to be 0x%lx, was 0x%lx for %i(%s)\n", + cmp.lParam, inp.lParam, compare_item, msg2str(cmp.uMsg)); + } + else + { + ok_(file, line)(inp.lParam != 0, "Expected lParam to be a pointer, was 0 for %i(%s)\n", + compare_item, msg2str(cmp.uMsg)); + } + if (cmp.wParam != PTR_VALUE) + { + ok_(file, line)(cmp.wParam == inp.wParam, "Expected wParam to be 0x%x, was 0x%x for %i(%s)\n", + cmp.wParam, inp.wParam, compare_item, msg2str(cmp.uMsg)); + } + else + { + ok_(file, line)(inp.wParam != 0, "Expected wParam to be a pointer, was 0 for %i(%s)\n", + compare_item, msg2str(cmp.uMsg)); + } + compare_item++; + } + else + { + /* We skip unknown items for now */ + } + + input_item++; + } + + while (compare[compare_item].uMsg) + { + ok_(file, line)(0, "Message %i(%s) not found\n", compare_item, msg2str(compare[compare_item].uMsg)); + compare_item++; + } + if (old_failures != winetest_get_failures()) + { + print_list_(input, file, line); + } +} + +#define compare_list(cmp) compare_list_(g_Received, cmp, __FILE__, __LINE__) +#define print_list() print_list_(g_Received, __FILE__, __LINE__) + + +LONG g_AddRef = 0; +LONG g_Release = 0; + +class CFolderViewCB : + public IShellFolderViewCB +{ +public: + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) + { + if (riid == IID_IShellFolderViewCB || riid == IID_IUnknown) + { + *ppvObject = this; + AddRef(); + return S_OK; + } + return E_NOINTERFACE; + } + virtual ULONG STDMETHODCALLTYPE AddRef(void) + { + InterlockedIncrement(&g_AddRef); + return 2; + } + virtual ULONG STDMETHODCALLTYPE Release(void) + { + InterlockedIncrement(&g_Release); + return 1; + } + virtual HRESULT STDMETHODCALLTYPE MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam) + { + //DbgPrint("MessageSFVCB(uMsg:%s, wParam:%u, lParam:%u\n", msg2str(uMsg), wParam, lParam); + add_msg(uMsg, wParam, lParam); + return E_NOTIMPL; + } +}; + + +static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + if (msg == WM_DESTROY) + { + PostQuitMessage(0); + return 0; + } + return DefWindowProc(hwnd, msg, wParam, lParam); +} + + +class CDummyShellBrowser : public IShellBrowser +{ +public: + HWND m_hwnd; + CDummyShellBrowser() + { + static const TCHAR* class_name = TEXT("DUMMY_TEST_CLASS"); + WNDCLASSEX wx = {}; + wx.cbSize = sizeof(WNDCLASSEX); + wx.lpfnWndProc = WndProc; + wx.hInstance = GetModuleHandle(NULL); + wx.lpszClassName = class_name; + wx.style = CS_DBLCLKS; + RegisterClassEx(&wx); + m_hwnd = CreateWindowEx(0, class_name, TEXT("dummy_name"), WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL, NULL, NULL); + ShowWindow(m_hwnd, SW_SHOW); + } + + // *** IUnknown methods *** + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) + { + if (riid == IID_IShellBrowser || riid == IID_IUnknown) + { + *ppvObject = this; + return S_OK; + } + return E_NOINTERFACE; + } + virtual ULONG STDMETHODCALLTYPE AddRef(void) + { + return 2; + } + virtual ULONG STDMETHODCALLTYPE Release(void) + { + return 1; + } + + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd) + { + //DbgPrint("%s()\n", __FUNCTION__); + *phwnd = m_hwnd; + add_msg(DUM_MSG_GetWindow, NULL, NULL); + return S_OK; + } + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_ContextSensitiveHelp, NULL, NULL); + return E_NOTIMPL; + } + + // *** IShellBrowser methods *** + virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_InsertMenusSB, NULL, NULL); + return S_OK; + } + virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_SetMenuSB, NULL, NULL); + return S_OK; + } + virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_RemoveMenusSB, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(LPCWSTR pszStatusText) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_SetStatusTextSB, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(BOOL fEnable) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_EnableModelessSB, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(MSG *pmsg, WORD wID) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_TranslateAcceleratorSB, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE BrowseObject(PCUIDLIST_RELATIVE pidl,UINT wFlags) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_BrowseObject, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(DWORD grfMode,IStream **ppStrm) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_GetViewStateStream, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id,HWND *phwnd) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_GetControlWindow, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_SendControlMsg, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(IShellView **ppshv) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_QueryActiveShellView, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(IShellView *pshv) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_OnViewWindowActive, NULL, NULL); + return E_NOTIMPL; + } + virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) + { + //DbgPrint("%s()\n", __FUNCTION__); + add_msg(DUM_MSG_SetToolbarItems, NULL, NULL); + return E_NOTIMPL; + } +}; + + +START_TEST(IShellFolderViewCB) +{ + RTL_OSVERSIONINFOEXW rtlinfo = { sizeof(rtlinfo) }; + void (__stdcall* pRtlGetVersion)(RTL_OSVERSIONINFOEXW*); + pRtlGetVersion = (void (__stdcall*)(RTL_OSVERSIONINFOEXW*))GetProcAddress(GetModuleHandleA("ntdll"), "RtlGetVersion"); + pRtlGetVersion(&rtlinfo); + g_WinVersion = (rtlinfo.dwMajorVersion << 8) | rtlinfo.dwMinorVersion; + + CoInitialize(NULL); + CFolderViewCB cb; + + CComPtr<IShellFolder> desktop; + + HRESULT hr = SHGetDesktopFolder(&desktop); + ok_hex(hr, S_OK); + if (!desktop) + return; + + SFV_CREATE sfvc = { sizeof(sfvc), desktop }; + sfvc.psfvcb = &cb; + IShellView* psv = NULL; + + g_AddRef = 0; + g_Release = 0; + + hr = SHCreateShellFolderView(&sfvc, &psv); + ok_hex(hr, S_OK); + if (!SUCCEEDED(hr)) + return; + + ok_int(g_AddRef, 2); + ok_int(g_Release, 0); + + clear_list(); + + HWND wnd; + RECT rc = { 0 }; + FOLDERSETTINGS fs = { FVM_DETAILS, 0 }; + CDummyShellBrowser dum; + hr = psv->CreateViewWindow(NULL, &fs, &dum, &rc, &wnd); + + + static message init_list[] = + { + /* ... */ + message(DUM_MSG_GetWindow, 0, 0), + /* Some unknown messages here, and multiple SFVM_GET_WEBVIEW_THEME + SFVM_GETSORTDEFAULTS + SFVM_GETCOLUMNSTREAM */ + message(SFVM_SIZE, 0, 0), + /* ... */ + message(DUM_MSG_InsertMenusSB, 0, 0), + message(SFVM_MERGEMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + /* ... */ + message(SFVM_WINDOWCREATED, PTR_VALUE, 0), + /* ... */ + + message(SFVM_GETBUTTONINFO, 0, PTR_VALUE), + message(SFVM_GETBUTTONS, PTR_VALUE, PTR_VALUE), + message(DUM_MSG_SetToolbarItems, 0, 0), + + message(0, 0, 0) + }; + + + static message init_list_vista[] = + { + /* Some unknown messages here */ + message(DUM_MSG_GetWindow, 0, 0), + /* Some unknown messages here, and multiple SFVM_GET_WEBVIEW_THEME + SFVM_GETSORTDEFAULTS + SFVM_GETCOLUMNSTREAM */ + message(SFVM_SIZE, 0, 0), + message(SFVM_WINDOWCREATED, PTR_VALUE, 0), + /* Some unknown messages here */ + message(DUM_MSG_InsertMenusSB, 0, 0), + message(SFVM_MERGEMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + + message(0, 0, 0) + }; + + if (g_WinVersion < WINVER_VISTA) + { + compare_list(init_list); + } + else + { + compare_list(init_list_vista); + } + clear_list(); + + hr = psv->Refresh(); + //ok_hex(hr, S_FALSE); + + static message refresh_list[] = + { + message(SFVM_LISTREFRESHED, 1, 0), + + message(SFVM_UNMERGEFROMMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + message(DUM_MSG_RemoveMenusSB, 0, 0), + message(DUM_MSG_InsertMenusSB, 0, 0), + message(SFVM_MERGEMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + + message(0, 0, 0) + }; + + static message refresh_list_vista[] = + { + message(SFVM_LISTREFRESHED, 1, 0), + + message(SFVM_UNMERGEFROMMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + message(DUM_MSG_RemoveMenusSB, 0, 0), + message(DUM_MSG_InsertMenusSB, 0, 0), + message(SFVM_MERGEMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + /* Some messages here, like SFVM_GET_WEBVIEW_THEME, SFVM_GETSORTDEFAULTS, SFVM_GETCOLUMNSTREAM */ + message(SFVM_UNMERGEFROMMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + message(DUM_MSG_RemoveMenusSB, 0, 0), + message(DUM_MSG_InsertMenusSB, 0, 0), + message(SFVM_MERGEMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + + message(0, 0, 0) + }; + + if (g_WinVersion < WINVER_VISTA) + { + compare_list(refresh_list); + } + else + { + compare_list(refresh_list_vista); + } + clear_list(); + + hr = psv->DestroyViewWindow(); + + static message destroy_list[] = + { + message(SFVM_UNMERGEFROMMENU, 0, PTR_VALUE), + message(DUM_MSG_SetMenuSB, 0, 0), + message(DUM_MSG_RemoveMenusSB, 0, 0), + message(SFVM_WINDOWCLOSING, PTR_VALUE, 0), + + message(0, 0, 0) + }; + + compare_list(destroy_list); + clear_list(); + + CComPtr<IShellFolderView> folderView; + hr = psv->QueryInterface(IID_PPV_ARG(IShellFolderView, &folderView)); + ok_hex(hr, S_OK); + if (SUCCEEDED(hr)) + { + IShellFolderViewCB* oldPtr; + + g_AddRef = 0; + g_Release = 0; + + hr = folderView->SetCallback(NULL, &oldPtr); + ok_int(g_AddRef, 0); + ok_int(g_Release, 0); + + g_AddRef = 0; + g_Release = 0; + + /* Last pointer is not optional! */ + IShellFolderViewCB* oldPtr2; + hr = folderView->SetCallback(oldPtr, &oldPtr2); + ok_int(g_AddRef, 1); + ok_int(g_Release, 0); + } + + + ULONG refCount = psv->Release(); + ok(refCount == 0, "refCount = %lu\n", refCount); + + static message release_list[] = + { + message(SFVM_VIEWRELEASE, 0, 0), + + message(0, 0, 0) + }; + + /* Investigate why this fails */ + if (refCount == 0) + { + compare_list(release_list); + } +} diff --git a/modules/rostests/apitests/shell32/testlist.c b/modules/rostests/apitests/shell32/testlist.c index 792bf49503..7db323ad99 100644 --- a/modules/rostests/apitests/shell32/testlist.c +++ b/modules/rostests/apitests/shell32/testlist.c @@ -10,6 +10,7 @@ extern void func_CMyComputer(void); extern void func_CShellDesktop(void); extern void func_CShellLink(void); extern void func_CUserNotification(void); +extern void func_IShellFolderViewCB(void); extern void func_menu(void); extern void func_PathResolve(void); extern void func_SHCreateFileExtractIconW(void); @@ -25,6 +26,7 @@ const struct test winetest_testlist[] = { "CShellDesktop", func_CShellDesktop }, { "CShellLink", func_CShellLink }, { "CUserNotification", func_CUserNotification }, + { "IShellFolderViewCB", func_IShellFolderViewCB }, { "menu", func_menu }, { "PathResolve", func_PathResolve }, { "SHCreateFileExtractIconW", func_SHCreateFileExtractIconW },
6 years, 8 months
1
0
0
0
← Newer
1
2
3
4
...
44
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Results per page:
10
25
50
100
200