self.set_mac_env_vars

in lib/gdk.rb [82:117]


  def self.set_mac_env_vars
    
    
    
    
    
    return unless RUBY_PLATFORM.include?('darwin')

    unless Utils.executable_exist?('brew')
      GDK::Output.error "ERROR: Homebrew is required but cannot be found."
      exit(-1)
    end

    icu4c_prefix = `brew --prefix icu4c`.strip.split('@').first || ''
    openssl_prefix = `brew --prefix openssl`.strip.split('@').first || ''

    if icu4c_prefix.empty?
      GDK::Output.error "ERROR: icu4c is required but cannot be found."
      exit(-1)
    end

    if openssl_prefix.empty?
      GDK::Output.error "ERROR: openssl is required but cannot be found."
      exit(-1)
    end

    macos_version = `sw_vers --productVersion`.chomp
    is_atleast_15_3 = Gem::Version.new(macos_version) >= Gem::Version.new('15.3')

    ENV['PKG_CONFIG_PATH'] = [ENV.fetch('PKG_CONFIG_PATH', nil), "#{openssl_prefix}/lib/pkgconfig", "#{icu4c_prefix}/lib/pkgconfig"].compact.join(':')
    ENV['LDFLAGS'] = [ENV.fetch('LDFLAGS', nil), "-L#{icu4c_prefix}/lib"].compact.join(' ')
    ENV['CPPFLAGS'] = [ENV.fetch('CPPFLAGS', nil), "-I#{icu4c_prefix}/include"].compact.join(' ')
    ENV['BUNDLE_BUILD__PG_QUERY'] = [ENV.fetch('BUNDLE_BUILD__PG_QUERY', nil), "--with-cflags=-DHAVE_STRCHRNUL"].compact.join(' ') if is_atleast_15_3
    ENV['MACOSX_DEPLOYMENT_TARGET'] = macos_version
  end