Class: Pod::Target::BuildSettings::PodTargetSettings

Inherits:
Pod::Target::BuildSettings show all
Defined in:
lib/cocoapods/target/build_settings.rb

Overview

A subclass that generates build settings for a PodTarget

Since:

  • 1.5.0

Constant Summary

Constants inherited from Pod::Target::BuildSettings

CONFIGURATION_BUILD_DIR_VARIABLE, PLURAL_SETTINGS

Public API collapse

Attributes inherited from Pod::Target::BuildSettings

#target

Public API collapse

Paths collapse

Frameworks collapse

Libraries collapse

Clang collapse

Swift collapse

Linking collapse

Packaging collapse

Target Properties collapse

Methods inherited from Pod::Target::BuildSettings

#code_sign_identity, #framework_search_paths_to_import_developer_frameworks, #gcc_preprocessor_definitions, #initialize_copy, #other_cflags, #other_ldflags, #other_swift_flags_without_swift?, #pods_build_dir, #pods_configuration_build_dir, #save_as

Constructor Details

#initialize(target, test_spec = nil) ⇒ PodTargetSettings

Initializes a new instance

Parameters:

Since:

  • 1.5.0



476
477
478
479
480
# File 'lib/cocoapods/target/build_settings.rb', line 476

def initialize(target, test_spec = nil)
  super(target)
  @test_spec = test_spec
  @test_xcconfig = !test_spec.nil?
end

Instance Attribute Details

#test_specSpecification (readonly)

Returns The test specification these build settings are for or ‘nil`.

Returns:

  • (Specification)

    The test specification these build settings are for or ‘nil`.

Since:

  • 1.5.0



466
467
468
# File 'lib/cocoapods/target/build_settings.rb', line 466

def test_spec
  @test_spec
end

#test_xcconfigBoolean (readonly) Also known as: test_xcconfig?

Returns whether settings are being generated for a test bundle.

Returns:

  • (Boolean)

    whether settings are being generated for a test bundle

Since:

  • 1.5.0



460
461
462
# File 'lib/cocoapods/target/build_settings.rb', line 460

def test_xcconfig
  @test_xcconfig
end

Class Method Details

.build_settings_namesObject



453
454
455
# File 'lib/cocoapods/target/build_settings.rb', line 453

def self.build_settings_names
  @build_settings_names | BuildSettings.build_settings_names
end

Instance Method Details

#configuration_build_dirString

The ‘configuration_build_dir` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘configuration_build_dir, build_setting, memoized`.

Returns:

  • (String)


762
763
764
765
# File 'lib/cocoapods/target/build_settings.rb', line 762

define_build_settings_method :configuration_build_dir, :build_setting => true, :memoized => true do
  return if test_xcconfig?
  target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)
end

#consumer_frameworksArray<String>

The ‘consumer_frameworks` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘consumer_frameworks, memoized`.

Returns:

  • (Array<String>)


507
508
509
# File 'lib/cocoapods/target/build_settings.rb', line 507

define_build_settings_method :consumer_frameworks, :memoized => true do
  spec_consumers.flat_map(&:frameworks)
end

#dependent_targetsArray<PodTarget>

The ‘dependent_targets` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘dependent_targets, memoized`.

Returns:



772
773
774
775
776
777
778
779
780
# File 'lib/cocoapods/target/build_settings.rb', line 772

define_build_settings_method :dependent_targets, :memoized => true do
  select_maximal_pod_targets(
    if test_xcconfig?
      target.all_dependent_targets
    else
      target.recursive_dependent_targets
    end,
  )
end

#dynamic_frameworks_to_importArray<String>

The ‘dynamic_frameworks_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘dynamic_frameworks_to_import, memoized`.

Returns:

  • (Array<String>)


532
533
534
535
536
537
# File 'lib/cocoapods/target/build_settings.rb', line 532

define_build_settings_method :dynamic_frameworks_to_import, :memoized => true do
  dynamic_frameworks_to_import = vendored_dynamic_frameworks.map { |f| File.basename(f, '.framework') }
  dynamic_frameworks_to_import << target.product_basename if target.should_build? && target.requires_frameworks? && !target.static_framework?
  dynamic_frameworks_to_import.concat consumer_frameworks
  dynamic_frameworks_to_import
end

#dynamic_libraries_to_importArray<String>

The ‘dynamic_libraries_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘dynamic_libraries_to_import, memoized`.

Returns:

  • (Array<String>)


613
614
615
616
# File 'lib/cocoapods/target/build_settings.rb', line 613

