Releases: robotology/ycm-cmake-modules
Releases · robotology/ycm-cmake-modules
YCM 0.10.2
YCM 0.10.2 (2019-04-26) Release Notes
Changes made since YCM 0.10.1 include the following.
Modules
Generic Modules
InstallBasicPackageFiles
: Fixed regular expressions for CMake < 3.9.YCMEPHelper
: Fixed CMake prefix path of subprojects.
CMake Next
- Updated to CMake v3.14.3 + commit
d170a3177fdc57c96034f8a2ecf5d0f9aff70af4
. FetchContent
: Fixed missing template file.- Fixed a few version checks that prevented from downloading future CMake modules or using them in YCM-dependent projects.
FindDoxygen
imported from CMake 3.9 was not compatible with Doxygen 1.8.15. Now imported from CMake 3.13 to fix this.FindPython
: Fixedfind_package(Python)
for CMake < 3.7.
YCM 0.10.1
YCM 0.10.1 (2019-04-08) Release Notes
Changes made since YCM 0.10.0 include the following.
Modules
Generic Modules
YCMEPHelper
: FixedExternalProject
sha1sum.
CMake Next
- Updated to CMake v3.14.0 + commit
52fb35bd69ec2fa1a5307695cb22c3f125debf4f
. FindGLEW
: FixedCMAKE_FIND_LIBRARY_SUFFIXES
content.
YCM 0.10.0
YCM 0.10.0 (2019-04-01) Release Notes
Changes made since YCM 0.9 include the following.
Build System
- YCM can now be included safely in another project using
FetchContent
.
Variables
- The following varibales are no longer cached, since they should be set from the project maintainer, and not by the user:
YCM_USE_CMAKE_<VERSION>
YCM_USE_CMAKE_NEXT
YCM_USE_CMAKE_PROPOSED
YCM_USE_3RDPARTY
YCM_USE_DEPRECATED
- The
YCM_USE_CMAKE
can now be used to disable simultaneously all theYCM_USE_CMAKE_<VERSION>
,YCM_USE_CMAKE_NEXT
, andYCM_USE_CMAKE_PROPOSED
variables.
Modules
Generic Modules
- The
InstallBasicPackageFiles
module learned to forward theARCH_INDEPENDENT
option towrite_basic_package_version_file
. - The
IncludeUrl
module no longer uses locks. - The
InstallBasicPackageFiles
module no longer looks for theConfig.cmake.in
in the root directory, only current source directory is supported. - The
YCMDefaultDirs
module default dirs now useCMAKE_CURRENT_BINARY_DIR
instead ofCMAKE_BINARY_DIR
. - The
YCMDefaultDirs
module is now deprecated. - The
InstallBasicPackageFiles
module no longer needsFIRST_TARGET
when used withEXPORT
. UsingFIRST_TARGET
is deprecated. InstallBasicPackageFiles
: theTARGETS
,TARGETS_PROPERTY
, andTARGETS_PROPERTIES
arguments are deprecated.- The
AddUninstallTarget
module must now be included in your mainCMakeLists.txt
. If included in a subdirectory it does nothing.
This allows you to use it safely in your mainCMakeLists.txt
and include your project usingadd_subdirectory
(for example when using it withFetchContent
). - The
AddUninstallTarget
module no longer tries to add theuninstall
target if the target it already exists, instead it does nothing. InstallBasicPackageFiles
: The list of targets is no longer used to decide whetherPRIVATE_DEPENDENCIES
should be enabled or not (only theBUILD_SHARED_LIBS
variable is used).
Dependencies forSTATIC
,OBJECT
, andINTERFACE
libraries should be passed asDEPENDENCIES
instead.InstallBasicPackageFiles
: TheNO_COMPATIBILITY_VARS
option is deprecated. The compatibility variables are no longer generated by default, and their generation is broken when usingEXPORT
. If required, it is possible to re-enable it using theENABLE_COMPATIBILITY_VARS
option (deprecated) or define them using eitherINCLUDE_FILE
orINCLUDE_CONTENT
(recommended).InstallBasicPackageFiles
: Fixed malformedfind_package()
when a package dependency had a required version, for CMake older than 3.9.- The
InstallBasicPackageFiles
module now considers a relativeEXPORT_DESTINATION
as relative toCMAKE_CURRENT_BINARY_DIR
instead ofCURRENT_BINARY_DIR
. InstallBasicPackageFiles
: Fixed export destination whenEXPORT_DESTINATION
is an absolute path.
Superbuild Helper Modules
- The
YCMEPHelper
module now supports theCMAKE_CACHE_DEFAULT_ARGS
argument. - The
YCMEPHelper
module supports theSOURCE_SUBDIR
argument. TheCONFIGURE_SOURCE_DIR
argument is now deprecated in favour ofSOURCE_SUBDIR
. - The
YCMEPHelper
module now passes the variableCMAKE_TOOLCHAIN_FILE
to the children projects. YCMEPHelper
: TheCMAKE_PREFIX_PATH
list passed to the subproject now has the first element the installation directory of the superbuild. This is to ensure that if a package is available in the system but it is disabled usingUSE_SYSTEM_<package>
set toOFF
, the version installed by the superbuild is the one found by the other packages in the superbuild.- The
YCMEPHelper
module now adds subproject to the main install target, if they provide acmake_install.cmake
file in their build directory. This file is automatically provided by CMake for projects installing at least one file. This feature should be considered experimental and might be modified or removed in the future. Please note that non-relocatable file will contain the path for the project installation (i.e. the path to theinstall
folder inside the superbuild binary directory), not toCMAKE_INSTALL_PREFIX
.
Find Modules
- The
FindLibOVR
module now works properly with VS2015. - The
FindPortAudio
module should now detect the library installed by vcpkg. - The
FindPortAudio
module now handles debug and release libraries. - Import
FindI2C
module from YARP Git Repository. - The
FindACE
module now creates theACE::ACE
andACE::ACE_INLINE
imported targets. TheACE_ADDR_HAS_LOOPBACK_METHOD
andACE_COMPILES_WITHOUT_INLINE_<CONFIG>
are now deprecated. - The
FindQt3
module is deprecated in favour of one from CMake. - Added
Findassimp
module to locate the Open Asset Importer Library (assimp). - Added
FindGLM
module to locate the OpenGL Mathematics (GLM) library.
CMake Next
- Updated to CMake v3.14.0 + commit
e67e4dbaadf3583d665fb5409b425e1a238d9748
. - Imported
FindDoxygen
module from CMake 3.9. - Imported
WriteBasicConfigVersionFile
andCMakePackageConfigHelpers
modules from CMake master, to support theARCH_INDEPENDENT
option inwrite_basic_package_version_file
. - Imported
FetchContent
module from CMake 3.11. - Imported
FindOpenGL
module from CMake 3.10. - The
ExternalProject
module was updated from CMake next. All the customizations were removed, with the exception of thegit
deleting clones fix. - The
FindGlew
module is now dowloaded from CMake master.
3rd Party
- Imported
FindGObject
module from qt-gstreamer Git Repository + some unmerged changes from robotology-dependencies fork. - Imported
CMakeRC
module from CMakeRC Git Repository. - Update Catch2 Git Repository to commit
4902cd721586822ded795afe0c418c553137306a
+ some unmerged changes from robotology-dependencies fork. - Imported
UseLATEX
module from UseLATEX Git Repository.
YCM 0.9.1
YCM 0.9.1 (2018-11-28) Release Notes
Changes made since YCM 0.9.0 include the following.
Modules
Generic Modules
FindOrBuildPackage
: Fixed a typo that madefind_or_build_package
dismiss the first argument passed after the requested package name.
Find Modules
- The
FindGLFW3
module is now using theglfw
target exported from upstream if available. - The
FindESDCANAPI
module is now also compatible with 64 bit libraries.
CMake Next
- Updated to CMake v3.13.0 + commit Kitware/CMake@3804122.
3rd Party
- Fixed
gstconfig.h
detection on windows inFindGStreamer
module.
YCM 0.9.0
YCM 0.9.0 (2017-07-23) Release Notes
Changes made since YCM 0.8 include the following.
Modules
Generic Modules
InstallBasicPackageFiles
: AddedINCLUDE_CONTENT
argument, similar toINCLUDE_FILE
but that passes the content from the command instead of an external file.InstallBasicPackageFiles
: The@INCLUDED_FILE_CONTENT@
variable in the template config file is deprecated in favour of@INCLUDED_CONTENT@
.
3rd Party
- Update Catch2 Git Repository to commit
76790604f523f7fb63741aca5fc7fc1cbc140763
(updatedCatchAddTests
andParseAndAddCatchTests
modules). - Imported modified version of the
FindGraphviz
module from the qgv Git Repository (modified version found here).
YCM 0.8.2
YCM 0.8.2 (2018-07-12) Release Notes
Changes made since YCM 0.8.1 include the following.
Modules
Generic Modules
InstallBasicPackageFiles
: Generator expressions are used to getINTERFACE_INCLUDE_DIRECTORIES
forNO_COMPATIBILITY_VARS
.InstallBasicPackageFiles
: TheINCLUDE_FILE
arguments now configures the file using@ONLY
.GitInfo
: Ensure that git commands are not executed outside a git repository or if the git executable is not available.
YCM 0.8.1
YCM 0.8.1 (2018-06-14) Release Notes
Changes made since YCM 0.8.0 include the following.
Modules
Generic Modules
InstallBasicPackageFiles
: Fixed targets list when usingEXPORT
andFIRST_TARGET
options.
Find Package Modules
FindACE
: Fixed deprecation warning when the module is included twice.
YCM 0.8.0
YCM 0.8.0 (2018-06-11) Release Notes
Changes made since YCM 0.6 include the following.
Build System
- CMake 3.5 or newer is now required.
Modules
Generic Modules
GitInfo
: Fixed for clones usinggit-worktree
InstallBasicPackageFiles
: AddedINCLUDE_FILE
argument to support appending user content to the generatedPackageConfig.cmake
file.InstallBasicPackageFiles
: AddedEXPORT
arguments to useexport(EXPORT)
instead ofexport(TARGETS)
(default = ) ifTARGETS
-related arguments are not passed.InstallBasicPackageFiles
: AddedFIRST_TARGET
argument to specify a target to check when usingEXPORT
(default = )InstallBasicPackageFiles
: AddedCOMPONENT
argument, forwarded to theinstall
commands.InstallBasicPackageFiles
: AddedINSTALL_DESTINATION
andEXPORT_DESTINATION
arguments, to install and generate the files in a path different from the default. TheDESTINATION
argument is now deprecated in favour ofINSTALL_DESTINATION
.InstallBasicPackageFiles
: AddedPRIVATE_DEPENDENCIES
argument to support dependencies that should be located only if the targets are builtSTATIC
(i.e. libraries linked asPRIVATE
).InstallBasicPackageFiles
: Fixed support for CMake < 3.9.
Find Modules
- The
FindFFMPEG
was replaced by the 3rd party one.
CMake Next
- Updated to CMake v3.11.2 + commit Kitware/CMake@f248f8a.
- Imported modules
FindPython.cmake
,FindPython/Support.cmake
,FindPython2.cmake
, andFind3Python.cmake
from CMake master (3.12).
3rd Party
- qt-gstreamer modules are now imported from the official qt-gstreamer Git Repository instead of from the
robotology-dependencies
clone. Catch
,CatchAddTests
, andParseAndAddCatchTests
modules imported from Catch2 Git Repository.- The
FindFFMPEG
is now imported from the VTK Git Repository (ref v8.1.1).
YCM 0.6.0
YCM 0.6.0 (2017-12-21) Release Notes
Changes made since YCM 0.4 include the following.
Modules
Generic Modules
GetAllCMakeProperties
: Add CMake policy stack PUSH and POPAddInstallRPATHSupport
: Added a new variableINSTALL_NAME_DIR
to specify the absolute installation path of the libraries.InstallBasicPackagesFiles
: AddTARGETS_PROPERTIES
argument to support multiple target properties.InstallBasicPackagesFiles
: AddTARGETS
argument to allow passing the targets without using a propertyInstallBasicPackagesFiles
: AddDEPENDENCIES
argument. Dependencies added to this list will be searched usingfind_dependency
. The dependencies will replace the@PACKAGE_DEPENDENCIES@
string in the template file.InstallBasicPackagesFiles
: Fixed namespace in exported targets.InstallBasicPackagesFiles
: Keep internal files in current directory.InstallBasicPackagesFiles
: AddCONFIG_TEMPLATE
argument. Also allow the config file in current source directory and improveUPPERCASE_FILENAMES
andLOWERCASE_FILENAME
handling.InstallBasicPackagesFiles
: Allow to use@PACKAGE_VERSION@
in template files. This argument is replaced with the value of theVERSION
argument.InstallBasicPackagesFiles
: AddNO_COMPATIBILITY_VARS
arguments. If set, the generation of the compatibility variables<VARS_PREFIX>_LIBRARIES
and<VARS_PREFIX>_INCLUDE_DIRS
is disabled. Also improve the generation of the<VARS_PREFIX>_INCLUDE_DIRS
variable.
Superbuild Helper Modules
YCMEPHelper
: UpdatedGITLAB_ROBOTOLOGY
style to the new git address.YCMEPHelper
: Added optionFOLDER
(if not set, theCOMPONENT
value is used).YCMEPHelper
: Fixedycm_write_dot_file
command not generating valid dot files for projects containing the dash character in the project name.YCMEPHelper
: Styles are no longer defined inYCMEPHelper.cmake
but in separate style files. This should simplify adding a new style.YCMEPHelper
: Improved graphs generated byycm_write_dot_file
. It is now possible to change colours for each component by setting theYCM_<COMPONENT>_COLOR
,YCM_<COMPONENT>_BGCOLOR
, andYCM_<COMPONENT>_NODECOLOR
variables.
Find Package Modules
FindACE
: RemoveACE_HAS_STRING_HASH
check
CMake Next
- Updated to CMake v3.10 + commit Kitware/CMake@51ccfaa.
- Imported
BasicConfigVersion-SameMinorVersion.cmake.in
from master and modifiedWriteBasicConfigVersionFile
, in order to supportSameMinorVersion
compatibility inwrite_basic_package_version_file
and ininstall_basic_packages_files
.
3rd Party
FindGLIB2
,FindGStreamer
,FindGStreamerPluginsBase
, andMacroFindGStreamerLibrary
modules imported from qt-gstreamer Git Repository.
YCM 0.4.0
YCM 0.4.0 (2017-06-15) Release Notes
Changes made since YCM 0.2 include the following.
Build System
- CMake 3.0 or newer is now required.
Modules
Find Package Modules
- New module
FindOpenNI2
- New module
FindZFP
FindACE
: preserve the state ofCMAKE_TRY_COMPILE_CONFIGURATION
FindGLFW3
: improve detection on win32FindLibOVR
: Update FindLibOVR for MSVC 2015FindLibOVR
: Fix FindLibOVR debug outputFindLibOVR
: Fix library versionFindIPOPT
: Add workaround for robotology/icub-main#418