The NetBSD Project

CVS log for pkgsrc/devel/cmake/patches/Attic/patch-Source_CursesDialog_ccmake.cxx

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / cmake / patches

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.7, Wed Nov 25 10:33:28 2020 UTC (3 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +1 -1 lines
FILE REMOVED

cmake cmake-gui: updated to 3.19.1

CMake 3.19.1

ci: update to use CMake 3.19.0
gitlab-ci: update macOS jobs to use Xcode 12.0
Revert ãà×Ôpecify language flag when source LANGUAGE property is setãàFindGTest: Revert ãà×¢llow either ãà×¥ebugãàor ãà׳eleaseãàconfigurations.ãàMakefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Xcode: Fix custom command work-dir placeholders in ãà×Ïew build systemãàTests: Match RunCMake.CMP0111 stderr more strictly
cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries
cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library
cmGlobalGenerator: FindMakeProgram() at a generator-specific time
cmFileTime: Fix overflow on time computation
Help: Fix ãàÐä ¨ versionaddedãàdirectives for CTEST_CUSTOM_* variables
CUDA: Clang CUDA 11.1 support
CUDA: Error if canãàÑÕ determine toolkit library root


CMake 3.19 Release Notes
************************

Changes made since CMake 3.18 include the following.


New Features
============


Presets
-------

* "cmake(1)" and "cmake-gui(1)" now recognize "CMakePresets.json" and
  "CMakeUserPresets.json" files (see "cmake-presets(7)").


Generators
----------

* The "Xcode" generator now uses the Xcode ãà×Ïew build systemãàwhen
  generating for Xcode 12.0 or higher. See the
  "CMAKE_XCODE_BUILD_SYSTEM" variable. One may use "-T buildsystem=1"
  to switch to the legacy build system.

* The "Xcode" generator gained support for linking libraries and
  frameworks via the *Link Binaries With Libraries* build phase
  instead of always by embedding linker flags directly.  This behavior
  is controlled by a new "XCODE_LINK_BUILD_PHASE_MODE" target
  property, which is initialized by a new
  "CMAKE_XCODE_LINK_BUILD_PHASE_MODE" variable.

* The Visual Studio Generators for VS 2015 and above gained support
  for the Visual Studio Tools for Android.  One may now set
  "CMAKE_SYSTEM_NAME" to "Android" to generate ".vcxproj" files for
  the Android tools.


Languages
---------

* CMake learned to support "ISPC" as a first-class language that can
  be enabled via the "project()" and "enable_language()" commands.
  "ISPC" is currently supported by the Makefile Generators and the
  "Ninja" generator on Linux, macOS, and Windows using the Intel ISPC
  compiler.

* "CUDA" language support for Clang now includes:

  * separable compilation ("CUDA_SEPARABLE_COMPILATION"), and

  * finding scattered toolkit installations when cross-compiling.


File-Based API
--------------

* The "cmake-file-api(7)" ãà×Äodemodelãàversion 2 "version" field has
  been updated to 2.2.

* The "cmake-file-api(7)" ãà×Äodemodelãàversion 2 ãà×Õargetãàobject gained
  a new "languageStandard" field in the "compileGroups" objects.


Command-Line
------------

* The "cmake(1)" command-line toolãàÑÔ "--install" mode gained a "--
  default-directory-permissions" option.

* "cmake(1)" gained a "-E create_hardlink" command-line tool that can
  be used to create hardlinks between files.


GUI
---

* The "CMake GUI" now has an environment variable editor.


Commands
--------

* The "add_test()" command now (officially) supports whitespace and
  other special characters in the name for the test it creates. See
  policy "CMP0110".

* The "cmake_language()" command gained a "DEFER" mode to schedule
  command calls to occur at the end of processing a directory.

* The "configure_file()" command gained a "NO_SOURCE_PERMISSIONS"
  option to suppress copying the input fileãàÑÔ permissions to the
  output file.

* The "execute_process()" command gained a "COMMAND_ERROR_IS_FATAL"
  option to specify a fatal error.

* The "file(ARCHIVE_CREATE)" command gained a "COMPRESSION_LEVEL"
  option to specify the compression level.

* The "file(CHMOD)" and "file(CHMOD_RECURSE)" subcommands were added
  to set permissions of files and directories.

* The "file(DOWNLOAD)" command "" argument is now optional.  If
  it is not specified, the file is not saved.

* The "file(GENERATE)" command gained a new "TARGET" keyword to
  support resolving target-dependent generator expressions.

* The "file()" command gained a new "REAL_PATH" sub-command to compute
  a path with symlinks resolved.

* The "find_package()" command learned to handle a version range.

* The "separate_arguments()" command gained a new "PROGRAM" option. It
  allows the arguments to be treated as a program invocation and will
  resolve the executable to a full path if it can be found.

* The "DIRECTORY" option of the "set_property()", "get_property()",
  and "get_directory_property()" commands now accepts references to
  binary directory paths, such as the value of
  "CMAKE_CURRENT_BINARY_DIR".

* The "string()" command gained a set of new "JSON" sub commands that
  provide JSON parsing capabilities.


Variables
---------

* The "CMAKE_CLANG_VFS_OVERLAY" variable was added to tell Clang to
  use a VFS overlay to support the Windows SDK when cross-compiling
  from hosts with case-sensitive filesystems.

* The "CMAKE_MFC_FLAG" variable now supports generator expressions.

* The "CMAKE_OPTIMIZE_DEPENDENCIES" variable was added to initialize
  the new "OPTIMIZE_DEPENDENCIES" target property and avoid
  unnecessarily building dependencies for a static library.

* The "CMAKE_PCH_INSTANTIATE_TEMPLATES" variable was added to
  initialize the new "PCH_INSTANTIATE_TEMPLATES" target property.

* The "CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM" variable was
  added to tell the Visual Studio Generators what maximum version of
  the Windows SDK to choose.


Properties
----------

* The "EXCLUDE_FROM_ALL" target property now supports "generator
  expressions".

* The "OPTIMIZE_DEPENDENCIES" target property was added to avoid
  unnecessarily building dependencies for a static library.

* The "PCH_INSTANTIATE_TEMPLATES" target property was added to enable
  template instantiation in the precompiled header. This is enabled by
  default and may significantly improve compile times. Currently only
  supported for Clang (version 11 or later).

* The "WIN32_EXECUTABLE" target property now supports "generator
  expressions".


Modules
-------

* The "CheckCompilerFlag" module has been added to generalize
  "CheckCCompilerFlag" and "CheckCXXCompilerFlag" to more languages.
  It also supports the "CUDA" and "ISPC" languages.

* The "CheckLinkerFlag" module now supports the "CUDA" language.

* The "CheckSourceCompiles" module has been added to generalize
  "CheckCSourceCompiles" and "CheckCXXSourceCompiles" to more
  languages. It also supports the "CUDA" and "ISPC" languages.

* The "CheckSourceRuns" module has been added to generalize
  "CheckCSourceRuns" and "CheckCXXSourceRuns" to more languages. It
  also supports the "CUDA" language.

* The "CMakePackageConfigHelpers" module gained support for version
  ranges.

* The "FindCUDAToolkit" module gained support for finding CUDA
  toolkits that do not contain "nvcc", as well as for finding
  scattered toolkit installations when cross-compiling.

* The "FindPackageHandleStandardArgs" module learned to handle version
  ranges. It also gained the "find_package_check_version()" command to
  check the validity of a version against version-related arguments of
  "find_package()" command.

* The "FindPython3", "FindPython2" and "FindPython" modules gained the
  ability to handle a version range.

* The "FindPython3", "FindPython2" and "FindPython" modules provide,
  respectively, the variable "Python3_LINK_OPTIONS",
  "Python2_LINK_OPTIONS" and "Python_LINK_OPTIONS" for link options.

* The "FindSDL" module now provides:

  * An imported target "SDL::SDL".

  * Result variables "SDL_LIBRARIES" and "SDL_INCLUDE_DIRS".

  * Version variables "SDL_VERSION", "SDL_VERSION_MAJOR",
    "SDL_VERSION_MINOR", and "SDL_VERSION_PATCH".

* The "FindSWIG" module gained the ability to handle a version range.

* The "FindTIFF" module gained a "CXX" component to find the "tiffxx"
  library containing C++ bindings.

* The "FindVulkan" module now provides a "Vulkan::glslc" imported
  target and associated "Vulkan_GLSLC_EXECUTABLE" variable which
  contain the path to the GLSL SPIR-V compiler.

* The "UseSWIG" module gained support for new source file properties
  "OUTPUT_DIR" and "OUTFILE_DIR" to manage output directories on a
  per-source basis.


CTest
-----

* "ctest(1)" now supports the CUDA "compute-sanitizer" checker
  (previously known as "cuda-memcheck") as the
  "CTEST_MEMORYCHECK_COMMAND". The different tools ("memcheck",
  "racecheck", "synccheck" and "initcheck") supported by "compute-
  sanitizer" can be selected by adding appropriate flags to the
  "CTEST_MEMORYCHECK_COMMAND_OPTIONS" variable.  The default flags are
  "--tool memcheck --leak-check full".


CPack
-----

* CPack gained the "CPACK_PRE_BUILD_SCRIPTS",
  "CPACK_POST_BUILD_SCRIPTS", and "CPACK_PACKAGE_FILES" variables.

* The "CPack External Generator" gained the
  "CPACK_EXTERNAL_BUILT_PACKAGES" variable.

* The "CPack WIX Generator" gained a "CPACK_WIX_CUSTOM_XMLNS" option
  to specify custom XML namespaces.


Other
-----

* Interface Libraries may now have source files added via
  "add_library()" or "target_sources()".  Those with sources will be
  generated as part of the build system.


Deprecated and Removed Features
===============================

* Compatibility with versions of CMake older than 2.8.12 is now
  deprecated and will be removed from a future version.  Calls to
  "cmake_minimum_required()" or "cmake_policy()" that set the policy
  version to an older value now issue a deprecation diagnostic.

* An explicit deprecation diagnostic was added for policy "CMP0071"
  ("CMP0071" and below were already deprecated). The "cmake-
  policies(7)" manual explains that the OLD behaviors of all policies
  are deprecated and that projects should port to the NEW behaviors.

* macOS SDKs older than 10.5 are no longer supported.

* "cmake-gui(1)" now requires Qt5. Support for compiling with Qt4 has
  been removed.

* The "cmake(1)" command-line option "--warn-unused-vars" has been
  removed and is now silently ignored.  The option has not worked
  correctly since CMake 3.3.


Documentation
=============

The following guides have been added:

* "IDE Integration Guide"

* "Importing and Exporting Guide"


Other Changes
=============

* Building for macOS will now use the latest SDK available on the
  system, unless the user has explicitly chosen a SDK using
  "CMAKE_OSX_SYSROOT".  The deployment target or system macOS version
  will not affect the choice of SDK.

* The "CMAKE_<LANG>_COMPILER" variable may now be used to store
  ãà×Îandatoryãàcompiler flags like the "CC" and other environment
  variables.

* The "CMAKE_<LANG>_FLAGS_INIT" variable will now be considered during
  the compiler identification check if other sources like
  "CMAKE_<LANG>_FLAGS" or "CFLAGS" are not set.

* The "find_program()" command now requires permission to execute but
  not to read the file found.  See policy "CMP0109".

* An imported target missing its location property fails during
  generation if the location is used.  See policy "CMP0111".

* The following target-based generator expressions that query for
  directory or file name components no longer add a dependency on the
  evaluated target. See policy "CMP0112".

  * "TARGET_FILE_DIR"

  * "TARGET_LINKER_FILE_BASE_NAME"

  * "TARGET_LINKER_FILE_NAME"

  * "TARGET_LINKER_FILE_DIR"

  * "TARGET_SONAME_FILE_NAME"

  * "TARGET_SONAME_FILE_DIR"

  * "TARGET_PDB_FILE_NAME"

  * "TARGET_PDB_FILE_DIR"

  * "TARGET_BUNDLE_DIR"

  * "TARGET_BUNDLE_CONTENT_DIR"

* Makefile Generators no longer repeat custom commands from target
  dependencies.  See policy "CMP0113".

* The "ExternalProject" module handling of step target dependencies
  has been revised.  See policy "CMP0114".

* The "OSX_ARCHITECTURES" target property is now respected for the
  "ASM" language.

* If "CUDA" compiler detection fails with user-specified
  "CMAKE_CUDA_ARCHITECTURES" or "CMAKE_CUDA_HOST_COMPILER", an error
  is raised.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Nov 27 22:32:27 2019 UTC (4 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.5: +9 -9 lines
Diff to previous 1.5 (colored)

cmake: updated to 3.16.0

3.16.0:

New Features
============


Languages
---------

* CMake learned to support the Objective C ("OBJC") and Objective
  C++ ("OBJCXX") languages.  They may be enabled via the "project()"
  and "enable_language()" commands.  When "OBJC" or "OBJCXX" is
  enabled, source files with the ".m" or ".mm", respectively, will be
  compiled as Objective C or C++.  Otherwise they will be treated as
  plain C++ sources as they were before.


Compilers
---------

* The "Clang" compiler is now supported on "Solaris".


Platforms
---------

* On AIX, executables using the "ENABLE_EXPORTS" target property now
  produce a linker import file with a ".imp" extension in addition to
  the executable file.  Plugins (created via "add_library()" with the
  "MODULE" option) that use "target_link_libraries()" to link to the
  executable for its symbols are now linked using the import file. The
  "install(TARGETS)" command now installs the import file as an
  "ARCHIVE" artifact.

* On AIX, runtime linking is no longer enabled by default.  CMake
  provides the linker enough information to resolve all symbols up
  front. One may manually enable runtime linking for shared libraries
  and/or loadable modules by adding "-Wl,-G" to their link flags (e.g.
  in the "CMAKE_SHARED_LINKER_FLAGS" or "CMAKE_MODULE_LINKER_FLAGS"
  variable). One may manually enable runtime linking for executables
  by adding "-Wl,-brtl" to their link flags (e.g. in the
  "CMAKE_EXE_LINKER_FLAGS" variable).


Command-Line
------------

* "cmake(1)" "-E" now supports "true" and "false" commands, which do
  nothing while returning exit codes of 0 and 1, respectively.

* "cmake(1)" gained a "--trace-redirect=" command line option
  that can be used to redirect "--trace" output to a file instead of
  "stderr".

* The "cmake(1)" "--loglevel" command line option has been renamed
  to "--log-level" to make it consistent with the naming of other
  command line options.  The "--loglevel" option is still supported to
  preserve backward compatibility.


Commands
--------

* The "add_test()" command learned the option "COMMAND_EXPAND_LISTS"
  which causes lists in the "COMMAND" argument to be expanded,
  including lists created by generator expressions.

* The "file()" command learned a new sub-command,
  "GET_RUNTIME_DEPENDENCIES", which allows you to recursively get the
  list of libraries linked by an executable or library. This sub-
  command is intended as a replacement for "GetPrerequisites".

* The "find_file()", "find_library()", "find_path()",
  "find_package()", and "find_program()" commands have learned to
  check the following variables to control searching

  * "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH" - Controls the searching
    the cmake-specific environment variables.

  * "CMAKE_FIND_USE_CMAKE_PATH" - Controls the searching the cmake-
    specific cache variables.

  * "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH" - Controls the searching
    cmake platform specific variables.

  * "CMAKE_FIND_USE_PACKAGE_ROOT_PATH" - Controls the searching of
    "_ROOT" variables.

  * "CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH" - Controls the
    searching the standard system environment variables.

* The "find_package()" command has learned to check the following
  variables to control searching

  * "CMAKE_FIND_USE_PACKAGE_REGISTRY" - Controls the searching the
    cmake user registry.

* The "message()" command learned indentation control with the new
  "CMAKE_MESSAGE_INDENT" variable.

* The "target_precompile_headers()" command was added to specify a
  list of headers to precompile for faster compilation times.


Variables
---------

* The "CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS" variable has been
  introduced to optionally initialize the
  "CUDA_RESOLVE_DEVICE_SYMBOLS" target property.

* The "CMAKE_ECLIPSE_RESOURCE_ENCODING" variable was added to
  specify the resource encoding for the the "Eclipse CDT4" extra
  generator.


Properties
----------

* The "BUILD_RPATH" and "INSTALL_RPATH" target properties now
  support "generator expressions".

* The "INSTALL_REMOVE_ENVIRONMENT_RPATH" target property was added
  to remove compiler-defined "RPATH" entries from a target. This
  property is initialized by the
  "CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH" variable.

* The "PRECOMPILE_HEADERS" target property was added to specify a
  list of headers to precompile for faster compilation times. Set it
  using the "target_precompile_headers()" command.

* The "UNITY_BUILD" target property was added to tell generators to
  batch include source files for faster compilation times.

* The "VS_CONFIGURATION_TYPE" target property now supports
  "generator expressions".

* The "VS_DPI_AWARE" target property was added to tell Visual Studio
  Generators to set the "EnableDpiAwareness" property in ".vcxproj"
  files.

* The "XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING" target property was
  added to tell the "Xcode" generator to set the value of the "Allow
  debugging when using document Versions Browser" schema option.


Modules
-------

* The "FindDoxygen" module "doxygen_add_docs()" command gained a new
  "USE_STAMP_FILE" option.  When this option present, the custom
  target created by the command will only re-run Doxygen if any of the
  source files have changed since the last successful run.

* The "FindGnuTLS" module now provides an imported target.

* The "FindPackageHandleStandardArgs" module
  "find_package_handle_standard_args()" command gained a new
  "REASON_FAILURE_MESSAGE" option to specify a message giving the
  reason for the failure.

* The "FindPkgConfig" module "pkg_search_module()" macro now defines
  a "_MODULE_NAME" result variable containing the first
  matching module name.

* The "FindPython3" and "FindPython" modules gained options to
  control which "ABIs" will be searched.

* The "FindPython3", "FindPython2", and "FindPython" modules now
  support direct specification of artifacts via cache entries.


Autogen
-------

* When using "AUTOMOC", CMake now generates the "-p" path prefix
  option for "moc".  This ensures that "moc" output files are
  identical on different build setups (given, that the headers
  compiled by "moc" are in an "include directory"). Also it ensures
  that "moc" output files will compile correctly when the source
  and/or build directory is a symbolic link.

  The "moc" path prefix generation behavior can be configured by
  setting the new "CMAKE_AUTOMOC_PATH_PREFIX" variable and/or
  "AUTOMOC_PATH_PREFIX" target property.


CTest
-----

* "ctest(1)" now has the ability to serialize tests based on
  resource requirements for each test. See Resource Allocation for
  details.

* A new test property, "SKIP_REGULAR_EXPRESSION", has been added.
  This property is similar to "FAIL_REGULAR_EXPRESSION" and
  "PASS_REGULAR_EXPRESSION", but with the same meaning as
  "SKIP_RETURN_CODE". This is useful, for example, in cases where the
  user has no control over the return code of the test. For example,
  in Catch2, the return value is the number of assertion failed,
  therefore it is impossible to use it for "SKIP_RETURN_CODE".


CPack
-----

* "cpack(1)" learned support for multiple configurations for "-C"
 option.

* The "CPack DEB Generator" is now able to format generic text
  (usually used as the description for multiple CPack generators)
  according to the Debian Policy Manual.  See the
  "CPACK_PACKAGE_DESCRIPTION_FILE" and
  "CPACK_DEBIAN__DESCRIPTION" variables.

* The "CPack Archive Generator" learned to generate ".tar.zst"
  packages with Zstandard compression.


Deprecated and Removed Features
===============================

* An explicit deprecation diagnostic was added for policy "CMP0067"
  ("CMP0066" and below were already deprecated). The "cmake-
  policies(7)" manual explains that the OLD behaviors of all policies
  are deprecated and that projects should port to the NEW behaviors.

* The "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" variable has been
  deprecated.  Use the "CMAKE_FIND_USE_PACKAGE_REGISTRY" variable
  instead.

* The "GetPrerequisites" module has been deprecated, as it has been
  superceded by "file(GET_RUNTIME_DEPENDENCIES)".

* The "CPACK_INSTALL_SCRIPT" variable has been deprecated in favor
  of the new, more accurately named "CPACK_INSTALL_SCRIPTS" variable.


Other Changes
=============

* The "cmake(1)" "-C " option now evaluates the
  initial cache script with "CMAKE_SOURCE_DIR" and "CMAKE_BINARY_DIR"
  set to the top-level source and build trees.

* The "cmake(1)" "-E remove_directory" command-line tool, when given
  the path to a symlink to a directory, now removes just the symlink.
  It no longer removes content of the linked directory.

* The "ctest(1)"  "--build-makeprogram" command-line option now
  specifies the make program used when configuring a project with the
  "Ninja" generator or the Makefile Generators.

* The "ExternalProject" module "ExternalProject_Add()" command has
  been updated so that "GIT_SUBMODULES """ initializes no submodules.
  See policy "CMP0097".

* The "FindGTest" module has been updated to recognize MSVC build
  trees generated by GTest 1.8.1.

* The "project()" command no longer strips leading zeros in version
  components.  See policy "CMP0096".

* The Qt Compressed Help file is now named "CMake.qch", which no
  longer contains the release version in the file name.  When CMake is
  upgraded in-place, the name and location of this file will remain
  constant. Tools such as IDEs, help viewers, etc. should now be able
  to refer to this file at a fixed location that remains valid across
  CMake upgrades.

* "RPATH" entries are properly escaped in the generated CMake
  scripts used for installation.  See policy "CMP0095".

* When using "CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" on Windows the auto-
  generated exports are now updated only when the object files
  providing the symbols are updated.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jul 19 17:44:34 2017 UTC (6 years, 9 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

3.9.0:
* The ãà×·isual Studio 14 2015ãàgenerator has been taught about a
change to the ãà××140ãàtoolset made by a VS 2015 update. VS changed
the set of values it understands for the ãàרenerateDebugInformationãàlinker setting that produces the ãàDEBUGãàlinker flag variants.

* ãàפUDAãàis now supported by the Visual Studio Generators for VS
2010 and above. This complements the existing support by the
Makefile Generators and the ãàׯinjaãàgenerator. CUDA 8.0.61 or higher
is recommended due to known bugs in the VS integration by earlier
versions.

* CMake is now aware of the ãàפ++ standardsãàand ãàפ standardsãàand
their associated meta-features for the following ãà×Äompiler idsãà
ãàפrayãà ãà×±GIãà and ãà×¹Lãà

* The ãà×Âdd_library()ãàcommand ãàתMPORTEDãàoption learned to support
Object Libraries.

* All ãà×Çind_ãàcommands now have a ãà×±ACKAGE_ROOTãàsearch path group
that is first in the search heuristics. If a ãà×Çind_ãàcommand is
called from inside a find module, then the CMake variable and
environment variable named ãà×ÀROOTãàare used as prefixes
and are the first set of paths to be searched.

* The ãà×Ênstall(TARGETS)ãàcommand learned a new ãà×°BJECTSãàoption to
specify where to install Object Libraries.

* The ãà×Ênstall(EXPORT)ãàcommand learned how to export Object
Libraries.

* A ãà×£UILD_WITH_INSTALL_NAME_DIRãàtarget property and corresponding
ãàפMAKE_BUILD_WITH_INSTALL_NAME_DIRãàvariable were added to control
whether to use the ãàתNSTALL_NAME_DIRãàtarget property value for
binaries in the build tree. This is for macOS ãà×Ênstall_nameãàas
ãà×£UILD_WITH_INSTALL_RPATHãàis for ãà׳PATHãà
* A ãàפUDA_PTX_COMPILATIONãàtarget property was added to Object
Libraries to support compiling to ãàptxãàfiles instead of host
object files.

* A new ãàרoogleTestãàmodule was added to provide the
ãà×Ètest_add_tests()ãàfunction independently of the ãàקindGTestãàmodule. The function was also updated to support keyword arguments,
with functionality expanded to allow a test name prefix and suffix
to be specified, the dependency on the source files to be optional
and the list of discovered test cases to be returned to the caller.

* The ãàׯinjaãàgenerator has loosened the dependencies of object
compilation. Object compilation now depends only on custom targets
and custom commands associated with libraries on which the objectãàÑÔ
target depends and no longer depends on the libraries themselves.
Source files in dependent targets may now compile without waiting
for their targetsãàdependencies to link.
* Interprocedural optimization (IPO) is now supported for GNU and
Clang compilers using link time optimization (LTO) flags. See the
ãàתNTERPROCEDURAL_OPTIMIZATIONãàtarget property and
ãàפheckIPOSupportedãàmodule.

* The ãà×µARGET_OBJECTSãàãà×Èenerator expressionãàis now supported by
the ãà×Âdd_custom_command()ãàand ãà×Çile(GENERATE)ãàcommands.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Apr 24 22:48:48 2017 UTC (6 years, 11 months ago) by maya
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base, pkgsrc-2017Q2
Changes since 1.3: +12 -3 lines
Diff to previous 1.3 (colored)

cmake: fix build under netbsd-6

don't use DT_RUNPATH if it's not defined
include cstdlib as our patch uses exit

from yancm via pkgsrc-users

Revision 1.3 / (download) - annotate - [select for diffs], Tue Apr 11 20:18:54 2017 UTC (7 years ago) by adam
Branch: MAIN
Changes since 1.2: +6 -6 lines
Diff to previous 1.2 (colored)

Changes 3.8.0:
CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above.

C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES.

More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...).

CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands.
CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release.
The NVIDIA CUDA Toolkit compiler (nvcc) is supported.

The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES.
The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature.
The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4.

A new minimal platform file for Fuchsia was added.

The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM.
The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts.
The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild ãà×Õargetsãàfiles to be imported into generated project files.

...more...

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 28 17:44:43 2016 UTC (7 years, 8 months ago) by prlw1
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.1: +16 -14 lines
Diff to previous 1.1 (colored)

Update cmake to 3.6.1

CMake 3.6 Release Notes
***********************

Changes made since CMake 3.5 include the following.

New Features
============

Generators
----------

* The :generator:`Ninja` generator learned to produce phony targets
  of the form ``sub/dir/all`` to drive the build of a subdirectory.
  This is equivalent to ``cd sub/dir; make all`` with
  :ref:`Makefile Generators`.

* The :generator:`Ninja` generator now includes system header files in build
  dependencies to ensure correct re-builds when system packages are updated.

* The :generator:`Visual Studio 14 2015` generator learned to support the
  Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option.
  This feature is experimental.

Commands
--------

* The :command:`add_custom_command` and :command:`add_custom_target` commands
  learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable
  target property.

* The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option
  to leave installation rules out of the default installation.

* The :command:`list` command gained a ``FILTER`` sub-command to filter
  list elements by regular expression.

* The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)`
  commands gained support for the ``%s`` placeholder.  This is
  the number of seconds since the UNIX Epoch.

Variables
---------

* A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced
  to tell :ref:`Makefile Generators` to limit dependency scanning only
  to files in the project source and build trees.

* A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to
  indicate when CMake is running on an Oracle Solaris host.

* A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was
  added for use by toolchain files to specify system include directories
  to be appended to all compiler command lines.

* The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented.
  It is intended for use by toolchain files to specify system libraries to be
  added to all linker command lines.

* A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced
  to tell the :generator:`Ninja` generator to configure the generated
  ``build.ninja`` file for use as a ``subninja``.

* A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was
  added for use by toolchain files to specify platform-specific
  variables that must be propagated by the :command:`try_compile`
  command into test projects.

* A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added
  to optionally tell the :command:`try_compile` command to build
  a static library instead of an executable.  This is useful for
  cross-compiling toolchains that cannot link binaries without
  custom flags or scripts.

Properties
----------

* A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced
  to tell the :generator:`Visual Studio 9 2008` and
  :generator:`Visual Studio 8 2005` generators to generate the "remote
  directory" for WinCE project deployment and debugger settings.

* A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting
  :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the
  :ref:`Makefile Generators` and the :generator:`Ninja` generator to run
  ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages.

* A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to
  optionally tell CTest to enforce a secondary timeout after matching
  certain output from a test.

* A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced
  to specify a custom project file type for :ref:`Visual Studio Generators`
  supporting VS 2010 and above.

* A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced
  to specify for :ref:`Visual Studio Generators` the default startup
  project for generated solutions (``.sln`` files).

Modules
-------

* The :module:`CMakePushCheckState` module now pushes/pops/resets the variable
  ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`.

* The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1``
  option to perform a shallow clone of a Git repository.

* The :module:`ExternalProject` module learned to initialize Git submodules
  recursively and also to initialize new submodules on updates.  Use the
  ``GIT_SUBMODULES`` option to restrict which submodules are initalized and
  updated.

* The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1``
  argument to skip extracting the file that is downloaded (e.g., for
  self-extracting shell installers or ``.msi`` files).

* The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching
  from git repositories.

* The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to
  support `OpenBLAS <http://www.openblas.net>`__.

* The :module:`FindCUDA` module learned to find the ``cublas_device`` library.

* The :module:`FindGTest` module ``gtest_add_tests`` function now causes
  CMake to automatically re-run when test sources change so that they
  can be re-scanned.

* The :module:`FindLTTngUST` module was introduced to find the LTTng-UST
  library.

* The :module:`FindPkgConfig` module learned to optionally create imported
  targets for the libraries it has found.

* The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION``
  variable and check the version number requested in a :command:`find_package`
  call.

* The :module:`InstallRequiredSystemLibraries` module learned a new
  ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment
  of the Windows Universal CRT libraries with Visual Studio 2015.

Platforms
---------

* The Clang compiler is now supported on CYGWIN.

* Support was added for the Bruce C Compiler with compiler id ``Bruce``.

CTest
-----

* The :command:`ctest_update` command now looks at the
  :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether
  submodules should be updated or not before updating.

* The :command:`ctest_update` command will now synchronize submodules on an
  update. Updates which add submodules or change a submodule's URL will now be
  pulled properly.

CPack
-----

* The :module:`CPackDeb` module learned how to handle ``$ORIGIN``
  in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
  is used for dependency auto detection.

* The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs``
  contorl file when package contains shared libraries.

* The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and
  ``DEBIAN/postrm`` files if the package installs libraries in
  ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).