define_build_settings_method :dynamic_libraries_to_import, :memoized => true do
  vendored_dynamic_libraries.map { |l| File.basename(l, l.extname).sub(/\Alib/, '') } +
  spec_consumers.flat_map(&:libraries)
end

#file_accessorsArray<Sandbox::FileAccessor>

The ‘file_accessors` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘file_accessors, memoized`.

Returns:



805
806
807
# File 'lib/cocoapods/target/build_settings.rb', line 805

define_build_settings_method :file_accessors, :memoized => true do
  target.file_accessors.select { |fa| fa.spec.test_specification? == test_xcconfig? }
end

#framework_search_pathsArray<String>

The ‘framework_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘framework_search_paths, build_setting, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


559
560
561
562
563
564
565
# File 'lib/cocoapods/target/build_settings.rb', line 559

define_build_settings_method :framework_search_paths, :build_setting => true, :memoized => true, :sorted => true, :uniqued => true do
  paths = super().dup
  paths.concat dependent_targets.flat_map { |t| t.build_settings.framework_search_paths_to_import }
  paths.concat framework_search_paths_to_import
  paths.delete(target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)) unless test_xcconfig?
  paths
end

#framework_search_paths_to_importArray<String>

The ‘framework_search_paths_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘framework_search_paths_to_import, memoized`.

Returns:

  • (Array<String>)


573
574
575
576
577
578
579
# File 'lib/cocoapods/target/build_settings.rb', line 573

define_build_settings_method :framework_search_paths_to_import, :memoized => true do
  paths = framework_search_paths_to_import_developer_frameworks(consumer_frameworks)
  paths.concat vendored_framework_search_paths
  return paths unless target.requires_frameworks? && target.should_build?

  paths + [target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)]
end

#frameworksArray<String>

The ‘frameworks` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘frameworks, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


512
513
514
515
516
517
518
519
520
521
# File 'lib/cocoapods/target/build_settings.rb', line 512

define_build_settings_method :frameworks, :memoized => true, :sorted => true, :uniqued => true do
  return [] if (!target.requires_frameworks? || target.static_framework?) && !test_xcconfig?

  frameworks = vendored_dynamic_frameworks.map { |l| File.basename(l, '.framework') }
  frameworks.concat vendored_static_frameworks.map { |l| File.basename(l, '.framework') } unless test_xcconfig?
  frameworks.concat consumer_frameworks
  frameworks.concat dependent_targets.flat_map { |pt| pt.build_settings.dynamic_frameworks_to_import }
  frameworks.concat dependent_targets.flat_map { |pt| pt.build_settings.static_frameworks_to_import } if test_xcconfig?
  frameworks
end

#frameworks_to_importArray<String>

The ‘frameworks_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘frameworks_to_import, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


549
550
551
# File 'lib/cocoapods/target/build_settings.rb', line 549

define_build_settings_method :frameworks_to_import, :memoized => true, :sorted => true, :uniqued => true do
  static_frameworks_to_import + dynamic_frameworks_to_import
end

#header_search_pathsArray<String>

The ‘header_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘header_search_paths, build_setting, memoized, sorted`.

Returns:

  • (Array<String>)


689
690
691
# File 'lib/cocoapods/target/build_settings.rb', line 689

define_build_settings_method :header_search_paths, :build_setting => true, :memoized => true, :sorted => true do
  target.header_search_paths(test_xcconfig?)
end

#ld_runpath_search_pathsArray<String>

The ‘ld_runpath_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘ld_runpath_search_paths, build_setting, memoized`.

Returns:

  • (Array<String>)


742
743
744
745
# File 'lib/cocoapods/target/build_settings.rb', line 742

define_build_settings_method :ld_runpath_search_paths, :build_setting => true, :memoized => true do
  return unless test_xcconfig?
  _ld_runpath_search_paths(:test_bundle => true)
end

#librariesArray<String>

