AddWindowsResources.cmake raw

   1  # Copyright (c) 2024-present The Bitcoin Core developers
   2  # Distributed under the MIT software license, see the accompanying
   3  # file COPYING or https://opensource.org/license/mit/.
   4  
   5  include_guard(GLOBAL)
   6  
   7  function(add_windows_resources target rc_file)
   8    if(WIN32)
   9      target_sources(${target} PRIVATE ${rc_file})
  10    endif()
  11  endfunction()
  12  
  13  # Add a fusion manifest to Windows executables.
  14  # See: https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests
  15  function(add_windows_application_manifest target)
  16    if(WIN32)
  17      configure_file(${PROJECT_SOURCE_DIR}/cmake/windows-app.manifest.in ${target}.manifest USE_SOURCE_PERMISSIONS)
  18      file(CONFIGURE
  19        OUTPUT ${target}-manifest.rc
  20        CONTENT "1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ \"${target}.manifest\""
  21      )
  22      add_windows_resources(${target} ${CMAKE_CURRENT_BINARY_DIR}/${target}-manifest.rc)
  23    endif()
  24  endfunction()
  25