mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-05 07:10:26 +00:00
WindowsKernelModeDriver: Switch to appending to variables
When using the WindowsKernelModeDriver, do not add the new paths if the variable was not previously defined. Instead, append them to the existing value. Add a new GUID for the Experimental mode gate
This commit is contained in:
@@ -41,27 +41,22 @@ macro(__windows_kernel_mode lang)
|
|||||||
|
|
||||||
set(_KMDF_PLATFORM "$ENV{Platform}")
|
set(_KMDF_PLATFORM "$ENV{Platform}")
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES)
|
list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES
|
||||||
set(CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES
|
|
||||||
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/km
|
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/km
|
||||||
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/km/crt
|
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/km/crt
|
||||||
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/shared
|
$ENV{WindowsSdkDir}/Include/${_WINDOWS_SDK_VERSION}/shared
|
||||||
$ENV{WindowsSdkDir}/Include/wdf/kmdf/${CMAKE_WINDOWS_KMDF_VERSION}
|
$ENV{WindowsSdkDir}/Include/wdf/kmdf/${CMAKE_WINDOWS_KMDF_VERSION}
|
||||||
$ENV{VCToolsInstallDir}/include
|
$ENV{VCToolsInstallDir}/include
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES)
|
list(APPEND CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES
|
||||||
set(CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES
|
|
||||||
${CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES}
|
${CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES}
|
||||||
)
|
)
|
||||||
endif()
|
list(REMOVE_DUPLICATES CMAKE_RC_STANDARD_INCLUDE_DIRECTORIES)
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_${lang}_STANDARD_LINK_DIRECTORIES)
|
list(APPEND CMAKE_${lang}_STANDARD_LINK_DIRECTORIES
|
||||||
set(CMAKE_${lang}_STANDARD_LINK_DIRECTORIES
|
|
||||||
$ENV{WindowsSdkDir}/Lib/${_WINDOWS_SDK_VERSION}/km/${_KMDF_PLATFORM}
|
$ENV{WindowsSdkDir}/Lib/${_WINDOWS_SDK_VERSION}/km/${_KMDF_PLATFORM}
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
unset(_KMDF_ERROR_EPILOGUE)
|
unset(_KMDF_ERROR_EPILOGUE)
|
||||||
unset(_KMDF_PLATFORM)
|
unset(_KMDF_PLATFORM)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ cmExperimental::FeatureData LookupTable[] = {
|
|||||||
false },
|
false },
|
||||||
// WindowsKernelModeDriver
|
// WindowsKernelModeDriver
|
||||||
{ "WindowsKernelModeDriver",
|
{ "WindowsKernelModeDriver",
|
||||||
"7f524e81-99c7-48f3-a35d-278bae54282c",
|
"fac18f65-504e-4dbb-b068-f356bb1f2ddb",
|
||||||
"CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER",
|
"CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER",
|
||||||
"CMake's Windows kernel-mode driver support is experimental. It is meant "
|
"CMake's Windows kernel-mode driver support is experimental. It is meant "
|
||||||
"only for experimentation and feedback to CMake developers.",
|
"only for experimentation and feedback to CMake developers.",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
|
set(CMAKE_EXPERIMENTAL_WINDOWS_KERNEL_MODE_DRIVER
|
||||||
"7f524e81-99c7-48f3-a35d-278bae54282c")
|
"fac18f65-504e-4dbb-b068-f356bb1f2ddb")
|
||||||
|
|
||||||
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
|
cmake_language(GET_EXPERIMENTAL_FEATURE_ENABLED
|
||||||
"WindowsKernelModeDriver"
|
"WindowsKernelModeDriver"
|
||||||
|
|||||||
Reference in New Issue
Block a user