The ‘libraries` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘libraries, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


596
597
598
599
600
601
602
603
# File 'lib/cocoapods/target/build_settings.rb', line 596

define_build_settings_method :libraries, :memoized => true, :sorted => true, :uniqued => true do
  return [] if (!target.requires_frameworks? || target.static_framework?) && !test_xcconfig?

  libraries = libraries_to_import.dup
  libraries.concat dependent_targets.flat_map { |pt| pt.build_settings.dynamic_libraries_to_import }
  libraries.concat dependent_targets.flat_map { |pt| pt.build_settings.static_libraries_to_import } if test_xcconfig?
  libraries
end

#libraries_to_importArray<String>

The ‘libraries_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘libraries_to_import, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


619
620
621
# File 'lib/cocoapods/target/build_settings.rb', line 619

define_build_settings_method :libraries_to_import, :memoized => true, :sorted => true, :uniqued => true do
  static_libraries_to_import + dynamic_libraries_to_import
end

#library_search_pathsArray<String>

The ‘library_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘library_search_paths, build_setting, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/cocoapods/target/build_settings.rb', line 624

define_build_settings_method :library_search_paths, :build_setting => true, :memoized => true, :sorted => true, :uniqued => true do
  return [] if (!target.requires_frameworks? || target.static_framework?) && !test_xcconfig?

  vendored = library_search_paths_to_import.dup
  vendored.concat dependent_targets.flat_map { |t| t.build_settings.vendored_dynamic_library_search_paths }
  if test_xcconfig?
    vendored.concat dependent_targets.flat_map { |t| t.build_settings.library_search_paths_to_import }
  else
    vendored.delete(target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE))
  end
  vendored
end

#library_search_paths_to_importArray<String>

The ‘library_search_paths_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘library_search_paths_to_import, memoized`.

Returns:

  • (Array<String>)


658
659
660
661
662
663
# File 'lib/cocoapods/target/build_settings.rb', line 658

define_build_settings_method :library_search_paths_to_import, :memoized => true do
  vendored_library_search_paths = vendored_static_library_search_paths + vendored_dynamic_library_search_paths
  return vendored_library_search_paths if target.requires_frameworks? || !target.should_build?

  vendored_library_search_paths << target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)
end

#merged_pod_target_xcconfigsHash{String, String}

Merges the pod_target_xcconfig for all pod targets into a single hash and warns on conflicting definitions.

The ‘merged_pod_target_xcconfigs` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘merged_pod_target_xcconfigs, memoized`.

Returns:

  • (Hash{String, String})


800
801
802
# File 'lib/cocoapods/target/build_settings.rb', line 800

define_build_settings_method :merged_pod_target_xcconfigs, :memoized => true do
  merged_xcconfigs(pod_target_xcconfig_values_by_consumer_by_key, :pod_target_xcconfig)
end

#module_map_file_to_importArray<String>

The ‘module_map_file_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘module_map_file_to_import, memoized`.

Returns:

  • (Array<String>)


675
676
677
678
679
680
681
682
683
684
685
686
# File 'lib/cocoapods/target/build_settings.rb', line 675

define_build_settings_method :module_map_file_to_import, :memoized => true do
  return unless target.should_build?
  return if target.requires_frameworks?
  return unless target.defines_module?

  if target.uses_swift?
    # for swift, we have a custom build phase that copies in the module map, appending the .Swift module
    "${PODS_CONFIGURATION_BUILD_DIR}/#{target.label}/#{target.product_module_name}.modulemap"
  else
    "${PODS_ROOT}/#{target.module_map_path.relative_path_from(target.sandbox.root)}"
  end
end

#module_map_filesArray<String>

The ‘module_map_files` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘module_map_files, memoized`.

Returns:

  • (Array<String>)


670
671
672
# File 'lib/cocoapods/target/build_settings.rb', line 670

define_build_settings_method :module_map_files, :memoized => true do
  dependent_targets.map { |t| t.build_settings.module_map_file_to_import }.compact.sort
end

#other_swift_flagsArray<String>

The ‘other_swift_flags` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘other_swift_flags, build_setting, memoized`.

Returns:

  • (Array<String>)


698
699
700
701
702
703
704
705
706
# File 'lib/cocoapods/target/build_settings.rb', line 698

define_build_settings_method :other_swift_flags, :build_setting => true, :memoized => true do
  return unless target.uses_swift?
  flags = super()
  flags << '-suppress-warnings' if target.inhibit_warnings?
  if !target.requires_frameworks? && target.defines_module? && !test_xcconfig?
    flags.concat %w( -import-underlying-module -Xcc -fmodule-map-file=${SRCROOT}/${MODULEMAP_FILE} )
  end
  flags
end

#pod_target_xcconfig_values_by_consumer_by_keyHash{String,Hash{Target,String}]

Returns the pod_target_xcconfig for the pod target and its spec consumers grouped by keys

Returns:

  • (Hash{String,Hash{Target,String}])

    HashString,Hash{Target,String]

Since:

  • 1.5.0



787
788
789
790
791
792
793
# File 'lib/cocoapods/target/build_settings.rb', line 787

def pod_target_xcconfig_values_by_consumer_by_key
  spec_consumers.each_with_object({}) do |spec_consumer, hash|
    spec_consumer.pod_target_xcconfig.each do |k, v|
      (hash[k] ||= {})[spec_consumer] = v
    end
  end
end

#pods_rootString

The ‘pods_root` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘pods_root, build_setting`.

Returns:

  • (String)


493
494
495
# File 'lib/cocoapods/target/build_settings.rb', line 493

define_build_settings_method :pods_root, :build_setting => true do
  '${SRCROOT}'
end

#pods_target_srcrootString

The ‘pods_target_srcroot` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘pods_target_srcroot, build_setting`.

Returns:

  • (String)


498
499
500
# File 'lib/cocoapods/target/build_settings.rb', line 498

define_build_settings_method :pods_target_srcroot, :build_setting => true do
  target.pod_target_srcroot
end

#product_bundle_identifierString

The ‘product_bundle_identifier` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘product_bundle_identifier, build_setting`.

Returns:

  • (String)


757
758
759
# File 'lib/cocoapods/target/build_settings.rb', line 757

define_build_settings_method :product_bundle_identifier, :build_setting => true do
  'org.cocoapods.${PRODUCT_NAME:rfc1034identifier}'
end

#requires_fobjc_arc?Boolean

The ‘requires_fobjc_arc?` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘requires_fobjc_arc?, memoized`.

Returns:

  • (Boolean)

    whether the ‘-fobjc-arc` linker flag is required.



