docs: function iconBuild(inpOptions, callback) {
    const options = Object.assign({}, inpOptions);
    const returnCallback = () => {
      callback(null, options);
    };
  
    if (!options.icon) {
      returnCallback();
      return;
    }
  
    if (options.platform === 'win32') {
      if (iconIsIco(options.icon)) {
        returnCallback();
        return;
      }
  
      convertToIco(options.icon)
        .then((outPath) => {
          options.icon = outPath;
          returnCallback();
        })
        .catch((error) => {
          log.warn('Skipping icon conversion to .ico', error);
          returnCallback();
        });
      return;
    }
  
    if (options.platform === 'linux') {
      if (iconIsPng(options.icon)) {
        returnCallback();
        return;
      }
  
      convertToPng(options.icon)
        .then((outPath) => {
          options.icon = outPath;
          returnCallback();
        })
        .catch((error) => {
          log.warn('Skipping icon conversion to .png', error);
          returnCallback();
        });
      return;
    }
  
    if (iconIsIcns(options.icon)) {
      returnCallback();
      return;
    }
  
    if (!isOSX()) {
      log.warn(
        'Skipping icon conversion to .icns, conversion is only supported on OSX',
      );
      returnCallback();
      return;
    }
  
    convertToIcns(options.icon)
      .then((outPath) => {
        options.icon = outPath;
        returnCallback();
      })
      .catch((error) => {
        log.warn('Skipping icon conversion to .icns', error);
        options.icon = undefined;
        returnCallback();
      });
  }