1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-01 11:32:48 -05:00

Fixes for Winelib builds.

In Winelib, you have to be careful not to say 'unsigned long' where
the API expects ULONG, because Winelib doesn't have the Windows LLP64
nature - its unsigned long is 64 bits, whereas ULONG is 32.

Also, my local Winelib has <dwmapi.h> (used in the new demo-screenshot
system), but doesn't contain some of the definitions inside it. So
I've expanded the cmake test of HAVE_DWMAPI_H so that it actually
checks the things we need, instead of just the existence of the
containing header.
This commit is contained in:
Simon Tatham
2022-05-08 08:33:53 +01:00
parent af3520d245
commit ac3ebcc827
2 changed files with 16 additions and 3 deletions

View File

@ -49,14 +49,27 @@ check_symbol_exists(GetNamedPipeClientProcessId "windows.h"
HAVE_GETNAMEDPIPECLIENTPROCESSID)
check_symbol_exists(CreatePseudoConsole "windows.h" HAVE_CONPTY)
check_include_files("windows.h;dwmapi.h" HAVE_DWMAPI_H)
check_c_source_compiles("
#include <windows.h>
GCP_RESULTSW gcpw;
int main(void) { return 0; }
" HAVE_GCP_RESULTSW)
function(dwmapi_test_wrapper)
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} dwmapi.lib)
check_c_source_compiles("
#include <windows.h>
#include <dwmapi.h>
volatile HWND hwnd;
int main(void) {
RECT r;
DwmGetWindowAttribute(hwnd, DWMWA_EXTENDED_FRAME_BOUNDS, &r, sizeof(r));
}
" HAVE_DWMAPI_H)
set(HAVE_DWMAPI_H ${HAVE_DWMAPI_H} PARENT_SCOPE)
endfunction()
dwmapi_test_wrapper()
set(NO_SECURITY ${PUTTY_NO_SECURITY})
add_compile_definitions(