Skip to content

Releases: tsayukov/flexible-cmake-modules

Release list

v0.3.0

v0.3.0 Pre-release
Pre-release

Choose a tag to compare

@tsayukov tsayukov released this 19 Sep 16:05

Changelog:

  • Improved installation. The add_project_* commands takes the EXCLUDE_FROM_INSTALLATION option to exclude the project target from installation, if ${NAMESPACE}_ENABLE_INSTALL is not already turn off. Otherwise, each project target is added to the ${PROJECT_SOURCE_DIR} directory property, which is used in the install_project_targets command.
  • Added a new parameter RECURSIVE to the no_in_source_builds_guard command.
  • Added a new command get_project_target_name to resolve a target's name.
  • Added memory checking support (use valgrind).
  • Renamed the enable_if_project_variable_is_set command to enable_if. It can also able to resolve a variable's name as well as the get_project_target_name does.
  • Removed the ${lang}_standard_guard command and improved the use_${lang}_standard_at_least command.
  • Added support for shared libraries (a new generate_project_export_header command, set SOVERSION and VERSION properties, support of rpath changing).
  • Added getter/setter for the project root directory's properties.
  • Made Common.cmake divide to separate modules.

Full Changelog: v0.2.0...v0.3.0

v0.2.0

v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@tsayukov tsayukov released this 04 Sep 19:46

Changelog:

  • Removed short aliases for project targets due to a bug. Instead of that feature, added project_target_* commands, that are, target_* command's counterparts, which can take ${namespace}::<target_suffix> as well as the short names of project targets and regular targets (in this precedence). The install_project_targets command works the similar way now.
  • Removed cxx_*_options targets, which include corresponding compile options, due to invalid behavior. Now use CXX_OPTIONS variable and a family of CXX_*_OPTIONS variables instead. Note that CXX_ERROR_OPTIONS is not a part of CXX_OPTIONS anymore. Include it manually.
  • Install component can be used in CMake presets now. See a new add_component_target command for details.
  • Added Python virtual environment support. See PythonVenv module for details.
  • Added google benchmark tools support. See Benchmarking module for details.
  • CMAKE_EXPORT_COMPILE_COMMANDS is turned on in the developer mode now. Also a symlink to compile_commands.json is created in build directory, if there's no any.
  • Added a new requires_cmake command.
  • Improved some documentation.

Full Changelog: v0.1.0...v0.2.0