736
737
738
739
# File 'lib/cocoapods/target/build_settings.rb', line 736

define_build_settings_method :requires_fobjc_arc?, :memoized => true do
  target.podfile.set_arc_compatibility_flag? &&
  file_accessors.any? { |fa| fa.spec_consumer.requires_arc? }
end

#requires_objc_linker_flag?Boolean

Note:

this is only true when generating build settings for a test bundle

Returns whether the ‘-ObjC` linker flag is required.

Returns:

  • (Boolean)

    whether the ‘-ObjC` linker flag is required.

Since:

  • 1.5.0



730
731
732
# File 'lib/cocoapods/target/build_settings.rb', line 730

def requires_objc_linker_flag?
  test_xcconfig?
end

#skip_installString

The ‘skip_install` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘skip_install, build_setting`.

Returns:

  • (String)


752
753
754
# File 'lib/cocoapods/target/build_settings.rb', line 752

define_build_settings_method :skip_install, :build_setting => true do
  'YES'
end

#spec_consumersArray<Specification::Consumer>

The ‘spec_consumers` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘spec_consumers, memoized`.

Returns:

  • (Array<Specification::Consumer>)


810
811
812
# File 'lib/cocoapods/target/build_settings.rb', line 810

define_build_settings_method :spec_consumers, :memoized => true do
  target.spec_consumers.select { |c| c.spec.test_specification? == test_xcconfig? }
end

#static_frameworks_to_importArray<String>

The ‘static_frameworks_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘static_frameworks_to_import, memoized`.

Returns:

  • (Array<String>)


524
525
526
527
528
529
# File 'lib/cocoapods/target/build_settings.rb', line 524

define_build_settings_method :static_frameworks_to_import, :memoized => true do
  static_frameworks_to_import = []
  static_frameworks_to_import.concat vendored_static_frameworks.map { |f| File.basename(f, '.framework') } unless target.should_build? && target.requires_frameworks? && !target.static_framework?
  static_frameworks_to_import << target.product_basename if target.should_build? && target.requires_frameworks? && target.static_framework?
  static_frameworks_to_import
end

#static_libraries_to_importArray<String>

The ‘static_libraries_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘static_libraries_to_import, memoized`.

Returns:

  • (Array<String>)


606
607
608
609
610
# File 'lib/cocoapods/target/build_settings.rb', line 606

define_build_settings_method :static_libraries_to_import, :memoized => true do
  static_libraries_to_import = vendored_static_libraries.map { |l| File.basename(l, l.extname).sub(/\Alib/, '') }
  static_libraries_to_import << target.product_basename if target.should_build? && !target.requires_frameworks?
  static_libraries_to_import
end

#swift_include_pathsArray<String>

The ‘swift_include_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘swift_include_paths, build_setting, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


709
710
711
712
713
# File 'lib/cocoapods/target/build_settings.rb', line 709

define_build_settings_method :swift_include_paths, :build_setting => true, :memoized => true, :sorted => true, :uniqued => true do
  paths = dependent_targets.flat_map { |t| t.build_settings.swift_include_paths_to_import }
  paths.concat swift_include_paths_to_import if test_xcconfig?
  paths
end

#swift_include_paths_to_importArray<String>

