set(F3D_WINDOWS_THUMBNAIL_TIMEOUT 8000 CACHE STRING "Windows thumbnail creation timeout in milliseconds")

configure_file(
  "${CMAKE_CURRENT_SOURCE_DIR}/F3DThumbnailConfig.h.in"
  "${CMAKE_CURRENT_BINARY_DIR}/F3DThumbnailConfig.h"
  @ONLY)

add_library(F3DShellExtension SHARED
  "${CMAKE_CURRENT_BINARY_DIR}/F3DThumbnailConfig.h"
  F3DShellExtension.cxx
  F3DShellExtensionClassFactory.h
  F3DThumbnailProvider.h
  F3DThumbnailProvider.cxx
  RegistryHelpers.h
  F3DShellExtension.def)

target_compile_definitions(F3DShellExtension PUBLIC UNICODE)

target_include_directories(F3DShellExtension PUBLIC ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})

target_link_libraries(F3DShellExtension PUBLIC libf3d PRIVATE pathcch shlwapi windowscodecs)

set_target_properties(F3DShellExtension PROPERTIES
  RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
