Skip to content

YCM 0.2.0

Compare
Choose a tag to compare
@drdanz drdanz released this 17 Nov 10:52
· 770 commits to master since this release

YCM 0.2.0 (2016-11-17) Release Notes

Changes made since YCM 0.1 include the following.

Build System

  • Use the INSTALL_PREFIX argument for
    CMakePackageConfigHelpers. This simplifies a lot the creation
    of the YCMConfig.cmake file for the binary tree.
  • Fixed warnings with CMake 3.2.
  • Added RunCMake unit tests.
  • Added YCM_CMAKE_DOWNLOAD_URL variable and use github as default
    download url.
  • Try to download the files up to 3 times in order to avoid common network
    issues.
  • YCMBootstrap: Fix env variables list truncated to first element in
    Windows (#100).

Modules

Generic Modules

  • StandardFindModule: Add QUIET argument.
  • New module GitInfo.
  • IncludeUrl: Several bug fixes and improvement.
  • New module ReplaceImportedTargets.
  • StandardFindModule: handle the new TARGET and
    REPLACE_TARGETS arguments, to create automatically the specified
    imported target and to replace the known targets paths with the
    relative target name (in pkg-config mode only). If any of the
    STANDARD_FIND_MODULE_USE_IMPORTED_TARGET or
    STANDARD_FIND_MODULE_USE_IMPORTED_TARGET_<NAME> are specified, and the
    TARGET argument is given, the <NAME>_LIBRARIES variable content is
    replaced with the corresponding imported target.
  • StandardFindModule: Ensure that include directories exists.
  • StandardFindModule: Fix INTERFACE_COMPILE_{DEFINITIONS,OPTIONS}
    properties.
  • New module GetAllCMakeProperties.
  • StandardFindModule Fix QUIET argument.

Packaging Helper Modules

  • InstallBasicPackageFiles: Use the new INSTALL_PREFIX argument
    for CMakePackageConfigHelpers.
  • New module AddInstallRPATHSupport: Add RPATH support when
    building executables or shared libraries.
  • AddInstallRPATHSupport: Accept multiple conditions for the DEPENDS
    argument. This makes the DEPENDS argument similar to the
    CMakeDependentOptions module.
  • fix AddInstallRPATHSupport for installation in system path

Superbuild Helper Modules

  • YCMEPHelper now handles tests for sub-projects.
  • YCMEPHelper: Pass PKG_CONFIG_USE_CMAKE_PREFIX_PATH to
    subprojects.
  • YCMEPHelper: Prepare for CMAKE_CACHE_DEFAULT_ARGS. The argument
    is accepted, but not yet passed to ExternalProject_Add
  • YCMEPHelper: Pass PKG_CONFIG_PATH to non CMake subprojects.
  • ExternalProject: Fix CMP0054 warnings.
  • YCMEPHelper: Move CMAKE_PREFIX_PATH to command line arguments.
    This fixes pkg-config not able to detect packages built by YCM.
  • YCMEPHelper: Fix .dot files generation for modules containing the
    - character in the name.
  • YCMEPHelper: Do not force CMake cache default arguments that are not
    set in the main project.
  • FindOrBuildPackage: Extract version argument from ARGN.
  • YCMEPHelper: variables in commands are no longer replaced. Instead
    of passing variables that are internal to YCMEPHelper, the user should use
    <SOURCE_DIR>, <BINARY_DIR>, <INSTALL_DIR>, and <TMP_DIR> that
    are automatically replaced by ExternalProject.
  • YCMEPHelper: Handle and use CONFIGURE_SOURCE_DIR argument in order
    to support projects in a subdirectory.
  • YCMEPHelper: Propagate CMAKE_SKIP_INSTALL_RPATH flag to all
    sub-projects.

Find Package Modules

  • New module FindqpOASES.
  • Import FindFreenect new module from YARP Git Repository.
  • Import FindFTDI new module from YARP Git Repository.
  • Import FindLibusb1 new module from YARP Git Repository.
  • Import FindOpenNI new module from YARP Git Repository.
  • Import FindReadline new module from YARP Git Repository.
  • Import FindStage new module from YARP Git Repository.
  • New module FindLibdc1394.
  • FindFFMPEG: Fix for recent ffmpeg version on debian
  • Import FindFuse new module from YARP Git Repository.
  • Import FindGLFW3 new module from YARP Git Repository.
  • Import FindLibOVR new module from YARP Git Repository.
  • FindODE: Use double precision by default when available.
  • FindESDCANAPI: Fixed find library procedure.
  • FindIPOPT: Improvements and restored required IPOPT_LINK_FLAGS
    variable.
  • Import FindLibv4l2 new module from iCub Git Repository.
  • Import FindLibv4lconvert new module from iCub Git Repository.
  • Create imported targets in FindGooCanvas, FindGooCanvasMM,
    FindGtkDatabox, and FindGtkDataboxMM modules.
  • FindIPOPT supports IPOPT from new binary releases of the
    iCub Git Repository.
  • FindIPOPT supports IPOPT from the coinor-libipopt-dev debian
    package.
  • FindGLFW3 improves detection on windows.
  • Fixed FindGLUT module on Window 64 bit.
  • Fixed stray ; character in FindODE.
  • New module FindLibedit.
  • New module FindNVIDIACg.

Build Package Modules

  • New module BuildqpOASES.
  • BuildGooCanvas: Change command variable style.
  • New modules BuildGooCanvasMM BuildGtkDatabox
    BuildGtkDataboxMM.
  • BuildYARP: Build and use GooCanvasMM and GtkDataboxMM as
    dependencies.
  • BuildICUB: Do not build canBus devices.

CMake Proposed Modules

  • ExternalProject: Init only selected git submodules.
  • ExternalProject: Handle CONFIGURE_SOURCE_DIR argument. This
    argument can be used when the the main CMakeLists.txt file is not in the
    source directory, but in a subdirectory.

CMake Next

  • Updated to CMake v3.7.0 + commit
    Kitware/CMake@ab4a9a9.
  • CMakePackageConfigHelpers module imported from CMake 3.1.
  • FindLua module imported from CMake 3.0.
  • FindMatlab module imported from CMake 3.7.
  • FindArmadillo module removed (available in CMake
    2.8.9).
  • FindGLEW module imported with patch applied to improve
    detection on windows.
  • ExternalProject: Handle CONFIGURE_SOURCE_DIR argument in
    order to support projects in a subdirectory.
  • CMakeFindDependencyMacro module imported from CMake 3.0.
  • FindSWIG and UseSWIG modules imported from
    CMake master.

3rd Party

Variables

  • Update YCM_USE_CMAKE_<VERSION>: variables and relative
    documentation.