The ‘swift_include_paths_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘swift_include_paths_to_import, memoized`.

Returns:

  • (Array<String>)


716
717
718
719
720
# File 'lib/cocoapods/target/build_settings.rb', line 716

define_build_settings_method :swift_include_paths_to_import, :memoized => true do
  return [] unless target.uses_swift? && !target.requires_frameworks?

  [target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)]
end

#vendored_dynamic_frameworksArray<String>

The ‘vendored_dynamic_frameworks` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_dynamic_frameworks, memoized`.

Returns:

  • (Array<String>)


587
588
589
# File 'lib/cocoapods/target/build_settings.rb', line 587

define_build_settings_method :vendored_dynamic_frameworks, :memoized => true do
  file_accessors.flat_map(&:vendored_dynamic_frameworks)
end

#vendored_dynamic_librariesArray<String>

The ‘vendored_dynamic_libraries` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_dynamic_libraries, memoized`.

Returns:

  • (Array<String>)


643
644
645
# File 'lib/cocoapods/target/build_settings.rb', line 643

define_build_settings_method :vendored_dynamic_libraries, :memoized => true do
  file_accessors.flat_map(&:vendored_dynamic_libraries)
end

#vendored_dynamic_library_search_pathsArray<String>

The ‘vendored_dynamic_library_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_dynamic_library_search_paths, memoized`.

Returns:

  • (Array<String>)


653
654
655
# File 'lib/cocoapods/target/build_settings.rb', line 653

define_build_settings_method :vendored_dynamic_library_search_paths, :memoized => true do
  vendored_dynamic_libraries.map { |f| File.join '${PODS_ROOT}', f.dirname.relative_path_from(target.sandbox.root) }
end

#vendored_framework_search_pathsArray<String>

The ‘vendored_framework_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_framework_search_paths, memoized`.

Returns:

  • (Array<String>)


568
569
570
# File 'lib/cocoapods/target/build_settings.rb', line 568

define_build_settings_method :vendored_framework_search_paths, :memoized => true do
  file_accessors.flat_map(&:vendored_frameworks).map { |f| File.join '${PODS_ROOT}', f.dirname.relative_path_from(target.sandbox.root) }
end

#vendored_static_frameworksArray<String>

The ‘vendored_static_frameworks` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_static_frameworks, memoized`.

Returns:

  • (Array<String>)


582
583
584
# File 'lib/cocoapods/target/build_settings.rb', line 582

define_build_settings_method :vendored_static_frameworks, :memoized => true do
  file_accessors.flat_map(&:vendored_static_frameworks)
end

#vendored_static_librariesArray<String>

The ‘vendored_static_libraries` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_static_libraries, memoized`.

Returns:

  • (Array<String>)


638
639
640
# File 'lib/cocoapods/target/build_settings.rb', line 638

define_build_settings_method :vendored_static_libraries, :memoized => true do
  file_accessors.flat_map(&:vendored_static_libraries)
end

#vendored_static_library_search_pathsArray<String>

The ‘vendored_static_library_search_paths` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘vendored_static_library_search_paths, memoized`.

Returns:

  • (Array<String>)


648
649
650
# File 'lib/cocoapods/target/build_settings.rb', line 648

define_build_settings_method :vendored_static_library_search_paths, :memoized => true do
  vendored_static_libraries.map { |f| File.join '${PODS_ROOT}', f.dirname.relative_path_from(target.sandbox.root) }
end

#weak_frameworksArray<String>

The ‘weak_frameworks` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘weak_frameworks, memoized`.

Returns:

  • (Array<String>)


540
541
542
543
544
545
546
# File 'lib/cocoapods/target/build_settings.rb', line 540

define_build_settings_method :weak_frameworks, :memoized => true do
  return [] if (!target.requires_frameworks? || target.static_framework?) && !test_xcconfig?

  weak_frameworks = spec_consumers.flat_map(&:weak_frameworks)
  weak_frameworks.concat dependent_targets.flat_map { |pt| pt.build_settings.weak_frameworks_to_import }
  weak_frameworks
end

#weak_frameworks_to_importArray<String>

The ‘weak_frameworks_to_import` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘weak_frameworks_to_import, memoized, sorted, uniqued`.

Returns:

  • (Array<String>)


554
555
556
# File 'lib/cocoapods/target/build_settings.rb', line 554

define_build_settings_method :weak_frameworks_to_import, :memoized => true, :sorted => true, :uniqued => true do
  []
end

#xcconfigXcodeproj::Xconfig

The ‘xcconfig` build setting for the Pod::Target::BuildSettings#target.

The return value from this method will be: ‘xcconfig, memoized`.

Returns:

  • (Xcodeproj::Xconfig)


483
484
485
486
# File 'lib/cocoapods/target/build_settings.rb', line 483

define_build_settings_method :xcconfig, :memoized => true do
  xcconfig = super()
  xcconfig.merge(merged_pod_target_xcconfigs)
end