Re-trial of #7800. Deleting __WINESRC__
hacks.
JIRA issue: CORE-5743
- Add sdk/cmake/set_wine_module.cmake.
- Load set_wine_module.cmake at
top-level CMakeLists.txt.
- Use set_wine_module cmake function
and delete __WINESRC__ as possible.
- Delete many include_directories.
Fixes crash of mshtml_winetest:htmldoc (introduced by 716613c). Please do not ask me why.
The test started crashing with commit 716613cddc "[CMAKE] Use new policies for CMP0005 and CMP0018 (#1481)", which moved this definition from the command line to urlmon_main.h. This got later removed by commit 6c3c2e33f6 "[URLMON] Sync with Wine Staging 4.18. CORE-16441"
Fix build by commit 072965eb0 for modules:
EXPLORER, COMCTL32, IERNONCE, URLMON, USER32_(API|WINE)TESTS
Note that some of these modules (from Wine) already have the OEMRESOURCE
defined; however, only in one of their files. But we have added
precompiled headers for them where we have included either windows.h
or winuser.h in them, without OEMRESOURCE. The result is, that when
compiling these modules with PCH support, the OEMRESOURCE define was
_not_ satisfied and thus, compile errors arose.
Fix this by adding #define OEMRESOURCE before the windows headers also
in the precompiled headers we have added for these modules.
* [CMAKE] Fix for CMP0018
The new behaviour lets us explicitly disabling position independent code, avoiding the need to change undocumented variables
* LINK_DEPENDS is semicolon separated
* [CMAKE] Fix for CMP0005
it seems impossible to have cmake correct escape PROXY_CLSID_IS so move it to the header
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.