From 0281bf63e60308057678a80051924d826d6e28fd Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 2 Oct 2010 16:09:32 +0000 Subject: [PATCH] [CMAKE] - Improve the unicode situation. - Apply a consistent formatting. - Improve the unicode modules we have so far. - Get rid of some rbuildism. - Overall improvements. svn path=/branches/cmake-bringup/; revision=48964 --- base/applications/cacls/CMakeLists.txt | 11 +-- base/applications/calc/CMakeLists.txt | 6 +- base/applications/charmap/CMakeLists.txt | 7 +- .../cmdutils/dbgprint/CMakeLists.txt | 6 +- .../cmdutils/doskey/CMakeLists.txt | 10 +-- .../applications/cmdutils/find/CMakeLists.txt | 10 +-- .../cmdutils/hostname/CMakeLists.txt | 10 +-- .../cmdutils/lodctr/CMakeLists.txt | 8 +- .../applications/cmdutils/more/CMakeLists.txt | 10 +-- base/applications/cmdutils/reg/CMakeLists.txt | 12 ++- .../cmdutils/xcopy/CMakeLists.txt | 12 ++- base/applications/control/CMakeLists.txt | 9 +- base/applications/extrac32/CMakeLists.txt | 9 +- base/applications/fontview/CMakeLists.txt | 5 +- .../games/solitaire/CMakeLists.txt | 9 +- .../games/winemine/CMakeLists.txt | 12 +-- base/applications/hh/CMakeLists.txt | 9 +- base/applications/iexplore/CMakeLists.txt | 9 +- base/shell/cmd/CMakeLists.txt | 15 ++-- base/shell/explorer/CMakeLists.txt | 14 ++- dll/directx/ksuser/CMakeLists.txt | 2 +- dll/win32/acledit/CMakeLists.txt | 22 +++-- dll/win32/aclui/CMakeLists.txt | 5 +- dll/win32/activeds/CMakeLists.txt | 2 +- dll/win32/advpack/CMakeLists.txt | 2 +- dll/win32/authz/CMakeLists.txt | 2 +- dll/win32/wdmaud.drv/CMakeLists.txt | 22 ++--- dll/win32/windowscodecs/CMakeLists.txt | 14 +-- dll/win32/winemp3.acm/CMakeLists.txt | 26 ++++++ dll/win32/winhttp/CMakeLists.txt | 2 +- dll/win32/wininet/CMakeLists.txt | 8 +- dll/win32/winmm/CMakeLists.txt | 2 +- dll/win32/winspool/CMakeLists.txt | 2 +- dll/win32/winsta/CMakeLists.txt | 2 +- dll/win32/wintrust/CMakeLists.txt | 4 +- dll/win32/wlanapi/CMakeLists.txt | 2 +- dll/win32/wldap32/CMakeLists.txt | 2 +- dll/win32/ws2_32/CMakeLists.txt | 2 +- dll/win32/ws2_32_new/CMakeLists.txt | 2 +- dll/win32/ws2help/CMakeLists.txt | 2 +- dll/win32/wshirda/CMakeLists.txt | 4 +- dll/win32/wshtcpip/CMakeLists.txt | 5 +- dll/win32/wsock32/CMakeLists.txt | 4 +- dll/win32/wtsapi32/CMakeLists.txt | 2 +- dll/win32/wuapi/CMakeLists.txt | 4 +- dll/win32/xinput1_1/CMakeLists.txt | 4 +- dll/win32/xinput1_2/CMakeLists.txt | 4 +- dll/win32/xinput1_3/CMakeLists.txt | 4 +- dll/win32/xinput9_1_0/CMakeLists.txt | 4 +- dll/win32/xmllite/CMakeLists.txt | 4 +- gcc.cmake | 85 +++++++++--------- importlibs/libcrypt32.a | Bin 0 -> 190172 bytes msc.cmake | 56 ++++++------ 53 files changed, 247 insertions(+), 253 deletions(-) create mode 100644 dll/win32/winemp3.acm/CMakeLists.txt create mode 100644 importlibs/libcrypt32.a diff --git a/base/applications/cacls/CMakeLists.txt b/base/applications/cacls/CMakeLists.txt index 0d09c6b566d..47ddfa11b00 100644 --- a/base/applications/cacls/CMakeLists.txt +++ b/base/applications/cacls/CMakeLists.txt @@ -1,7 +1,7 @@ -list(APPEND SOURCE - cacls.c - cacls.rc) +set_unicode() + +list(APPEND SOURCE cacls.c cacls.rc) add_executable(cacls ${CMAKE_CURRENT_BINARY_DIR}/cacls_precomp.h.gch @@ -9,8 +9,5 @@ add_executable(cacls add_pch(cacls ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) -set_unicode(cacls yes) - set_module_type(cacls win32cui) - -add_importlibs(cacls advapi32 ntdll user32 shell32 msvcrt) \ No newline at end of file +add_importlibs(cacls advapi32 user32 shell32 msvcrt) diff --git a/base/applications/calc/CMakeLists.txt b/base/applications/calc/CMakeLists.txt index 67fc3f9dbc5..b30dccbbec1 100644 --- a/base/applications/calc/CMakeLists.txt +++ b/base/applications/calc/CMakeLists.txt @@ -1,5 +1,6 @@ -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() + add_definitions(-DDISABLE_HTMLHELP_SUPPORT=1) add_executable(calc @@ -12,7 +13,4 @@ add_executable(calc resource.rc) set_module_type(calc win32gui) -set_unicode(calc yes) add_importlibs(calc advapi32 user32 gdi32 msvcrt) - -add_dependencies(calc psdk) diff --git a/base/applications/charmap/CMakeLists.txt b/base/applications/charmap/CMakeLists.txt index e6f22532fc5..b9501579c42 100644 --- a/base/applications/charmap/CMakeLists.txt +++ b/base/applications/charmap/CMakeLists.txt @@ -1,4 +1,6 @@ +set_unicode() + list(APPEND SOURCE about.c charmap.c @@ -12,8 +14,5 @@ add_executable(charmap add_pch(charmap ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) -set_unicode(charmap yes) - set_module_type(charmap win32gui) - -add_importlibs(charmap user32 gdi32 comctl32 msvcrt) \ No newline at end of file +add_importlibs(charmap user32 gdi32 comctl32 msvcrt) diff --git a/base/applications/cmdutils/dbgprint/CMakeLists.txt b/base/applications/cmdutils/dbgprint/CMakeLists.txt index aef0a8b84d5..0a9dd1af9b8 100644 --- a/base/applications/cmdutils/dbgprint/CMakeLists.txt +++ b/base/applications/cmdutils/dbgprint/CMakeLists.txt @@ -1,7 +1,5 @@ + add_executable(dbgprint dbgprint.c) set_module_type(dbgprint win32cui) - -set_unicode(dbgprint no) - -add_importlibs(dbgprint msvcrt) \ No newline at end of file +add_importlibs(dbgprint msvcrt) diff --git a/base/applications/cmdutils/doskey/CMakeLists.txt b/base/applications/cmdutils/doskey/CMakeLists.txt index 4bedb267745..5b52082df5f 100644 --- a/base/applications/cmdutils/doskey/CMakeLists.txt +++ b/base/applications/cmdutils/doskey/CMakeLists.txt @@ -1,9 +1,7 @@ -add_executable(doskey - doskey.c - doskey.rc) -set_module_type(doskey win32cui) +set_unicode() -set_unicode(doskey yes) +add_executable(doskey doskey.c doskey.rc) -add_importlibs(doskey user32 msvcrt) \ No newline at end of file +set_module_type(doskey win32cui) +add_importlibs(doskey user32 msvcrt) diff --git a/base/applications/cmdutils/find/CMakeLists.txt b/base/applications/cmdutils/find/CMakeLists.txt index c5e5e12c21c..db028672ca2 100644 --- a/base/applications/cmdutils/find/CMakeLists.txt +++ b/base/applications/cmdutils/find/CMakeLists.txt @@ -1,9 +1,5 @@ -add_executable(find - find.c - find.rc) -set_module_type(find win32cui) - -set_unicode(find no) +add_executable(find find.c find.rc) -add_importlibs(find user32 msvcrt) \ No newline at end of file +set_module_type(find win32cui) +add_importlibs(find user32 msvcrt) diff --git a/base/applications/cmdutils/hostname/CMakeLists.txt b/base/applications/cmdutils/hostname/CMakeLists.txt index 80f4d8d9f7e..a52cda03759 100644 --- a/base/applications/cmdutils/hostname/CMakeLists.txt +++ b/base/applications/cmdutils/hostname/CMakeLists.txt @@ -1,9 +1,5 @@ -add_executable(hostname - hostname.c - hostname.rc) -set_module_type(hostname win32cui) - -set_unicode(hostname no) +add_executable(hostname hostname.c hostname.rc) -add_importlibs(hostname msvcrt) \ No newline at end of file +set_module_type(hostname win32cui) +add_importlibs(hostname msvcrt) diff --git a/base/applications/cmdutils/lodctr/CMakeLists.txt b/base/applications/cmdutils/lodctr/CMakeLists.txt index b287b6c0cf3..c14d39fee7d 100644 --- a/base/applications/cmdutils/lodctr/CMakeLists.txt +++ b/base/applications/cmdutils/lodctr/CMakeLists.txt @@ -1,7 +1,7 @@ -add_executable(lodctr lodctr_main.c) -set_module_type(lodctr win32cui) +set_unicode() -set_unicode(lodctr yes) +add_executable(lodctr lodctr_main.c) -add_importlibs(lodctr loadperf msvcrt) \ No newline at end of file +set_module_type(lodctr win32cui) +add_importlibs(lodctr loadperf msvcrt) diff --git a/base/applications/cmdutils/more/CMakeLists.txt b/base/applications/cmdutils/more/CMakeLists.txt index e16407344d7..08ff4863a91 100644 --- a/base/applications/cmdutils/more/CMakeLists.txt +++ b/base/applications/cmdutils/more/CMakeLists.txt @@ -1,9 +1,5 @@ -add_executable(more - more.c - more.rc) -set_module_type(more win32cui) - -set_unicode(more no) +add_executable(more more.c more.rc) -add_importlibs(more ntdll user32 msvcrt) \ No newline at end of file +set_module_type(more win32cui) +add_importlibs(more user32 msvcrt) diff --git a/base/applications/cmdutils/reg/CMakeLists.txt b/base/applications/cmdutils/reg/CMakeLists.txt index d3ad12dba47..7a218f875a5 100644 --- a/base/applications/cmdutils/reg/CMakeLists.txt +++ b/base/applications/cmdutils/reg/CMakeLists.txt @@ -1,12 +1,10 @@ + +set_unicode() + remove_definitions(-D_WIN32_WINNT=0x502) add_definitions(-D_WIN32_WINNT=0x600) -add_executable(reg - reg.c - rsrc.rc) +add_executable(reg reg.c rsrc.rc) set_module_type(reg win32cui) - -set_unicode(reg yes) - -add_importlibs(reg advapi32 user32 msvcrt) \ No newline at end of file +add_importlibs(reg advapi32 user32 msvcrt) diff --git a/base/applications/cmdutils/xcopy/CMakeLists.txt b/base/applications/cmdutils/xcopy/CMakeLists.txt index 26614d3428d..393eb06de2e 100644 --- a/base/applications/cmdutils/xcopy/CMakeLists.txt +++ b/base/applications/cmdutils/xcopy/CMakeLists.txt @@ -1,11 +1,9 @@ -add_executable(xcopy - xcopy.c - rsrc.rc) -set_module_type(xcopy win32cui) +set_unicode() -set_unicode(xcopy yes) +add_executable(xcopy xcopy.c rsrc.rc) -add_importlibs(xcopy shell32 user32 msvcrt ntdll) +target_link_libraries(xcopy wine) -target_link_libraries(xcopy wine) \ No newline at end of file +set_module_type(xcopy win32cui) +add_importlibs(xcopy shell32 user32 msvcrt) diff --git a/base/applications/control/CMakeLists.txt b/base/applications/control/CMakeLists.txt index 6e4a2db206b..a54569475a7 100644 --- a/base/applications/control/CMakeLists.txt +++ b/base/applications/control/CMakeLists.txt @@ -1,10 +1,7 @@ -add_executable(control - control.c - control.rc) +set_unicode() -set_unicode(control yes) +add_executable(control control.c control.rc) set_module_type(control win32gui) - -add_importlibs(control advapi32 shell32 kernel32 msvcrt) \ No newline at end of file +add_importlibs(control advapi32 shell32 msvcrt) diff --git a/base/applications/extrac32/CMakeLists.txt b/base/applications/extrac32/CMakeLists.txt index 7f5f58ed448..edc4205fad6 100644 --- a/base/applications/extrac32/CMakeLists.txt +++ b/base/applications/extrac32/CMakeLists.txt @@ -1,10 +1,9 @@ -add_executable(extrac32 extrac32.c) - -set_unicode(extrac32 yes) +set_unicode() -set_module_type(extrac32 win32gui) +add_executable(extrac32 extrac32.c) target_link_libraries(extrac32 wine) -add_importlibs(extrac32 ntdll shell32 setupapi shlwapi user32 msvcrt) \ No newline at end of file +set_module_type(extrac32 win32gui) +add_importlibs(extrac32 shell32 setupapi shlwapi user32 msvcrt) diff --git a/base/applications/fontview/CMakeLists.txt b/base/applications/fontview/CMakeLists.txt index f2557f85259..56adb0f0b15 100644 --- a/base/applications/fontview/CMakeLists.txt +++ b/base/applications/fontview/CMakeLists.txt @@ -4,8 +4,5 @@ add_executable(fontview fontview.c fontview.rc) -set_unicode(fontview no) - set_module_type(fontview win32gui) - -add_importlibs(fontview gdi32 shell32 user32 msvcrt) \ No newline at end of file +add_importlibs(fontview gdi32 shell32 user32 msvcrt) diff --git a/base/applications/games/solitaire/CMakeLists.txt b/base/applications/games/solitaire/CMakeLists.txt index e41b5036c0f..fc41803bfcf 100644 --- a/base/applications/games/solitaire/CMakeLists.txt +++ b/base/applications/games/solitaire/CMakeLists.txt @@ -1,4 +1,6 @@ +set_unicode() + include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib) add_executable(sol @@ -7,10 +9,7 @@ add_executable(sol solitaire.cpp rsrc.rc) -set_unicode(sol yes) - -set_module_type(sol win32gui) - target_link_libraries(sol cardlib) -add_importlibs(sol advapi32 comctl32 user32 gdi32 stdc++ gcc mingw32 msvcrt) \ No newline at end of file +set_module_type(sol win32gui) +add_importlibs(sol advapi32 comctl32 user32 gdi32 stdc++ gcc mingw32 msvcrt) diff --git a/base/applications/games/winemine/CMakeLists.txt b/base/applications/games/winemine/CMakeLists.txt index 67fc9ae8ba0..2d19c3e89ac 100644 --- a/base/applications/games/winemine/CMakeLists.txt +++ b/base/applications/games/winemine/CMakeLists.txt @@ -1,14 +1,14 @@ +set_unicode() + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +set_rc_compiler() add_executable(winemine main.c dialog.c rsrc.rc) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -set_unicode(winemine yes) - set_module_type(winemine win32gui) -set_rc_compiler() - -add_importlibs(winemine user32 gdi32 advapi32 shell32 msvcrt) \ No newline at end of file +add_importlibs(winemine user32 gdi32 advapi32 shell32 msvcrt) diff --git a/base/applications/hh/CMakeLists.txt b/base/applications/hh/CMakeLists.txt index 5c8ed534f42..bad7365f7c2 100644 --- a/base/applications/hh/CMakeLists.txt +++ b/base/applications/hh/CMakeLists.txt @@ -1,10 +1,5 @@ -add_executable(hh - main.c - hh.rc) - -set_unicode(hh no) +add_executable(hh main.c hh.rc) set_module_type(hh win32gui) - -add_importlibs(hh gdi32 user32 msvcrt) \ No newline at end of file +add_importlibs(hh gdi32 user32 msvcrt) diff --git a/base/applications/iexplore/CMakeLists.txt b/base/applications/iexplore/CMakeLists.txt index 63b30560a79..eff630e3da2 100644 --- a/base/applications/iexplore/CMakeLists.txt +++ b/base/applications/iexplore/CMakeLists.txt @@ -1,10 +1,5 @@ -add_executable(iexplore - main.c - iexplore.rc) - -set_unicode(iexplore no) +add_executable(iexplore main.c iexplore.rc) set_module_type(iexplore win32gui) - -add_importlibs(iexplore shdocvw msvcrt) \ No newline at end of file +add_importlibs(iexplore shdocvw msvcrt) diff --git a/base/shell/cmd/CMakeLists.txt b/base/shell/cmd/CMakeLists.txt index d2492e09d85..4f89797db8e 100644 --- a/base/shell/cmd/CMakeLists.txt +++ b/base/shell/cmd/CMakeLists.txt @@ -1,13 +1,12 @@ -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) + +set_unicode() add_definitions(-DANONYMOUSUNIONS) add_definitions(-D_DEBUG_MEM) -list(APPEND SOURCE - cmd.rc - main.c) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -add_pch(cmd ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h SOURCE) +list(APPEND SOURCE main.c cmd.rc) list(APPEND SOURCE alias.c @@ -71,7 +70,9 @@ list(APPEND SOURCE window.c) add_executable(cmd ${CMAKE_CURRENT_BINARY_DIR}/cmd_precomp.h.gch ${SOURCE}) + +target_link_libraries(cmd wine) + +add_pch(cmd ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h SOURCE) set_module_type(cmd win32cui) -set_unicode(cmd yes) -target_link_libraries(cmd oldnames wine) add_importlibs(cmd advapi32 user32 msvcrt) \ No newline at end of file diff --git a/base/shell/explorer/CMakeLists.txt b/base/shell/explorer/CMakeLists.txt index 9fe02900e3f..54594c1c3f7 100644 --- a/base/shell/explorer/CMakeLists.txt +++ b/base/shell/explorer/CMakeLists.txt @@ -1,6 +1,8 @@ + add_subdirectory(notifyhook) -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() + add_definitions(-DWIN32) add_definitions(-D__WINDRES__) @@ -46,16 +48,12 @@ list(APPEND SOURCE add_executable(explorer ${SOURCE}) #${CMAKE_CURRENT_BINARY_DIR}/explorer_precomp.h.gch ${SOURCE}) -set_module_type(explorer win32gui) - target_link_libraries(explorer - mingw_wmain - mingw_common - coldname - oldnames wine uuid) - + +set_module_type(explorer win32gui) + add_importlibs(explorer advapi32 gdi32 diff --git a/dll/directx/ksuser/CMakeLists.txt b/dll/directx/ksuser/CMakeLists.txt index a367b479758..8160b830cfd 100644 --- a/dll/directx/ksuser/CMakeLists.txt +++ b/dll/directx/ksuser/CMakeLists.txt @@ -7,5 +7,5 @@ set_module_type(ksuser win32dll) target_link_libraries(ksuser ${CMAKE_CURRENT_BINARY_DIR}/ksuser.def) -add_importlibs(ksuser ntdll advapi32) +add_importlibs(ksuser advapi32 kernel32 ntdll) add_dependencies(ksuser ksuser_def psdk bugcodes) diff --git a/dll/win32/acledit/CMakeLists.txt b/dll/win32/acledit/CMakeLists.txt index 65983d79719..abd37c6a013 100644 --- a/dll/win32/acledit/CMakeLists.txt +++ b/dll/win32/acledit/CMakeLists.txt @@ -1,20 +1,18 @@ +set_unicode() - -add_definitions(-DUNICODE -D_UNICODE) - -file(GLOB_RECURSE SOURCE *.c) +list(APPEND SOURCE + acledit.c + stubs.c + acledit.rc) spec2def(acledit ${CMAKE_CURRENT_SOURCE_DIR}/acledit.spec ${CMAKE_CURRENT_BINARY_DIR}/acledit.def) -add_library(acledit SHARED - ${SOURCE} - ${CMAKE_CURRENT_SOURCE_DIR}/acledit.rc) +add_library(acledit SHARED ${SOURCE}) -set_target_properties(acledit PROPERTIES LINK_FLAGS "-Wl,-entry,_DllMain@12") +set_module_type(acledit win32dll) -target_link_libraries(acledit - ${CMAKE_CURRENT_BINARY_DIR}/acledit.def - -lntdll) +target_link_libraries(acledit ${CMAKE_CURRENT_BINARY_DIR}/acledit.def) +add_importlibs(acledit ntdll) -add_dependencies(acledit acledit_def psdk buildno_header) +add_dependencies(acledit acledit_def) diff --git a/dll/win32/aclui/CMakeLists.txt b/dll/win32/aclui/CMakeLists.txt index ec3ff245b52..3887d5893c5 100644 --- a/dll/win32/aclui/CMakeLists.txt +++ b/dll/win32/aclui/CMakeLists.txt @@ -1,7 +1,6 @@ +set_unicode() - -add_definitions(-DUNICODE -D_UNICODE) add_definitions(-DSUPPORT_UXTHEME) file(GLOB_RECURSE SOURCE *.c) @@ -28,4 +27,4 @@ target_link_libraries(aclui -lntdll) add_pch(aclui ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) -add_dependencies(aclui aclui_def psdk) +add_dependencies(aclui aclui_def psdk buildno_header) diff --git a/dll/win32/activeds/CMakeLists.txt b/dll/win32/activeds/CMakeLists.txt index a1d1fcb2e6b..059ac2bf8e2 100644 --- a/dll/win32/activeds/CMakeLists.txt +++ b/dll/win32/activeds/CMakeLists.txt @@ -16,4 +16,4 @@ target_link_libraries(activeds wine mingw_common) -add_dependencies(activeds activeds_def psdk) +add_dependencies(activeds activeds_def psdk buildno_header) diff --git a/dll/win32/advpack/CMakeLists.txt b/dll/win32/advpack/CMakeLists.txt index b3cb941f461..b903eceac26 100644 --- a/dll/win32/advpack/CMakeLists.txt +++ b/dll/win32/advpack/CMakeLists.txt @@ -22,4 +22,4 @@ target_link_libraries(advpack -lversion -ladvapi32) -add_dependencies(advpack advpack_def psdk) +add_dependencies(advpack advpack_def psdk buildno_header) diff --git a/dll/win32/authz/CMakeLists.txt b/dll/win32/authz/CMakeLists.txt index 4c2a62eafe9..aab7f59aaed 100644 --- a/dll/win32/authz/CMakeLists.txt +++ b/dll/win32/authz/CMakeLists.txt @@ -21,4 +21,4 @@ target_link_libraries(authz -lntdll) add_pch(authz ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE}) -add_dependencies(authz authz_def psdk) +add_dependencies(authz authz_def psdk buildno_header) diff --git a/dll/win32/wdmaud.drv/CMakeLists.txt b/dll/win32/wdmaud.drv/CMakeLists.txt index 2432cf43b86..fb3d962bde2 100644 --- a/dll/win32/wdmaud.drv/CMakeLists.txt +++ b/dll/win32/wdmaud.drv/CMakeLists.txt @@ -1,16 +1,18 @@ -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() + add_definitions(-DNDEBUG=1) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/sound) -include_directories(${REACTOS_SOURCE_DIR}/drivers/wdm/audio/legacy/wdmaud) -include_directories(${REACTOS_SOURCE_DIR}/lib/drivers/sound/mmixer) -include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/libsamplerate) +include_directories( + ${REACTOS_SOURCE_DIR}/include/reactos/libs/sound + ${REACTOS_SOURCE_DIR}/drivers/wdm/audio/legacy/wdmaud + ${REACTOS_SOURCE_DIR}/lib/drivers/sound/mmixer + ${REACTOS_SOURCE_DIR}/lib/3rdparty/libsamplerate) + +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def + COMMAND native-winebuild -o ${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def --def -E ${CMAKE_CURRENT_SOURCE_DIR}/wdmaud.spec --filename wdmaud.drv + DEPENDS native-winebuild) -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def - COMMAND native-winebuild -o ${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def --def -E ${CMAKE_CURRENT_SOURCE_DIR}/wdmaud.spec --filename wdmaud.drv - DEPENDS native-winebuild) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def PROPERTIES GENERATED TRUE) add_custom_target(wdmaud.drv_def ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/wdmaud.drv.def) @@ -30,5 +32,5 @@ target_link_libraries(wdmaud.drv libsamplerate mmixer) -add_importlibs(wdmaud.drv ntdll user32 winmm advapi32 msvcrt setupapi ksuser) +add_importlibs(wdmaud.drv user32 winmm advapi32 msvcrt setupapi ksuser kernel32 ntdll) add_dependencies(wdmaud.drv wdmaud.drv_def psdk) diff --git a/dll/win32/windowscodecs/CMakeLists.txt b/dll/win32/windowscodecs/CMakeLists.txt index 50f9666c4a9..657574e863b 100644 --- a/dll/win32/windowscodecs/CMakeLists.txt +++ b/dll/win32/windowscodecs/CMakeLists.txt @@ -1,13 +1,15 @@ add_definitions(-D__WINESRC__) + remove_definitions(-D_WIN32_WINNT=0x502) add_definitions(-D_WIN32_WINNT=0x600) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/zlib) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libpng) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libtiff) +include_directories( + ${REACTOS_SOURCE_DIR}/include/reactos/wine + ${REACTOS_SOURCE_DIR}/include/reactos/libs/libjpeg + ${REACTOS_SOURCE_DIR}/include/reactos/libs/zlib + ${REACTOS_SOURCE_DIR}/include/reactos/libs/libpng + ${REACTOS_SOURCE_DIR}/include/reactos/libs/libtiff) spec2def(windowscodecs ${CMAKE_CURRENT_SOURCE_DIR}/windowscodecs.spec ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs.def) @@ -38,5 +40,5 @@ target_link_libraries(windowscodecs ${CMAKE_CURRENT_BINARY_DIR}/windowscodecs.def wine) -add_importlibs(windowscodecs msvcrt uuid ole32 shlwapi advapi32) +add_importlibs(windowscodecs uuid ole32 shlwapi advapi32 msvcrt kernel32 ntdll) add_dependencies(windowscodecs windowscodecs_def psdk) diff --git a/dll/win32/winemp3.acm/CMakeLists.txt b/dll/win32/winemp3.acm/CMakeLists.txt new file mode 100644 index 00000000000..057afc92763 --- /dev/null +++ b/dll/win32/winemp3.acm/CMakeLists.txt @@ -0,0 +1,26 @@ + +add_definitions(-D_DLL -D__USE_CRTIMP) +add_definitions(-D__WINESRC__ -DWIN32) + +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libmpg123) + +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/winemp3.acm.def + COMMAND native-winebuild -o ${CMAKE_CURRENT_BINARY_DIR}/winemp3.acm.def --def -E ${CMAKE_CURRENT_SOURCE_DIR}/winemp3.acm.spec --filename winemp3.acm + DEPENDS native-winebuild) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/winemp3.acm.def PROPERTIES GENERATED TRUE) +add_custom_target(winemp3.acm_def ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/winemp3.acm.def) + +add_library(winemp3.acm SHARED mpegl3.c) + +set_target_properties(winemp3.acm PROPERTIES LINK_FLAGS "-Wl,-entry,0" SUFFIX "") + +target_link_libraries(winemp3.acm + ${CMAKE_CURRENT_BINARY_DIR}/winemp3.acm.def + mingw_common + wine + mpg123) + +add_importlibs(winemp3.acm msvcrt winmm user32) +add_dependencies(winemp3.acm winemp3.acm_def psdk) diff --git a/dll/win32/winhttp/CMakeLists.txt b/dll/win32/winhttp/CMakeLists.txt index 4f8c1f6b9f9..d7702c9a445 100644 --- a/dll/win32/winhttp/CMakeLists.txt +++ b/dll/win32/winhttp/CMakeLists.txt @@ -20,5 +20,5 @@ target_link_libraries(winhttp ${CMAKE_CURRENT_BINARY_DIR}/winhttp.def wine) -add_importlibs(winhttp msvcrt shlwapi wininet ws2_32 ntdll) +add_importlibs(winhttp shlwapi wininet ws2_32 msvcrt kernel32 ntdll) add_dependencies(winhttp winhttp_def psdk) diff --git a/dll/win32/wininet/CMakeLists.txt b/dll/win32/wininet/CMakeLists.txt index 2f69325b5f4..9b847072c91 100644 --- a/dll/win32/wininet/CMakeLists.txt +++ b/dll/win32/wininet/CMakeLists.txt @@ -1,8 +1,10 @@ add_definitions(-D__WINESRC__ -D_WINE) +add_definitions(-Dclose=_close) -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) -include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/zlib) +include_directories( + ${REACTOS_SOURCE_DIR}/include/reactos/wine + ${REACTOS_SOURCE_DIR}/lib/3rdparty/zlib) spec2def(wininet ${CMAKE_CURRENT_SOURCE_DIR}/wininet.spec ${CMAKE_CURRENT_BINARY_DIR}/wininet.def) @@ -30,5 +32,5 @@ target_link_libraries(wininet zlib pseh) -add_importlibs(wininet msvcrt mpr shlwapi shell32 user32 advapi32 ntdll secur32 crypt32 ws2_32) +add_importlibs(wininet mpr shlwapi shell32 user32 advapi32 secur32 crypt32 ws2_32 msvcrt kernel32 ntdll) add_dependencies(wininet wininet_def psdk buildno_header) diff --git a/dll/win32/winmm/CMakeLists.txt b/dll/win32/winmm/CMakeLists.txt index 7fac90d561c..1f721189d10 100644 --- a/dll/win32/winmm/CMakeLists.txt +++ b/dll/win32/winmm/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(winmm wine pseh) -add_importlibs(winmm msvcrt ntdll advapi32 user32) +add_importlibs(winmm advapi32 user32 msvcrt kernel32 ntdll) add_dependencies(winmm winmm_def psdk) add_subdirectory(midimap) diff --git a/dll/win32/winspool/CMakeLists.txt b/dll/win32/winspool/CMakeLists.txt index 65febf37bd8..2036205c5d3 100644 --- a/dll/win32/winspool/CMakeLists.txt +++ b/dll/win32/winspool/CMakeLists.txt @@ -16,5 +16,5 @@ target_link_libraries(winspool ${CMAKE_CURRENT_BINARY_DIR}/winspool.def wine) -add_importlibs(winspool ntdll advapi32 shlwapi) +add_importlibs(winspool advapi32 shlwapi kernel32 ntdll) add_dependencies(winspool winspool_def psdk) diff --git a/dll/win32/winsta/CMakeLists.txt b/dll/win32/winsta/CMakeLists.txt index 5eba7b50fc7..d9adff77f97 100644 --- a/dll/win32/winsta/CMakeLists.txt +++ b/dll/win32/winsta/CMakeLists.txt @@ -21,6 +21,6 @@ target_link_libraries(winsta ${CMAKE_CURRENT_BINARY_DIR}/winsta.def wine) -add_importlibs(winsta ntdll) +add_importlibs(winsta kernel32 ntdll) add_pch(winsta ${CMAKE_CURRENT_SOURCE_DIR}/winsta.h ${SOURCE}) add_dependencies(winsta winsta_def psdk) diff --git a/dll/win32/wintrust/CMakeLists.txt b/dll/win32/wintrust/CMakeLists.txt index 7a07cb99401..5c5a4291b55 100644 --- a/dll/win32/wintrust/CMakeLists.txt +++ b/dll/win32/wintrust/CMakeLists.txt @@ -19,5 +19,5 @@ target_link_libraries(wintrust wine pseh) -add_importlibs(wintrust msvcrt crypt32 cryptui user32 advapi32 imagehlp ntdll) -add_dependencies(wintrust wintrust_def psdk) +add_importlibs(wintrust crypt32 cryptui user32 advapi32 imagehlp msvcrt kernel32 ntdll) +add_dependencies(wintrust wintrust_def psdk buildno_header) diff --git a/dll/win32/wlanapi/CMakeLists.txt b/dll/win32/wlanapi/CMakeLists.txt index 345dd2cfcaf..4f4e4e7f0f3 100644 --- a/dll/win32/wlanapi/CMakeLists.txt +++ b/dll/win32/wlanapi/CMakeLists.txt @@ -13,5 +13,5 @@ target_link_libraries(wlanapi wine pseh) -add_importlibs(wlanapi kernel32 rpcrt4 ntdll) +add_importlibs(wlanapi rpcrt4 kernel32 ntdll) add_dependencies(wlanapi wlanapi_def psdk) diff --git a/dll/win32/wldap32/CMakeLists.txt b/dll/win32/wldap32/CMakeLists.txt index ad71bc5d7ad..e9765f7bca4 100644 --- a/dll/win32/wldap32/CMakeLists.txt +++ b/dll/win32/wldap32/CMakeLists.txt @@ -33,5 +33,5 @@ target_link_libraries(wldap32 ${CMAKE_CURRENT_BINARY_DIR}/wldap32.def wine) -add_importlibs(wldap32 ntdll user32) +add_importlibs(wldap32 user32 kernel32 ntdll) add_dependencies(wldap32 wldap32_def psdk) diff --git a/dll/win32/ws2_32/CMakeLists.txt b/dll/win32/ws2_32/CMakeLists.txt index 3798b30a01e..61f8b87ed89 100644 --- a/dll/win32/ws2_32/CMakeLists.txt +++ b/dll/win32/ws2_32/CMakeLists.txt @@ -30,6 +30,6 @@ target_link_libraries(ws2_32 ${CMAKE_CURRENT_BINARY_DIR}/ws2_32.def wine) -add_importlibs(ws2_32 ntdll user32 advapi32 dnsapi ws2help) +add_importlibs(ws2_32 user32 advapi32 dnsapi ws2help kernel32 ntdll) add_pch(ws2_32 ${CMAKE_CURRENT_SOURCE_DIR}/include/ws2_32.h ${SOURCE}) add_dependencies(ws2_32 ws2_32_def psdk) diff --git a/dll/win32/ws2_32_new/CMakeLists.txt b/dll/win32/ws2_32_new/CMakeLists.txt index 654996527a9..e598b416ea2 100644 --- a/dll/win32/ws2_32_new/CMakeLists.txt +++ b/dll/win32/ws2_32_new/CMakeLists.txt @@ -51,5 +51,5 @@ target_link_libraries(ws2_32_new ${CMAKE_CURRENT_BINARY_DIR}/ws2_32_new.def wine) -add_importlibs(ws2_32_new ntdll user32 advapi32 dnsapi ws2help) +add_importlibs(ws2_32_new user32 advapi32 dnsapi ws2help kernel32 ntdll) add_dependencies(ws2_32_new ws2_32_new_def psdk) diff --git a/dll/win32/ws2help/CMakeLists.txt b/dll/win32/ws2help/CMakeLists.txt index cce5dd6e453..96dddc24c9b 100644 --- a/dll/win32/ws2help/CMakeLists.txt +++ b/dll/win32/ws2help/CMakeLists.txt @@ -13,5 +13,5 @@ add_library(ws2help SHARED set_module_type(ws2help win32dll) target_link_libraries(ws2help ${CMAKE_CURRENT_BINARY_DIR}/ws2help.def) -add_importlibs(ws2help advapi32 ntdll ws2_32) +add_importlibs(ws2help advapi32 ws2_32 kernel32 ntdll) add_dependencies(ws2help ws2help_def psdk) diff --git a/dll/win32/wshirda/CMakeLists.txt b/dll/win32/wshirda/CMakeLists.txt index adfddd74659..cf8b05ee034 100644 --- a/dll/win32/wshirda/CMakeLists.txt +++ b/dll/win32/wshirda/CMakeLists.txt @@ -1,5 +1,5 @@ -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() spec2def(wshirda ${CMAKE_CURRENT_SOURCE_DIR}/wshirda.spec ${CMAKE_CURRENT_BINARY_DIR}/wshirda.def) @@ -8,5 +8,5 @@ add_library(wshirda SHARED wshirda.c wshirda.rc) set_module_type(wshirda win32dll) target_link_libraries(wshirda ${CMAKE_CURRENT_BINARY_DIR}/wshirda.def) -add_importlibs(wshirda ntdll ws2_32) +add_importlibs(wshirda ws2_32 kernel32 ntdll) add_dependencies(wshirda wshirda_def psdk) diff --git a/dll/win32/wshtcpip/CMakeLists.txt b/dll/win32/wshtcpip/CMakeLists.txt index 84688a8d0c5..2a6a703adda 100644 --- a/dll/win32/wshtcpip/CMakeLists.txt +++ b/dll/win32/wshtcpip/CMakeLists.txt @@ -1,5 +1,6 @@ -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() + include_directories(${REACTOS_SOURCE_DIR}/lib/tdilib) spec2def(wshtcpip ${CMAKE_CURRENT_SOURCE_DIR}/wshtcpip.spec ${CMAKE_CURRENT_BINARY_DIR}/wshtcpip.def) @@ -12,5 +13,5 @@ target_link_libraries(wshtcpip ${CMAKE_CURRENT_BINARY_DIR}/wshtcpip.def tdilib) -add_importlibs(wshtcpip kernel32 ntdll ws2_32) +add_importlibs(wshtcpip kernel32 ws2_32 kernel32 ntdll) add_dependencies(wshtcpip wshtcpip_def psdk) diff --git a/dll/win32/wsock32/CMakeLists.txt b/dll/win32/wsock32/CMakeLists.txt index 1c65c3f0471..6cdf4be694d 100644 --- a/dll/win32/wsock32/CMakeLists.txt +++ b/dll/win32/wsock32/CMakeLists.txt @@ -1,10 +1,10 @@ -add_definitions(-DUNICODE -D_UNICODE) +set_unicode() add_library(wsock32 SHARED stubs.c wsock32.rc) set_module_type(wsock32 win32dll) target_link_libraries(wsock32 ${CMAKE_CURRENT_SOURCE_DIR}/wsock32.def) -add_importlibs(wsock32 ntdll ws2_32) +add_importlibs(wsock32 ws2_32 kernel32 ntdll) add_dependencies(wsock32 psdk) diff --git a/dll/win32/wtsapi32/CMakeLists.txt b/dll/win32/wtsapi32/CMakeLists.txt index 0d2c16f31e8..9e12995334b 100644 --- a/dll/win32/wtsapi32/CMakeLists.txt +++ b/dll/win32/wtsapi32/CMakeLists.txt @@ -12,5 +12,5 @@ target_link_libraries(wtsapi32 ${CMAKE_CURRENT_BINARY_DIR}/wtsapi32.def wine) -add_importlibs(wtsapi32 advapi32 ntdll) +add_importlibs(wtsapi32 advapi32 kernel32 ntdll) add_dependencies(wtsapi32 wtsapi32_def psdk) diff --git a/dll/win32/wuapi/CMakeLists.txt b/dll/win32/wuapi/CMakeLists.txt index 0cbea3b2ece..b5da9339fd1 100644 --- a/dll/win32/wuapi/CMakeLists.txt +++ b/dll/win32/wuapi/CMakeLists.txt @@ -23,5 +23,5 @@ target_link_libraries(wuapi ${CMAKE_CURRENT_BINARY_DIR}/wuapi.def wine) -add_importlibs(wuapi uuid ole32 advapi32 ntdll) -add_dependencies(wuapi wuapi_def psdk) +add_importlibs(wuapi uuid ole32 advapi32 kernel32 ntdll) +add_dependencies(wuapi wuapi_def psdk buildno_header) diff --git a/dll/win32/xinput1_1/CMakeLists.txt b/dll/win32/xinput1_1/CMakeLists.txt index 7271d6e9610..eabc8f88981 100644 --- a/dll/win32/xinput1_1/CMakeLists.txt +++ b/dll/win32/xinput1_1/CMakeLists.txt @@ -6,6 +6,8 @@ spec2def(xinput1_1 ${CMAKE_CURRENT_SOURCE_DIR}/xinput1_1.spec ${CMAKE_CURRENT_BI add_library(xinput1_1 SHARED xinput1_1_main.c version.rc) +add_importlibs(xinput1_1 kernel32) + set_module_type(xinput1_1 win32dll) target_link_libraries(xinput1_1 ${CMAKE_CURRENT_BINARY_DIR}/xinput1_1.def) -add_dependencies(xinput1_1 xinput1_1_def psdk) +add_dependencies(xinput1_1 xinput1_1_def psdk buildno_header) diff --git a/dll/win32/xinput1_2/CMakeLists.txt b/dll/win32/xinput1_2/CMakeLists.txt index 45d3f75b488..dffd03a1941 100644 --- a/dll/win32/xinput1_2/CMakeLists.txt +++ b/dll/win32/xinput1_2/CMakeLists.txt @@ -6,6 +6,8 @@ spec2def(xinput1_2 ${CMAKE_CURRENT_SOURCE_DIR}/xinput1_2.spec ${CMAKE_CURRENT_BI add_library(xinput1_2 SHARED xinput1_2_main.c version.rc) +add_importlibs(xinput1_2 kernel32) + set_module_type(xinput1_2 win32dll) target_link_libraries(xinput1_2 ${CMAKE_CURRENT_BINARY_DIR}/xinput1_2.def) -add_dependencies(xinput1_2 xinput1_2_def psdk) +add_dependencies(xinput1_2 xinput1_2_def psdk buildno_header) diff --git a/dll/win32/xinput1_3/CMakeLists.txt b/dll/win32/xinput1_3/CMakeLists.txt index 463928f7d42..92ec3d794db 100644 --- a/dll/win32/xinput1_3/CMakeLists.txt +++ b/dll/win32/xinput1_3/CMakeLists.txt @@ -12,4 +12,6 @@ target_link_libraries(xinput1_3 ${CMAKE_CURRENT_BINARY_DIR}/xinput1_3.def wine) -add_dependencies(xinput1_3 xinput1_3_def psdk) +add_importlibs(xinput1_3 msvcrt kernel32 ntdll) + +add_dependencies(xinput1_3 xinput1_3_def psdk buildno_header) diff --git a/dll/win32/xinput9_1_0/CMakeLists.txt b/dll/win32/xinput9_1_0/CMakeLists.txt index bd715ee6663..f59aa6102f4 100644 --- a/dll/win32/xinput9_1_0/CMakeLists.txt +++ b/dll/win32/xinput9_1_0/CMakeLists.txt @@ -6,6 +6,8 @@ spec2def(xinput9_1_0 ${CMAKE_CURRENT_SOURCE_DIR}/xinput9_1_0.spec ${CMAKE_CURREN add_library(xinput9_1_0 SHARED xinput9_1_0_main.c version.rc) +add_importlibs(xinput9_1_0 kernel32) + set_module_type(xinput9_1_0 win32dll) target_link_libraries(xinput9_1_0 ${CMAKE_CURRENT_BINARY_DIR}/xinput9_1_0.def) -add_dependencies(xinput9_1_0 xinput9_1_0_def psdk) +add_dependencies(xinput9_1_0 xinput9_1_0_def psdk buildno_header) diff --git a/dll/win32/xmllite/CMakeLists.txt b/dll/win32/xmllite/CMakeLists.txt index b63cffaceb9..f7166473c20 100644 --- a/dll/win32/xmllite/CMakeLists.txt +++ b/dll/win32/xmllite/CMakeLists.txt @@ -12,4 +12,6 @@ target_link_libraries(xmllite ${CMAKE_CURRENT_BINARY_DIR}/xmllite.def wine) -add_dependencies(xmllite xmllite_def psdk) +add_importlibs(xmllite msvcrt kernel32 ntdll) + +add_dependencies(xmllite xmllite_def psdk buildno_header) diff --git a/gcc.cmake b/gcc.cmake index 1dc23f2d930..62c6fda8a3d 100644 --- a/gcc.cmake +++ b/gcc.cmake @@ -53,44 +53,49 @@ macro(set_subsystem MODULE SUBSYSTEM) endmacro() macro(add_importlibs MODULE) - FOREACH(LIB ${ARGN}) + foreach(LIB ${ARGN}) target_link_libraries(${MODULE} ${LIB}.a) - ENDFOREACH() + endforeach() endmacro() macro(set_module_type MODULE TYPE) - add_dependencies(${MODULE} builno_header psdk) + add_dependencies(${MODULE} psdk buildno_header) - if(${TYPE} MATCHES nativecui) - set_subsystem(${MODULE} native) - set_entrypoint(${MODULE} NtProcessStartup@4) - endif() - if(${TYPE} MATCHES win32gui) - set_subsystem(${MODULE} windows) - set_entrypoint(${MODULE} WinMainCRTStartup) - endif() - if(${TYPE} MATCHES win32cui) - set_subsystem(${MODULE} console) - set_entrypoint(${MODULE} mainCRTStartup) - endif() - if(${TYPE} MATCHES win32dll) - target_link_libraries(${MODULE} mingw_dllmain mingw_common) - set_entrypoint(${MODULE} DllMain@12) - endif() + if(${TYPE} MATCHES nativecui) + set_subsystem(${MODULE} native) + set_entrypoint(${MODULE} NtProcessStartup@4) + endif() + if(${TYPE} MATCHES win32gui) + set_subsystem(${MODULE} windows) + set_entrypoint(${MODULE} WinMainCRTStartup) + if(NOT IS_UNICODE) + target_link_libraries(${MODULE} mingw_main) + else() + target_link_libraries(${MODULE} mingw_wmain) + endif(NOT IS_UNICODE) + target_link_libraries(${MODULE} mingw_common) + endif() + if(${TYPE} MATCHES win32cui) + set_subsystem(${MODULE} console) + set_entrypoint(${MODULE} mainCRTStartup) + if(NOT IS_UNICODE) + target_link_libraries(${MODULE} mingw_main) + else() + target_link_libraries(${MODULE} mingw_wmain) + endif(NOT IS_UNICODE) + target_link_libraries(${MODULE} mingw_common) + endif() + if(${TYPE} MATCHES win32dll) + set_entrypoint(${MODULE} DllMain@12) + endif() endmacro() endif() -macro(set_unicode MODULE STATE) - if(${STATE} MATCHES yes) - add_definitions(-DUNICODE -D_UNICODE) - target_link_libraries(${MODULE} mingw_wmain) - else() - target_link_libraries(${MODULE} mingw_main) - endif() - - target_link_libraries(${MODULE} mingw_common) +macro(set_unicode) + add_definitions(-DUNICODE -D_UNICODE) + set(IS_UNICODE 1) endmacro() # Workaround lack of mingw RC support in cmake @@ -106,20 +111,18 @@ macro(set_rc_compiler) set(result_incs "-I${arg} ${result_incs}") endforeach(arg ${includes}) - SET(CMAKE_RC_COMPILE_OBJECT " ${result_defs} ${result_incs} -i -O coff -o ") + set(CMAKE_RC_COMPILE_OBJECT " ${result_defs} ${result_incs} -i -O coff -o ") endmacro() #typelib support macro(ADD_TYPELIB TARGET) - FOREACH(SOURCE ${ARGN}) - GET_FILENAME_COMPONENT(FILE ${SOURCE} NAME_WE) - SET(OBJECT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.tlb) - ADD_CUSTOM_COMMAND( - OUTPUT ${OBJECT} - COMMAND native-widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -t -T ${OBJECT} ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE} - DEPENDS native-widl - ) - LIST(APPEND OBJECTS ${OBJECT}) - ENDFOREACH() - ADD_CUSTOM_TARGET(${TARGET} ALL DEPENDS ${OBJECTS}) -ENDMACRO() + foreach(SOURCE ${ARGN}) + get_filename_component(FILE ${SOURCE} NAME_WE) + set(OBJECT ${CMAKE_CURRENT_BINARY_DIR}/${FILE}.tlb) + add_custom_command(OUTPUT ${OBJECT} + COMMAND native-widl -I${REACTOS_SOURCE_DIR}/include/dxsdk -I. -I${REACTOS_SOURCE_DIR}/include -I${REACTOS_SOURCE_DIR}/include/psdk -m32 --win32 -t -T ${OBJECT} ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE} + DEPENDS native-widl) + list(APPEND OBJECTS ${OBJECT}) + endforeach() + add_custom_target(${TARGET} ALL DEPENDS ${OBJECTS}) +endmacro() diff --git a/importlibs/libcrypt32.a b/importlibs/libcrypt32.a new file mode 100644 index 0000000000000000000000000000000000000000..6a73c62b57e2aa0bd264075ea03ab9c49b74df03 GIT binary patch literal 190172 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