Changes in Mxx_ru
1.6.11 version (2016.04.25)
New ext_cmake_project target type added for C++ projects. New method make_identification_string for toolset added. New templates for mxxrugen: ext-cmake-prj and externals.
1.6.10 version (2016.04.19)
Method map for MxxRu::externals is deprecated. New tool mxxruexternals added to executables. New working scheme for MxxRu::externals (now MxxRu::externals stores info about previous version of externals description).
1.6.9 version (2016.03.31)
Support of stars in src- and dst-names in map_dir/map_file (MxxRu::externals).
1.6.8 version (2016.03.09)
Extended version of MxxRu::externals with arch_externals.
1.6.7 version (2016.03.04)
mxx_ru/externals.rb added (with git_externals, svn_externals and hg_externals).
1.6.6 version (2015.08.01)
Support for VC++14.0 added.
1.6.5 version (2015.04.10)
Bugfix release (fix for compiler flags for forcing C++14 mode).
1.6.4 version (2015.02.16)
Support for Clang on FreeBSD added.
1.6.0 version (2013.05.17)
mxx_ru/cpp/toolsets/vc11.rb file was added to support Microsoft Visual Studio 2012 C++ compiler. Clang toolsets family added. mxx_ru/cpp/toolsets/clang_linux.rb file was added to support clang compiler on linux platform. Fixed incompatibilities with Ruby 1.9.1 Fixed problem with linkage under some versions of g++: order of used static libs matters even though '-Wl,--start-group' and ' -Wl,--end-group' params ARE used. Fixes at GccFamily toolsets build options: option -fPIC moved from GccFamily to GccUnixFamily toolset options for compatibility with GccMswinFamily.
1.5.6 version (2012.09.10)
Method Cpp::Target#source_encoding for setting default encoding source files was added. Method Cpp::Toolset#force_cpp0x_std for setting a flag includes "-std=c++0x" compiler option was added. Fixes at cpp-build-root generator. Fixes at Gcc_family toolsets build options.
1.3.0 version (2006.05.15)
New command line argument --mxx-rebuild. Added support for RuCodeGen 0.2.0. New methods Mxx_ru::BinaryTarget#lib_static, Mxx_ru::BinaryTarget#lib_shared. For now, they only make sense for Unix and GCC toolsets. New method QtGen#uic_result_subdir for specifying custom path to store uic results. Qt support improvement: Now, during a building of *.cpp file from *.ui, short form of *.hpp file name is specified in '-i' argument in order to get correct include definition. (e.g. 'some_header.hpp' instead of 'src/module/some_header.hpp'). Task 'test' is added into Rakefile for unit test automation. Some tests converted into unit-tests. Special mix-in TestWithCompilation (in tests/test_with_compilation.rb) added for this purpose. New Methods BinaryTarget#lib_path, BinaryTarget#lib_paths. Improvement: under mswin no longer necessary to specify library name with '.lib' extension. This extension automatically added by Visual C++ toolset if needed. Method Mxx_ru::Cpp::Target#target_ext and possibility for changing default target extension added. Added 'option extraction mode' for C/C++ targets (command-line argument '--mxx-cpp-extract-options' and its processing in Mxx_ru::Cpp::Target). New class for controlling ObjPlacement for C/C++ targets Mxx_ru::Cpp::CustomSubdirObjPlacement added. Refactoring: names of all classes converted into standard Ruby convention.
1.2.0 version (2006.04.15)
Added command-line arguments --mxx-brief-show, --mxx-brief-hide and method Mxx_ru.enable_show_brief for controlling brief description of executed commands. Argument prj_alias for composite_target, exe_target, lib_target and dll_target now optional. If it omitted than Mxx_ru try detect prj_alias form Kernel#caller result (assume what call to *_target method was made directly in project file). Added methods Abstract_target#required_prjs, Cpp::Target#c_sources, Cpp::Target#cpp_sources those accept Enumerable (plural form for corresponding singular analogs). New methods can accept result of Dir.glob(). Some fixes for MinGW C++, Borland C++ compilers.
1.1.0 version (2006.02..2006.04)
Documentation and commentaries are translated to english. Simplified MXX_RU_CPP_TOOLSET environment value setup. composite_target, dll_target, lib_target, exe_target methods are added, which allows to simplify description of common C++ projects. An ability to change default values for such parameters as runtime_mode, rtti_mode, rtl_mode, threading_mode was added. Fixed clean operations for Visual C++: - if .exp file is exists for current target, then corresponding .lib and .exp files are removed; - the way PDB files created was changed to create individual PDB file for each target, which is removed during a clean operation. VC++ 8.0 support was added, including manifests support. Mxx_ru is transformed to RubyGem.
1.0.12 version (2005.11.17)
Support of RuCodeGen for C++ projects was added. See Mxx_ru::Cpp::RuCodeGen class for details.
1.0.10 version (2005.08.04)
mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb file was added to support GNU C++ compiler on Solaris platform.
1.0.9 version (2005.07.12)
Bug, slowing down the work with projects containing large amount of DLL's on unix platforms was fixed. Added --mxx-cpp-no-depends-analyzer option, which turns off scanning of C++ files for dependencies.
1.0.7 version (2005.04.01)
Added Mxx_ru::Makestyle_generator class.
1.0.6 version (2004.11.26)
Bug, slowing down the work with projects conaining deep dependencies between each other was fixed. Problem was because of increase of intercalls to get values of spreadable options. Now, spreadable option values are cached and recalculated only on change.