diff --git a/CMakeLists.txt b/CMakeLists.txt index 03a55c31..265c560e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,8 +52,8 @@ option(OPENCL_ICD_LOADER_BUILD_SHARED_LIBS "Build OpenCL ICD Loader as shared li # It is currently needed default while the specification is being formalized, # and to study the performance impact. option (ENABLE_OPENCL_LAYERS "Enable OpenCL Layers" ON) -option (ENABLE_OPENCL_LOADER_MANAGED_DISPATCH "Enable OpenCL Loader managed dispatch" ON) include(CMakeDependentOption) +cmake_dependent_option(ENABLE_OPENCL_LOADER_MANAGED_DISPATCH "Enable OpenCL Loader managed dispatch" ON OPENCL_ICD_LOADER_BUILD_SHARED_LIBS OFF) cmake_dependent_option(ENABLE_OPENCL_LAYERINFO "Enable building cllayerinfo tool" ON ENABLE_OPENCL_LAYERS OFF) include(GNUInstallDirs) @@ -170,6 +170,7 @@ set (OPENCL_COMPILE_DEFINITIONS OPENCL_ICD_LOADER_VERSION_REV=8 $<$:CL_ENABLE_LAYERS> $<$:CL_ENABLE_LOADER_MANAGED_DISPATCH> + $<$:CL_SHARED_BUILD> ) target_compile_definitions (OpenCL diff --git a/loader/windows/icd_windows.c b/loader/windows/icd_windows.c index fdc33350..84e2c0d6 100644 --- a/loader/windows/icd_windows.c +++ b/loader/windows/icd_windows.c @@ -411,7 +411,7 @@ void khrIcdOsVendorsEnumerateOnce() InitOnceExecuteOnce(&initialized, khrIcdOsVendorsEnumerate, NULL, NULL); } -#ifndef CL_LAYER_INFO +#if !defined(CL_LAYER_INFO) && defined(CL_SHARED_BUILD) BOOL APIENTRY DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) { (void)hinst; (void)reserved;