Stop linking the kernel driver into PawnIOLib
PawnIOLib linked the PawnIO target purely to inherit its include directory, and the driver's own dependencies were declared with the implicitly-PUBLIC target_link_libraries signature, so ntoskrnl.lib, hal.lib, wmilib.lib, bufferoverflowfastfailk.lib and ksecdd.lib all propagated into a user-mode link. It resolved correctly only because ntdll.lib happened to be listed first -- ntoskrnl.lib exports NtClose, NtDeviceIoControlFile and RtlNtStatusToDosError too, so reordering the list would have produced a DLL importing from ntoskrnl.exe, which cannot load. Split the public headers into a PawnIOInclude interface target and link that instead.
N
namazso committed
d9b5201f36ea168a3f69b5e4340919784d85f714
Parent: 5a9d4c7