Release Notes

cetbuildtools version:"6.01.00"

  • correct a bug in the definition of VIGILANT
  • add -Wnon-virtual-dtor and -Wdelete-non-virtual-dtor to VIGILANT
  • use cmake v3_9_5

cetbuildtools version:"6.00.02"

  • cmake_policy(SET CMP0042 NEW) instead of OLD, which is deprecated

cetbuildtools version:"6.00.01"

  • Correct e16 behavior (should be C++17).

cetbuildtools version:"6.00.00"

  • Hand-done, "test groups" facility changed to use CMake LABELS property. Notes:
    • buildtool has been updated to accommodate ths new behavior.
    • Prior to v6_00_00, it was necessary to re-run CMake to reconfigure which tests were selected; now it is only necessary to re-run the test stage (see documentation of the --sc|--short-circuit option to buildtool).
    • Tests declared using cet_test() without specification of OPTIONAL_GROUPS or NO_OPTIONAL_GROUPS options automatically have DEFAULT and RELEASE labels.
    • BREAKING Unadorned invocations of ctest at the command line will execute all tests regardless of label. In order to execute only DEFAULT or RELEASE tests, use buildtool or buildtool -R respectively. The equivalent command line options to ctest are -L '^DEFAULT$' and -L '^RELEASE$' respectively.
    • BREAKING Tests added with CMake-basic add_test() must have labels (including DEFAULT and RELEASE) added manually if that behavior is desired. Note that
      add_test([NAME] tgt
               [COMMAND] XX --yy --zz
      is equivalent to
      cet_test(tgt HANDBUILT
               TEST_EXEC XX
               TEST_ARGS -yy -zz
               TEST_WORKDIR DRCTRY)
      See ${CETBUILDTOOLS_DIR}/Modules/CetTest.cmake for full documentation of options.
    • BREAKING Tests added with ParseAndAddCatchTests() must have labels (including DEFAULT and RELEASE) added to the invocation of ParseAndAddCatchTests. Version v1_11_0 or better of the catch product is required for this.
    • BREAKING Labels (either specified to cet_test() or buildtool) are no longer forced to upper case, with the exception of all -> ALL.
    • BREAKING The CMake variable CET_OPTIONAL_GROUPS is ignored.
    • Permuted test sets are automatically given their test target name as a label in addition to any other labels.
    • buildtool now takes options --L and --LE which are passed through to the ctest invocation. They are mutually exclusive with the --test-groups option and its aliases and the -R and -T options, but not with each other.
    • The -v option to buildtool adds command line used for each stage of the build / test process to the output, both on the screen and in a log file, if the logging option is used.

cetbuildtools version:"5.16.00"

  • New option TEST_WORKDIR to allow by-hand specification of working directories for tests (modified suitably in the presence of permuted arguments).

cetbuildtools version:"5.15.02"

  • Institute separate working directories for each permuted test.

cetbuildtools version:"5.15.01"

  • Fix argument construction for REF tests.
  • Fix local policy settings to prevent unwanted, "newer" behavior with respect to executable linking.

cetbuildtools version:"5.15.00"

  • First cut of permuted argument facility: specify PARG_<label> <opt> <val>+ for multiple tests, each with <opt> <val> as arguments, for the specified values of <val>. Notes:
    • Multiple specifications are combined linearly, although an extension to support multipilcative combination has been allowed for but not implemented.
    • Binary (toggle) arguments are not supported.
    • A trailing = to <opt> will generate <opt>=<val> rather than the default <opt> <val>.
  • Drive-by improvement to buildtool status message.
  • Drive-by improvement to _cet_debug_message().

cetbuildtools version:"5.14.03"

  • UPS 6.0 support.
  • e16 / c1 support.

cetbuildtools version:"5.14.01"

  • Update templates and eXX support.

cetbuildtools version:"5.14.00"

  • add set_fwdir directive to product_deps
  • FW_SEARCH_PATH will be defined for the build environment
    • requires an update to setup_for_development

cetbuildtools version:"5.13.01"

  • update root dictionary support
  • additional support for root 6.10
  • see #17296

cetbuildtools version:"5.12.00"

  • support scoping of test target names

cetbuildtools version:"5.11.00"

  • improve how cet_make_exec() handles default source

cetbuildtools version:"5.10.01"

  • Support the Catch header-only C++ framework.
  • New option USE_CATCH_MAIN to share one main across all Catch-using test programs in a given project and reduce total project compilation time.

cetbuildtools version:"5.09.00"

cetbuildtools version:"5.08.00"

  • install LICENSE and/or README if found

cetbuildtools version:"5.07.00"

  • buildtool improvements

cetbuildtools version:"5.06.08"

cetbuildtools version:"5.06.07"

  • Rudimentary command wall clock in buildtool verbose mode.
  • resolve #15518

cetbuildtools version:"5.06.06"

  • add .tcc to the list of recognized header extensions

cetbuildtools version:"5.06.05"

  • set PKG_CONFIG_PATH (#13392)

cetbuildtools version:"5.06.04"

  • use cmake v3_7_1

cetbuildtools version:"5.06.03"

cetbuildtools version:"5.06.02"

  • add support for the e14 qualifier

cetbuildtools version:"5.06.01"

  • use cmake v3_7_0

cetbuildtools version:"5.06.00"

  • improved handling of the qualifier matrix
  • much better at finding problems with the matrix

cetbuildtools version:"5.04.08"

  • compiler can now be gcc, clang, or icc

cetbuildtools version:"5.04.07"

  • use cmake v3_6_2a
  • recognize e13

cetbuildtools version:"5.04.06"

  • plugins can now be named tool

cetbuildtools version:"5.04.04"

cetbuildtools version:"5.04.03"

cetbuildtools version:"5.04.02"

cetbuildtools version:"5.04.01"

cetbuildtools version:"5.04.00"

cetbuildtools version:"5.03.01"

cetbuildtools version:"5.03.00"

cetbuildtools version:"5.02.04"

cetbuildtools version:"5.02.03"

cetbuildtools version:"5.02.02"

cetbuildtools version:"5.02.01"

cetbuildtools version:"5.01.03"

cetbuildtools version:"5.00.01"

cetbuildtools version:"5.00.00"

cetbuildtools version:"4.19.05"

cetbuildtools version:"4.19.04"

cetbuildtools version:"4.19.03"

cetbuildtools version:"4.19.02"

cetbuildtools version:"4.19.01"

cetbuildtools version:"4.19.00"

  • unified cet_report instead of individual report functions.
    • Thanks to Ben Morgan for the code (#11696)
    • this change should be invisible to the user

cetbuildtools version:"4.18.04"

  • use -isystem ${BOOST_INC) instead of -I ${BOOST_INC)
    • -isystem dir: Search dir for header files, after all directories specified by -I but before the standard system directories. Mark it as a system directory, so that it gets the same special treatment as is applied to the standard system directories

cetbuildtools version:"4.18.03"

  • make sure install_source, install_fhicl, etc. really exclude files (#11708)

cetbuildtools version:"4.18.02"

  • deal appropriately with products whose names are all upppercase (TRACE)

cetbuildtools version:"4.18.01"

  • fix bug caused by overloaded cmake variable

cetbuildtools version:"4.18.00"

  • allow find_ups_product to be called without a minimum required version.
  • these are now legal commands:
    • find_ups_product( myprod )
    • find_ups_geant()
    • find_ups_root()
    • find_ups_boost()

cetbuildtools version:"4.17.03"

  • make sure BuildDictionary installs .pcm files generated by root 6

cetbuildtools version:"4.17.02"

  • fix cet_rootcint for root 6
    • headers are not generated by rootcint in root 6

cetbuildtools version:"4.17.01"

  • separating the BuildDictionary and checkClassVersion steps

cetbuildtools version:"4.17.00"

  • replace the "simple" option with "noarch" in ups/setup_for_development
    • It has always meant that we are building a NULL flavored product, so this makes it explicit.
    • Detect older copies of ups/setup_for_development in NULL flavored products and suggest the replacement.
  • new REQUIRED_FILES option in cet_test()
  • improve build_dictionary
  • improve internals

cetbuildtools version:"4.16.00"

  • cet_test() no longer interprets non-option arguments as DATAFILES.
    • Non-option arguments are now an error.

cetbuildtools version:"4.15.01"

  • set ROOT_ variables based on what libraries are found

cetbuildtools version:"4.15.00"

  • new function cet_install_files( DIRNAME <directory name> LIST <file_list> [FQ_DIR] )
    • If FQ_DIR is not specified, files will be installed in PRODUCT_DIR/<directory name>
    • If FQ_DIR is specified, files will be installed in PRODUCT_FQ_DIR/<directory name>

cetbuildtools version:"4.14.02"

  • fix typo introduced in v4_14_00 that accidentally disabled errors when using ALLOW_DEPRECATIONS

cetbuildtools version:"4.14.01"

  • provide support for the e9 qualifier

cetbuildtools version:"4.14.00"

  • implement ALLOW_DEPRECATIONS per issue #9881
  • make sure root is available when using build_dictionary
  • use cmake v3_3_2

cetbuildtools version:"4.13.00"

  • resolve #9813 and #9848
  • There are new templates for setup_for_development and setup_deps.
  • If an old copy of these files is found, you will get an error and instructions for the fix.

cetbuildtools version:"4.12.06"

  • make sure that FHICL_FILE_PATH is set appropriately when building
    • add these lines to ups/setup_for_development right after the call to set_dev_bin:
      # set FHICL_FILE_PATH
      source $CETBUILDTOOLS_DIR/bin/set_dev_fhicl
  • improve how buildtool checks for the specified generator (ninja or make)

cetbuildtools version:"4.12.05"

cetbuildtools version:"4.10.02"

  • Try to ensure that the perl files copied into the build directory mirror their placement in the eventual install directory.
    • This is important for testing the new cetskelgen feature in cetlib.

cetbuildtools version:"4.10.01" (integration release)

  • install_perllib() macro
    • install into the appropriate subdirectory under the perl library directory
    • if install_perllib() is called from a CetSkelPlugins directory, generate PluginVersionInfo
  • new setup_for_development.noarch.template for use when building NULL flavored products with cetbuildtools

cetbuildtools version:"4.10.00" (integration release)

  • add perllib to available directory definitions in ups/product_deps
    • if not set, no perl files will be installed
    • the default name for the perl library directory is perllib
    • prepend the path for the perl library directory to PERL5LIB
  • first iteration of install_perllib() macro
    • not ready for prime time

cetbuildtools version:"4.09.02"

  • improved cmake project Config files
  • improved test output comparison

cetbuildtools version:"4.09.01"

  • Using cmake v3_2_1, which has improved efficiency for OSX
  • Improve the generated cmake project Config.cmake file
    • add include_directories
    • use set() to define library names instead of calling find_library

cetbuildtools version:"4.09.00" (integration release)

  • New function cet_lib_alias for courtesy links to renamed libraries.
  • Add extra filter for --print-available-(services|modules) art exec option
  • If CET_SUBDIR is defined (cetpkgsupport v1_08_05 and later), use it instead of calling get-directory-name
  • remove some unnecessary verbosity
  • buildtool fix for ninja

cetbuildtools version:"4.08.01"

  • remove confusing debug statement

cetbuildtools version:"4.08.00" (integration release)

  • new buildtool option --generator
    • allowed arguments are make and ninja
    • make remains the default
  • make sure we only execute find_ups_product once per product

cetbuildtools version:"4.07.03"

  • improvements to cet_test

cetbuildtools version:"4.07.02"

  • support e7
  • improvements to cet_test
  • use getopt v1_1_6 (OSX)

cetbuildtools version:"4.07.01" (integration release)

  • use cmake v3_1_2

cetbuildtools version:"4.07.00" (integration release)

  • new buildtool option --deleted_header[s]
  • resolve #6630
  • fix cpack package name for the case where the product version has 4 components

cetbuildtools version:"4.06.00"

  • add buildtool --cmake-debug, --cmake-trace, and --verbose options
  • basic_plugin() takes new option NOP as separator (c.f. -- for shells).

cetbuildtools version:"4.05.00"

  • new SOURCE option in basic_plugin to allow specification of source file(s).
  • improve printing in buildtool, see #7564
  • add mrb support in build_dictionary and cet_test

cetbuildtools version:"4.04.03"

  • various fixes to allow building null flavored products in mrb

cetbuildtools version:"4.04.02"

  • add missing definition of ROOT_EGPYTHIA6

cetbuildtools version:"4.04.01"

  • improvements to test output comparison

cetbuildtools version:"4.04.00"

  • make the test output comparison option more useful
  • clean test working directory prior to execution of each test

cetbuildtools version:"4.03.03"

  • bug fix for install_fw()

cetbuildtools version:"4.03.02"

  • install_header() now also accepts USE_PRODUCT_NAME

cetbuildtools version:"4.03.01"

  • bug fix for USE_PRODUCT_NAME in basic_plugin()

cetbuildtools version:"4.03.00"

  • new feature: install_scripts accepts an AS_TEST option
    • This option is used to install test scripts in a specified directory
    • The default test directory is <product>/<version>/test
    • Install files with the .cfg extension in addition to other scripts. .cfg files are used by the Jenkins CI system.
  • new feature: basic_plugin, build_dictionary, and cet_make accept a USE_PRODUCT_NAME option
    • This option will prepend the product name to any calculated library name
    • This option may be useful if the recommended product structure myprod/myprod/<source code> is NOT used.

cetbuildtools version:"4.02.02"

  • if this is a null flavored product, do not attempt to check the (unused) compiler
  • fix logic problems

cetbuildtools version:"4.02.01"

  • do not add only_for_build products to the table file

cetbuildtools version:"4.02.00"

  • make sure the generated library name is the same whether or not mrb is used
  • cet_cmake_env now calls set_install_root - no longer needed in product CMakeLists.txt

cetbuildtools version:"4.01.04"

  • sort qualifier order

cetbuildtools version:"4.01.03"

  • Improve use of smc_compiler
  • Fix install_fhicl(LIST) and install_gdml(LIST)

cetbuildtools version:"4.01.02"

  • make compiler specification system work

cetbuildtools version:"4.01.01"

  • Honor global variable to enforce generating function information for dictionary.
  • Check compiler flags for consistent use of -std option.

cetbuildtools version:"4.01.00"

  • new cet_copy macro - resolves #6792

cetbuildtools version:"4.00.01"

  • use cmake 3.0.1
  • improvements to support gcc 4.9.1 and -std=c++1y
  • make sure we can still read an old-style product_deps
  • issue a warning with suggested fix if an old-style product_deps is found
  • add migrate-package script

cetbuildtools version:"4.00.00"

  • rework to allow multiple versions of the same product in product_deps
  • new qualifiers s1, s2, s3 (see AboutQualifiers)
  • product list ends with end_product_list
  • qualifier list ends with end_qualifier_list
  • users of cetbuildtools v4 need to update setup_for_development and product_deps.

v3_xx_yy Release Notes

v2_xx_yy Release Notes

v1_xx_yy Release Notes