Class: MxxRu::Cpp::LibCollectionTarget
- Inherits:
-
CompositeTarget
- Object
- AbstractTarget
- BinaryTarget
- Target
- CompositeTarget
- MxxRu::Cpp::LibCollectionTarget
- Defined in:
- lib/mxx_ru/cpp/lib_collection.rb
Overview
Collection of all required libraries form subprojects.
Since v.1.4.0
Constant Summary
Constants inherited from Target
Target::Global_obj_placement_info, Target::OPT_LOCAL, Target::OPT_UPSPREAD
Instance Attribute Summary
Attributes inherited from Target
#mxx_c_files, #mxx_cpp_files, #mxx_implib_path, #mxx_mswin_rc_file, #mxx_mswin_res_file, #mxx_obj_files, #mxx_optimization, #mxx_screen_mode, #mxx_sources_root, #mxx_target_ext, #mxx_target_name, #mxx_target_root
Attributes inherited from AbstractTarget
#mxx_full_targets_names, #mxx_generators, #mxx_required_prjs
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(a_alias, &block) ⇒ LibCollectionTarget
constructor
A new instance of LibCollectionTarget.
- #target_type ⇒ Object
Methods inherited from CompositeTarget
Methods inherited from Target
#c_source, #clean, #cpp_source, #create_full_src_file_name, #create_full_target_file_name, define_spreadable_option_methods, #global_obj_placement, global_option_methods, #implib_path, initialize_spreadable_option_instance_variables, #mswin_rc_file, #mswin_res_file, #mxx_obj_placement, #mxx_runtime_mode, #obj_file, #obj_placement, #optimization, #reset, #screen_mode, #sources_root, #target, #target_ext, #target_root, #toolset
Methods inherited from BinaryTarget
check_libraries_types, #lib, #lib_shared, #lib_static, #mxx_add_required_lib, #mxx_add_required_lib_path, #mxx_required_lib_paths, #mxx_required_libs
Methods inherited from AbstractTarget
#clean, define_plural_form_method, #generator, #mxx_add_full_target_name, #prj_alias, #required_prj, #reset, run
Constructor Details
#initialize(a_alias, &block) ⇒ LibCollectionTarget
Returns a new instance of LibCollectionTarget.
50 51 52 53 54 |
# File 'lib/mxx_ru/cpp/lib_collection.rb', line 50 def initialize( a_alias, &block ) super( a_alias ) instance_eval( &block ) if block end |
Instance Method Details
#build ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/mxx_ru/cpp/lib_collection.rb', line 60 def build if nil == @mxx_last_build_result # Let base class makes all necessary building actions. super # We must collect names of all required libraries from # all subprojects. mxx_required_prjs.each do |d| if Toolset::has_linkable_dependecies?( d ) mxx_add_required_libs( d.mxx_required_libs ) mxx_add_required_lib_paths( d.mxx_required_lib_paths ) end end end @mxx_last_build_result end |
#target_type ⇒ Object
56 57 58 |
# File 'lib/mxx_ru/cpp/lib_collection.rb', line 56 def target_type return LibCollectionTargetType.new end |