* The :module:`CPackDeb` module learned how to generate dependencies between
  Debian packages if multi-component setup is used and
  :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set.
  For backward compatibility this feature is disabled by default.
  See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`.

* The :module:`CPackDeb` module learned how to set custom package file names
  including how to generate properly-named Debian packages::

    <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb

  For backward compatibility this feature is disabled by default. See
  :variable:`CPACK_DEBIAN_FILE_NAME` and
  :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`.

* The :module:`CPackDeb` module learned how to set the package release number
  (``DebianRevisionNumber`` in package file name when used in combination with
  ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`).  See
  :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.

* The :module:`CPackDeb` module learned how to set the package architecture
  per-component.  See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.

* The :module:`CPackDMG` module learned a new option to tell the CPack
  ``DragNDrop`` generaor to skip the ``/Applications`` symlink.
  See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable.

* The :module:`CPackIFW` module gained a new
  :command:`cpack_ifw_update_repository` command to update a QtIFW-specific
  repository from a remote repository.

* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of
  RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for
  e.g. on Fedora).
  See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.

* The :module:`CPackRPM` module learned how to set default values for owning
  user/group and file/directory permissions of package content.
  See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`,
  :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`,
  :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component
  counterparts.

* The :module:`CPackRPM` module learned how to set user defined package file
  names, how to specify that rpmbuild should decide on file name format as
  well as handling of multiple rpm packages generated by a single user defined
  spec file.
  See :variable:`CPACK_RPM_PACKAGE_NAME` and
  :variable:`CPACK_RPM_<component>_PACKAGE_NAME`.

* The :module:`CPackRPM` module learned how to correctly handle symlinks
  that are pointing outside generated packages.

Other
-----

* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
  is now aware of features supported by Intel C++ compilers versions 12.1
  through 16.0 on UNIX platforms.

Deprecated and Removed Features
===============================

* The :module:`CMakeForceCompiler` module and its macros are now deprecated.
  See module documentation for an explanation.

* The :command:`find_library`, :command:`find_path`, and :command:`find_file`
  commands no longer search in installation prefixes derived from the ``PATH``
  environment variable on non-Windows platforms.  This behavior was added in
  CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts.
  Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for
  their tools do not necessarily want any supporting ``<prefix>/lib``
  directories searched.  One may set the ``CMAKE_PREFIX_PATH`` environment
  variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are
  to be searched.

* The :generator:`Visual Studio 7 .NET 2003` generator is now
  deprecated and will be removed in a future version of CMake.

* The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been
  removed.  It had been deprecated since CMake 3.3.

* The :generator:`Visual Studio 6` generator has been removed.
  It had been deprecated since CMake 3.3.

Other Changes
=============

* The precompiled OS X binary provided on ``cmake.org`` now requires
  OS X 10.7 or newer.

* On Linux and FreeBSD platforms, when building CMake itself from source and
  not using a system-provided libcurl, OpenSSL is now used by default if it is
  found on the system.  This enables SSL/TLS support for commands supporting
  network communication via ``https``, such as :command:`file(DOWNLOAD)`,
  :command:`file(UPLOAD)`, and :command:`ctest_submit`.

* The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple
  ``--target`` options with an error instead of silently ignoring all but the
  last one.

* :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source
  files in different directories use ``#include <moc_foo.cpp>`` with the
  same name (because the generated ``moc_foo.cpp`` files would collide).

* The :module:`FindBISON` module ``BISON_TARGET`` macro now supports
  special characters by passing the ``VERBATIM`` option to internal
  :command:`add_custom_command` calls.  This may break clients that
  added escaping manually to work around the bug.

* The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports
  special characters by passing the ``VERBATIM`` option to internal
  :command:`add_custom_command` calls.  This may break clients that
  added escaping manually to work around the bug.

* The :module:`FindProtobuf` module input and output variables were all renamed
  from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules.
  Input variables of the old case will be honored if provided, and output
  variables of the old case are always provided.

* The :module:`CPackRPM` module now supports upper cased component
  names in per component CPackRPM specific variables.
  E.g. component named ``foo`` now expects component specific
  variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before
  it expected ``CPACK_RPM_foo_PACKAGE_NAME``.
  Upper cased component name part in variables is compatible
  with convention used for other CPack variables.
  For back compatibility old format of variables is still valid
  and preferred if both versions of variable are set, but the
  preferred future use is upper cased component names in variables.
  New variables that will be added to CPackRPM in later versions
  will only support upper cased component variable format.

* The CPack NSIS generator's configuration file template was fixed to
  quote the path to the uninstaller tool used by the
  :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option.
  This avoids depending on an insecure Windows feature to run an
  uninstaller tool with a space in the path.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Dec 11 19:23:22 2015 UTC (8 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4

initscr is supposed to return NULL on error. Some versions of ncurses at
least like to play nanny and error out internally, but catch those
errors explicitly. Stops segfault when using NetBSD curses with invalid
TERM settings.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>