Up to [cvs.NetBSD.org] / pkgsrc / devel / cmake
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
*: recursive bump for default Kerberos implementation switch
*: recursive bump for icu 77 and libxml2 2.14
*: remove MirBSD support
cmake cmake-gui: updated to 3.31.1 3.31.1 This version made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions.
*: recursive bump for icu 76 shlib major version bump
cmake cmake-gui: updated to 3.31.0 CMake 3.31 Release Notes ************************ Changes made since CMake 3.30 include the following. New Features ============ Presets ------- * "cmake-presets(7)" files may now include comments using the key "$comment" at any level within the JSON object to provide documentation. * "cmake-presets(7)" files may now request graphviz output using the "graphviz" key in a configure preset. Generators ---------- * The Ninja Generators and Makefile Generators now produce a "codegen" build target. See policy "CMP0171". It drives a subset of the build graph sufficient to run custom commands created with "add_custom_command()"'s new "CODEGEN" option. Command-Line ------------ * The "cmake --workflow" mode now accepts a preset name as the first argument, allowing the simpler command line "cmake --workflow <preset>". * The "cmake -LR[A][H]" option was added to list cache entries whose names match a regular expression. Compilers --------- * The LFortran compiler is now supported with "compiler id" "LFortran". Commands -------- * The "add_custom_command()" command gained a "CODEGEN" option to mark a custom command's outputs as dependencies of a "codegen" target. See policy "CMP0171". * The "cmake_pkg_config()" command was added as an endpoint for using CMake's native pkg-config format parser. The only supported option in this release is "EXTRACT", which provides low-level access to the values produced by parsing a pkg-config file. For most users, this is not yet a suitable replacement for the "FindPkgConfig" module. * The "file(ARCHIVE_CREATE)" command gained a "WORKING_DIRECTORY" option to specify a working directory for the archiving process. * The "file(MAKE_DIRECTORY)" command gained a "RESULT" option to capture failure in a result variable. * The "install(FILES)" and "install(DIRECTORY)" commands' "TYPE" argument gained support for a "LIBEXEC" type. Variables --------- * The "CMAKE_AIX_SHARED_LIBRARY_ARCHIVE" variable and corresponding "AIX_SHARED_LIBRARY_ARCHIVE" target property were added to create shared libraries on AIX as shared library archives. * The "CMAKE_EXPORT_BUILD_DATABASE" variable, a corresponding "CMAKE_EXPORT_BUILD_DATABASE" environment variable, and an "EXPORT_BUILD_DATABASE" target property, were added to enable exporting C++ module compile commands. This is only supported with Ninja Generators. * The "CMAKE_HOST_EXECUTABLE_SUFFIX" variable was added to provide the suffix for executable names on the host platform. * The "CMAKE_<LANG>_HOST_COMPILER_ID" and "CMAKE_<LANG>_HOST_COMPILER_VERSION" variables were added, where "<LANG>" is either "CUDA" or "HIP". They are populated when "CMAKE_<LANG>_COMPILER_ID" is "NVIDIA" to identify NVCC's host compiler. * The "CMAKE_<LANG>_STANDARD_LINK_DIRECTORIES" variable was added. Toolchain files can set this variable to control which link library directory paths are always passed to the compiler for the specified language. * The "CMAKE_LINK_LIBRARIES_STRATEGY" variable and corresponding "LINK_LIBRARIES_STRATEGY" target property were added to optionally specify the strategy CMake uses to generate link lines. Properties ---------- * The "MACOSX_FRAMEWORK_BUNDLE_NAME" target property was added to set the "CFBundleName" key in an Apple "FRAMEWORK"'s "Info.plist" file. * The "UNITY_BUILD" target property now supports the "CUDA" language. * The "VS_FRAMEWORK_REFERENCES" target property was added to tell Visual Studio Generators to add framework references. Modules ------- * Check modules now support a "CMAKE_REQUIRED_LINK_DIRECTORIES" variable. The following modules gained this support: * "CMakePushCheckState" * "CheckCCompilerFlag" * "CheckCSourceCompiles" * "CheckCSourceRuns" * "CheckCXXCompilerFlag" * "CheckCXXSourceCompiles" * "CheckCXXSourceRuns" * "CheckCXXSymbolExists" * "CheckCompilerFlag" * "CheckFortranCompilerFlag" * "CheckFortranFunctionExists" * "CheckFortranSourceCompiles" * "CheckFortranSourceRuns" * "CheckFunctionExists" * "CheckIncludeFile" * "CheckIncludeFileCXX" * "CheckIncludeFiles" * "CheckOBJCCompilerFlag" * "CheckLibraryExists" * "CheckOBJCCompilerFlag" * "CheckOBJCSourceCompiles" * "CheckOBJCSourceRuns" * "CheckOBJCXXCompilerFlag" * "CheckOBJCXXSourceCompiles" * "CheckOBJCXXSourceRuns" * "CheckPrototypeDefinition" * "CheckSourceCompiles" * "CheckSourceRuns" * "CheckStructHasMember" * "CheckSymbolExists" * "CheckTypeSize" * "CheckVariableExists" * The "CMakePackageConfigHelpers" module's "generate_apple_platform_selection_file()" function gained support for iOS Mac Catalyst. * The "GoogleTest" module "gtest_discover_tests()" command gained a new "DISCOVERY_EXTRA_ARGS" keyword. It allows extra arguments to be appended to the command line when querying for the list of tests. * The "FindCUDAToolkit" module now provides a "CUDA::nvml_static" target. * The "FindOpenMP" module gained support for the "CUDA" language. CTest ----- * The "ctest_submit()" command and "ctest -T Submit" step now verify TLS server certificates for connections to "https://" URLs by default. See the "CTEST_TLS_VERIFY" variable for details. * The "ctest_submit()" command and "ctest -T Submit" step now require TLS 1.2 or higher for connections to "https://" URLs by default. See the "CTEST_TLS_VERSION" variable for details. CPack ----- * The "CPack DEB Generator" gained a "CPACK_DEBIAN_PACKAGE_MULTIARCH" option to support multi-arch packages. * The "CPack IFW Generator" gained the new "CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS" variable to specify images associated with entries of "CPACK_IFW_PACKAGE_PRODUCT_IMAGES". This feature is available for QtIFW 4.0 and newer. * The "CPack RPM Generator" gained support for "zstd" as a "CPACK_RPM_COMPRESSION_TYPE" value. * The "CPack" module enables per-machine installation by default in the "CPack WIX Generator". See policy "CMP0172" and the "CPACK_WIX_INSTALL_SCOPE" variable. Deprecated and Removed Features =============================== * Compatibility with versions of CMake older than 3.10 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. * The "CMakeFindFrameworks" module has been deprecated via "CMP0173". Projects should use "find_library()" instead. * The "Visual Studio 12 2013" generator has been removed. Other Changes ============= * When static libraries on link lines are de-duplicated (by policy "CMP0156"), the first occurrence is now kept on all platforms. See policy "CMP0179". * Empty list elements in the "TEST_LAUNCHER" and "CROSSCOMPILING_EMULATOR" target properties are now preserved by: * The "add_test()" command. * The "ExternalData_Add_Test()" command from the "ExternalData" module. * The "gtest_add_tests()" and "gtest_discover_tests()" commands from the "GoogleTest" module. Empty list elements after the "EXTRA_ARGS" keyword of these two commands are also now preserved. See policy "CMP0178". * The "execute_process()" command's "ENCODING" option, meaningful on Windows, now defaults to "UTF-8". See policy "CMP0176". * The "file(DOWNLOAD)" and "file(UPLOAD)" commands now verify TLS server certificates for connections to "https://" URLs by default. See the "CMAKE_TLS_VERIFY" variable for details. This change was made without a policy so that users are protected even when building projects that have not been updated. Users may set the "CMAKE_TLS_VERIFY" environment variable to "0" to restore the old default. * The "file(DOWNLOAD)" and "file(UPLOAD)" commands now require TLS 1.2 or higher for connections to "https://" URLs by default. See the "CMAKE_TLS_VERSION" variable for details. * The "file(GET_RUNTIME_DEPENDENCIES)" command was updated to more closely match the dynamic loader's behavior on Linux. * The "install()" command's "DESTINATION" arguments are now normalized, with the exception of "INCLUDES DESTINATION" arguments in "install(TARGETS)". See policy "CMP0177". * The "project()" command now always sets "<PROJECT-NAME>_SOURCE_DIR", "<PROJECT-NAME>_BINARY_DIR", and "<PROJECT-NAME>_IS_TOP_LEVEL" as both normal variables and cache entries. See policy "CMP0180". * The "cmake_parse_arguments(PARSE_ARGV)" command now defines a variable for an empty string after a single-value keyword. See policy "CMP0174".
*: revbump for icu downgrade
*: recursive bump for icu 76.1 shlib bump
cmake cmake-gui: updated to 3.30.0 CMake 3.30 Release Notes ************************ Changes made since CMake 3.29 include the following. New Features ============ Presets ------- * "cmake-presets(7)" files now support schema version "9". "include" fields now expand all macros except "$env{}" and preset-specific macros, i.e., those derived from the fields inside a preset's definition. File-Based API -------------- * The "cmake-file-api(7)" "cmakeFiles" version 1 object's "version" field has been updated to 1.1. It gained a "globsDependent" field to report "file(GLOB)" calls using "CONFIGURE_DEPENDS". Generators ---------- * Visual Studio Generators now add "UseDebugLibraries" indicators to ".vcxproj" files to denote which configurations are debug configurations. See policy "CMP0162". Languages --------- * The "Compile Features" functionality now implements support for the "cxx_std_26" and "cuda_std_26" meta-features to indicate that the compiler mode must be at least C++26. These meta-features were first documented by CMake 3.25, but were not fully implemented. Commands -------- * The "add_library()" command, on platforms that do not support shared libraries, now rejects creation of shared libraries instead of automatically converting them to static libraries. See policy "CMP0164". * The "enable_language()" command now fails with an error if it is called before the first "project()" call. See policy "CMP0165". * The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained a "TLS_VERSION <min>" option to specify the minimum TLS version for connections to "https://" URLs. Variables --------- * The "CMAKE_<LANG>_STANDARD_LATEST" variable was added to describe the latest "<LANG>" language standard CMake supports for the selected compiler. * The "CMAKE_TLS_VERIFY" environment variable was added as a fallback to the existing "CMAKE_TLS_VERIFY" variable. It specifies whether to verify the server certificate for "https://" URLs by default. * The "CMAKE_TLS_VERSION" variable and "CMAKE_TLS_VERSION" environment variable were added to specify a default minimum TLS version for connections to "https://" URLs by the "file(DOWNLOAD)" and "file(UPLOAD)" commands. * The "CMAKE_VS_USE_DEBUG_LIBRARIES" variable and corresponding "VS_USE_DEBUG_LIBRARIES" target property were added to explicitly control "UseDebugLibraries" indicators in ".vcxproj" files. Properties ---------- * The "GENERATED" source file property is now visible in all directories. See policy "CMP0163". Policy "CMP0118"'s documentation has been revised to describe its actual effects. * The "PROPAGATE_TOP_LEVEL_INCLUDES_TO_TRY_COMPILE" global property can be used to propagate "CMAKE_PROJECT_TOP_LEVEL_INCLUDES" into "try_compile()" calls that use the whole-project signature. This is primarily intended as a way for dependency providers to be enabled in such "try_compile()" calls. * A "VS_FILTER_PROPS" target property was added to tell Visual Studio Generators to use a custom MSBuild filter ".props" file. Modules ------- * The "ExternalProject" module's "ExternalProject_Add()" command gained a "TLS_VERSION <min>" option, and support for the "CMAKE_TLS_VERSION" variable and "CMAKE_TLS_VERSION" environment variable, to specify the minimum TLS version for connections to "https://" URLs. * The "FindBacktrace" module now provides an imported target. * The "FindBLAS" and "FindLAPACK" modules gained support for "libblastrampoline". * The "FindCUDAToolkit" module now provides a target for "libnvfatbin" and "libnvfatbin_static", if found. * The "FindCUDAToolkit" module now searches the "CMAKE_CUDA_COMPILER" variable and the "CUDACXX" environment variable even when the "CUDA" language isn't enabled. * The "FindOpenMP" module gained an "OpenMP_RUNTIME_MSVC" option to control the OpenMP runtime used with MSVC. * The "FindPython" and "FindPython3" modules gained support for the free threaded Python version. * The "FindPython", "FindPython2", and "FindPython3" modules, on Windows, now offer better support for the Python debug variant: * new variables: * "Python_EXECUTABLE_DEBUG" * "Python_INTERPRETER" * "Python_DEBUG_POSTFIX" * new targets: * "Python::InterpreterDebug" * "Python::InterpreterMultiConfig" The "python_add_library()" command now manages the "DEBUG_POSTFIX" target property based on the value of the "Python_DEBUG_POSTFIX" variable. Generator Expressions --------------------- * The "<LANG>_COMPILER_FRONTEND_VARIANT" family of generator expressions were added to access the value of the associated "CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT" variables. * Link features, as used with the "LINK_LIBRARY" generator expression, gained the ability to have attributes that describe their behavior by specifying the "CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES" or "CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES" variables. * The "QUOTE" generator expression was added to evaluate to """. * The "TARGET_PROPERTY" generator expression learned to evaluate custom transitive properties defined by new "TRANSITIVE_COMPILE_PROPERTIES" and "TRANSITIVE_LINK_PROPERTIES" target properties. * The "TARGET_PROPERTY" generator expression now evaluates target properties "INTERFACE_LINK_OPTIONS", "INTERFACE_LINK_DIRECTORIES", and "INTERFACE_LINK_DEPENDS" correctly by following private dependencies of static libraries. See policy "CMP0166". CTest ----- * The "ctest_submit()" command and "ctest -T Submit" step gained "TLSVersion" and "TLSVerify" options to control negotiation with "https://" URLs. See the "CTEST_TLS_VERSION" and "CTEST_TLS_VERIFY" variables. CPack ----- * The "CPack Inno Setup Generator" is now available on non-Windows hosts. * The "CPack NuGet Generator" gained the "CPACK_NUGET_PACKAGE_README", "CPACK_NUGET_PACKAGE_REPOSITORY_URL", "CPACK_NUGET_PACKAGE_REPOSITORY_TYPE", "CPACK_NUGET_PACKAGE_REPOSITORY_BRANCH", and "CPACK_NUGET_PACKAGE_REPOSITORY_COMMIT" variables. * The "CPack NuGet Generator" can now generate dependency groups for framework-specific dependencies. The "CPACK_NUGET_PACKAGE_TFMS" variable was added to specify a list of target framework monikers (TFMs) for which groups should be generated. * The "CPack WIX Generator" gained support for WiX Toolset v4. See the "CPACK_WIX_VERSION" variable. Deprecated and Removed Features =============================== * The "FindBoost" module has been removed by policy "CMP0167". Port projects to upstream Boost's "BoostConfig.cmake" package configuration file, for which "find_package(Boost)" now searches. * Calling "FetchContent_Populate()" with just the name of a dependency is now deprecated. Projects should call "FetchContent_MakeAvailable()" instead. See policy "CMP0169". Calling "FetchContent_Populate()" with full population details rather than just a dependency name remains fully supported. * The "Visual Studio 9 2008" generator has been removed. Other Changes ============= * The precompiled Windows ".msi" installers provided on cmake.org, when performing a fresh installation, now modify the system-wide "PATH" by default. When replacing an existing installation of 3.30 or later, the "PATH" modification preference is preserved by default. * The official ".zip" source archive provided on cmake.org now uses LF newlines, instead of CRLF newlines, for consistency with modern conventions. * The durations printed after "Configuring done" and "Generating done" messages now reflect time spent in generator-specific steps, and in a code model evaluation step at the beginning of generation that was not previously captured. Printed durations may appear longer than in previous versions of CMake, but are more accurate. * "FetchContent" now prefers to populate content directly rather than using a separate sub-build. This may significantly improve configure times on some systems (Windows especially, but also on macOS when using the Xcode generator). "cmake --fresh" also forces the download, update, and patch steps of directly populated dependencies to be re-executed. Policy "CMP0168" provides backward compatibility for those projects that still rely on using a sub-build for content population. * When "FETCHCONTENT_FULLY_DISCONNECTED" is set to true, "FetchContent_MakeAvailable()" and the single-argument form of "FetchContent_Populate()" require that the dependency's source directory has already been populated. CMake 3.29 and earlier did not check this requirement, but it is now enforced, subject to policy "CMP0170".
cmake cmake-gui: updated to 3.29.4 CMake 3.29.4 * cmCxxModuleMapper: add a query for the open mode for the modmap * ExternalProject: Restore support for Xcode with an effective platform * CMP0037: Restore diagnostic message for invalid ALIAS target names * libuv: win/spawn: disable extra-file-descriptor support not needed by CMake * VS: Fix compiler identification of nvcc with unsupported host compiler * Tests/RunCMake/execute_process: Check STARTUPINFOW reserved members * KWSys: ConsoleBuf: Fix test case when running under Windows Terminal * Help: Update MSVC_VERSION range for VS 17.10's MSVC 14.40 toolset
revbump after icu and protobuf updates
devel/cmake: cmake wants 64-bit atomics. No revbump because this wouldn't build without it on platforms where it is needed, and no change on platforms where it isn't needed.
*: recursive bump for gnutls p11-kit option (existing installations need the bl3.mk included, but it's now only optionally included)
cmake cmake-gui: updated to 3.27.8 CMake 3.27.8 * Tests/ObjectLibrary: fix comment * cmComputeLinkDepends: also copy the target from object link items * cmComputeLinkInformation: skip over linking to items for object purposes * Fortran: Restore support for TARGET_OBJECTS providing modules * curl: Backport SOCKS5 heap buffer overflow fix from curl 8.4.0 * GetPrerequisites: Revert "Ignore relative paths printed by ldd" * cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body * cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources * FindOpenMP: Add support for openmp 5.1 (llvm 17) and 5.2
*: recursive bump for icu 74.1
*: bump for openssl 3
cmake cmake-gui: update to 3.27.1 CMake 3.27.2 * Help/guide/importing-exporting: Update line numbers in prose * Help: Document that if(EXISTS) requires paths to be readable * Source: Link libatomic when needed on Linux 32-bit ARM * VS: Revert "Add CMake input files to ZERO_CHECK" * Help: Add 3.27 release note on VS default SDK selection * ci: Suppress cmake.org html documentation search results for index entries * Tests: Remove redundant condition in RunCMake.GeneratorPlatform test * VS: Do not print empty Windows SDK version when none is selected * VS: Consolidate Windows SDK major version selection dispatch * VS: Teach CMAKE_GENERATOR_PLATFORM to use Windows 10 SDKs for older versions * VS: Teach CMAKE_GENERATOR_PLATFORM to support Windows 8.1 SDK selection * VS: Select latest Windows SDK even when targeting Windows 8.1 and below * FindJNI: Update for Xcode greater than 12.1 on macOS * Help: Fix indenting within TARGET_RUNTIME_DLLS genex docs * Help: Improve formatting and cross-references for DEPENDS_EXPLICIT_ONLY * Help: Improve formatting and fix wording for ENABLE_EXPORTS * cmLocalGenerator: Fix trivial spelling error in code comment * file(GENERATE): Restore INPUT|CONTENT parse checking * FindPython: Restore Python_SITE* values for versions below 3.10 * cmList: Fix performance regression in append/prepend
cmake: don't attempt to use LTO with GCC 12 when building Fortran code
cmake: use pkgsrc-provided shell for Makefile; this fixes DYLD_LIBRARY_PATH problem on Darwin
cmake: disable debugger as it is not available for all platforms
cmake cmake-gui: updated to 3.27.0 CMake 3.27 Release Notes ************************ Changes made since CMake 3.26 include the following. New Features ============ Debugger -------- * "cmake(1)" now supports interactive debugging of the CMake language. See the "--debugger" option. Presets ------- * "cmake-presets(7)" files now support schema version "7". * "cmake-presets(7)" now supports "$penv{}" macro expansion in "include" fields. Generators ---------- * The Makefile and Ninja generators now support using the "-- dependency-file" linker flag, added by GNU Binutils 2.35 and LLVM's LLD 12.0.0, so that files read by the linker will cause a relink if they change (typically modified timestamps). See the "CMAKE_LINK_DEPENDS_USE_LINKER" variable. * The Visual Studio Generators for VS 2015 and above learned to select the Windows SDK version explicitly using a "version=" field in the "CMAKE_GENERATOR_PLATFORM" variable. See Visual Studio Platform Selection. Languages --------- * The "CXX" language now treats source file extensions ".ccm", ".cxxm", and ".c++m" as C++. File-Based API -------------- * The "cmake-file-api(7)" "codemodel" version 2 "version" field has been updated to 2.6. * The "cmake-file-api(7)" "codemodel" version 2 "target" object gained a new "frameworks" field in the "compileGroups" objects. Platforms --------- * Apple text-based stubs (i.e. ".tbd" files) may now be created for shared libraries on macOS. See the "ENABLE_EXPORTS" property. Commands -------- * The "add_custom_command()" command gained a new "DEPENDS_EXPLICIT_ONLY" option to tell the Ninja Generators not to add any dependencies implied by the target to which it is attached. The "CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY" variable was added to enable "DEPENDS_EXPLICIT_ONLY" on all calls to "add_custom_command()" command. * The "cmake_file_api()" command was added for projects to add "CMake file API" queries for the current CMake run. * The "find_package()" command now searches prefixes specified by upper-case "<PACKAGENAME>_ROOT" CMake variables and upper-case "<PACKAGENAME>_ROOT" environment variables. See policy "CMP0144". * The "install(CODE)" and "install(SCRIPT)" commands now support the "<INSTALL_PREFIX>" generator expression. Variables --------- * The "CMAKE_DLL_NAME_WITH_SOVERSION" variable and associated "DLL_NAME_WITH_SOVERSION" target property were added to optionally append the "SOVERSION" to the filename of the ".dll" part of a shared library on Windows. * Variables "CMAKE_VS_DEBUGGER_COMMAND", "CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS", "CMAKE_VS_DEBUGGER_ENVIRONMENT", and "CMAKE_VS_DEBUGGER_WORKING_DIRECTORY" were added to initialize corresponding target properties. * The "CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION" variable was added to initialize the "VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION" target property on all targets when they are created. Properties ---------- * A "CUDA_CUBIN_COMPILATION" target property was added to Object Libraries to support compiling to ".cubin" files instead of host object files. Currently only supported with NVIDIA. * A "CUDA_FATBIN_COMPILATION" target property was added to Object Libraries to support compiling to ".fatbin" files instead of host object files. Currently only supported with NVIDIA. * A "CUDA_OPTIX_COMPILATION" target property was added to Object Libraries to support compiling to ".optixir" files instead of host object files. Currently only supported with NVIDIA. * The "<LANG>_CLANG_TIDY", "<LANG>_CPPCHECK", "<LANG>_CPPLINT", and "<LANG>_INCLUDE_WHAT_YOU_USE", target properties now support "generator expressions". * The "<LANG>_LINKER_LAUNCHER" target property now supports "generator expressions". * The "SKIP_LINTING" source file property was added to suppress target-wide code checks on specific sources. Modules ------- * The "FindCUDAToolkit" module now provides an imported target for "cudla", and imported targets for CUPTI's "nvperf" and "pcsampling" components. * The "FindDoxygen" module's "doxygen_add_docs()" command gained a "CONFIG_FILE" option to specify a custom doxygen configuration file. * The "FindOpenGL" module gained support for components "GLES2" and "GLES3". * The "FindwxWidgets" module now provides an imported target. Generator Expressions --------------------- * The "COMPILE_ONLY" generator expression was added to specify compilation usage requirements without any linking requirements. * "<LIST:...>" generator expressions were added for query, transformation, and ordering operations on lists. * "<PATH:...>" generator expressions for decomposition and transformation operations learned to process lists of paths element- wise. * The "TARGET_IMPORT_FILE", "TARGET_IMPORT_FILE_BASE_NAME", "TARGET_IMPORT_FILE_PREFIX", "TARGET_IMPORT_FILE_SUFFIX", "TARGET_IMPORT_FILE_NAME", and "TARGET_IMPORT_FILE_DIR" generator expressions were added. These expand to details about the linker import file for a target. * The "TARGET_RUNTIME_DLL_DIRS" generator expression was added. It expands to a list of the directories containing DLLs in "TARGET_RUNTIME_DLLS". Autogen ------- * The "CMAKE_AUTOMOC_EXECUTABLE", "CMAKE_AUTORCC_EXECUTABLE", and "CMAKE_AUTOUIC_EXECUTABLE" variables were added to initialize the corresponding target properties as targets are created. * The "AUTOGEN_USE_SYSTEM_INCLUDE" target property and corresponding "CMAKE_AUTOGEN_USE_SYSTEM_INCLUDE" variable were added to explicitly control whether autogen headers are considered system headers. * The "INTERFACE_AUTOMOC_MACRO_NAMES" target property was added to specify macro names for "moc" as a transitive usage requirement. CTest ----- * The "TIMEOUT_SIGNAL_NAME" and "TIMEOUT_SIGNAL_GRACE_PERIOD" test properties were added to specify a POSIX signal to send to a test process when its timeout is reached. CPack ----- * The "CPack Inno Setup Generator" was added to package using Inno Setup. Deprecated and Removed Features =============================== * Compatibility with versions of CMake older than 3.5 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. * The Extra Generators have been deprecated. IDEs may use the "cmake- file-api(7)" to view CMake-generated project build trees. * The "FindCUDA" module, which has been deprecated since CMake 3.10, has been removed by policy "CMP0146". Port projects to CMake's first-class "CUDA" language support. * The "FindPythonInterp" and "FindPythonLibs" modules, which have been deprecated since CMake 3.12, have been removed by policy "CMP0148". Port projects to "FindPython3", "FindPython2", or "FindPython". * The "Dart" and "FindDart" modules have been deprecated via policy "CMP0145". Port projects to the "CTest" module. * The "Visual Studio 9 2008" generator is now deprecated and will be removed in a future version of CMake. Other Changes ============= * "cmake --build $dir --verbose" will now print the working directory and command line used to perform the build. * The "ExternalProject" and "FetchContent" modules now resolve relative "GIT_REPOSITORY" paths as relative to the parent project's remote, not as a relative local file system path. See "CMP0150". * The "ExternalProject" "configure" step no longer re-runs on every build when the "UPDATE_DISCONNECTED" option is enabled. It will only re-run if details of the "download", "update", or "patch" step change. * The "ExternalProject" "update" and "patch" steps now always re-run if any of their details change, even if the "UPDATE_DISCONNECTED" option is enabled. If using the "GIT" download method, and the "GIT_TAG" is changed to a commit that is not already known locally, an error is now issued instead of silently using the previous "GIT_TAG". * The "FindPython", "FindPython2" and "FindPython3" modules now support the Windows ARM64 platform. * The "file(GET_RUNTIME_DEPENDENCIES)" command now case-preserves DLL names reported on Windows. They are still converted to lowercase for filter matching. * The "SYSTEM" target property is now honored for Apple Frameworks. * Visual Studio Generators, for VS 15.8 (2017) and newer, now build custom commands in parallel. See policy "CMP0147".
devel: Adapt packages to use USE_(CC|CXX)_FEATURES
cmake: revbump for rhash
cmake cmake-gui: updated to 3.26.4 CMake 3.26.4 * FindPython: fix interpreter launcher variable spelling * Help: Remove duplicated word in COMPILE_OPTIONS target property docs * Ninja: Restore detection of msvc-wine showIncludes prefix * FindJNI: add Ubuntu specific paths for more recent JDK versions * Help: CMP0105 policy: clarifications * FindCUDAToolkit: nvptxcompiler_static correctly specify dependencies * FindCUDAToolkit: Add dependency between cusparse and nvJitLink * FindCUDAToolkit: Fix nvrtc_static dependencies on Windows * FindCUDAToolkit: Add missing static library dependencies on pthread and libdl * FindCUDAToolkit: Support CUDA version extraction from version.json
revbump after textproc/icu update
cmake: updated to 3.26.2 CMake 3.26.2 * cmGlobalGenerator: Factor out helper to check target ordering * Ninja,Makefile: Restore Fortran module scanning in static library cycle * Ninja: Restore slash style for MinGW tools when extra languages are enabled * Swift: Restore compatibility with old C++ driver
cmake: updated to 3.25.0 CMake 3.25 Release Notes ************************ Changes made since CMake 3.24 include the following. New Features ============ Presets ------- * The "cmake-presets(7)" schema version has been bumped to "6". * The "cmake-presets(7)" format now supports a "packagePresets" field to specify presets for "cpack --preset". * The "cmake-presets(7)" format now supports a "workflowPresets" field to specify presets for "cmake --workflow". * The "cmake-presets(7)" format now supports an "outputJUnitFile" field to specify JUnit output in test presets Languages --------- * The "Compile Features" functionality is now aware of C++26, and defines a "cxx_std_26" meta-feature. C++26 compiler modes may also be specified via the "CXX_STANDARD", "CUDA_STANDARD", "HIP_STANDARD", or "OBJCXX_STANDARD" target properties. * "CUDA" language support now includes device link-time optimization when using "nvcc". The "CMAKE_INTERPROCEDURAL_OPTIMIZATION" variable and the associated "INTERPROCEDURAL_OPTIMIZATION" target property will activate device LTO. Command-Line ------------ * A "cmake --workflow --preset" mode was added to drive sequences of configure, build, test, and package operations through a single command. * The "cmake -E capabilities" command gained a new "tls" field that tells whether or not TLS is enabled. * The "cmake -E env" command-line tool gained a "--modify" flag to support "ENVIRONMENT_MODIFICATION" operations. * The "cmake --debug-trycompile" option now prints log messages reporting the directory in which each try-compile check is done. Compilers --------- * Support for the Tasking compiler toolsets (SmartCode, TriCore, Standalone: ARM, MCS, 8051) was added with compiler id "Tasking". See the "CMAKE_TASKING_TOOLSET" variable. Commands -------- * The "add_subdirectory()" command gained a "SYSTEM" option to enable the "SYSTEM" directory property in the subdirectory. * The "block()" and "endblock()" commands were added to manage specific scopes (policy or variable) for a contained block of commands. * The "cmake_language()" command gained a new "GET_MESSAGE_LOG_LEVEL" sub-command. It can be used to query the current message logging level. * The "find_file()", "find_path()", "find_library()", and "find_program()" commands gained a "VALIDATOR" option to specify a function to be called for each candidate item to validate it. * The "find_package()" command now considers paths of the form "/*/(cmake|CMake)/*/" when searching for package configuration files. * The "return()" command gained a "PROPAGATE" option to propagate variables to the scope to which control returns. See policy "CMP0140". * The "try_compile()" and "try_run()" commands gained new signatures that more consistently use keyword dispatch and do not require a binary directory to be specified. Additionally, these signatures use a unique directory for each invocation, which allows multiple outputs to be preserved when using "cmake --debug-trycompile". * The "try_compile()" and "try_run()" commands gained the option "NO_CACHE" to store results in normal variables. * The "try_run()" command gained "RUN_OUTPUT_STDOUT_VARIABLE" and "RUN_OUTPUT_STDERR_VARIABLE" options to capture stdout and stderr separately from the output of the compiled program. Variables --------- * The "BSD" and "CMAKE_HOST_BSD" variables are now set to a string value when the target or host system is BSD, respectively. * The "LINUX" and "CMAKE_HOST_LINUX" variables are now set to true when the target or host system is Linux, respectively. * The "CMAKE_MSVC_DEBUG_INFORMATION_FORMAT" variable and "MSVC_DEBUG_INFORMATION_FORMAT" target property were introduced to select the debug information format for compilers targeting the MSVC ABI. See policy "CMP0141". * The "CMAKE_XCODE_SCHEME_ENABLE_GPU_API_VALIDATION" variable and corresponding "XCODE_SCHEME_ENABLE_GPU_API_VALIDATION" target property were added to tell the "Xcode" generator what to put in the scheme's "Metal: API Validation" setting. * The "CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION" variable and corresponding "XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION" target property were added to tell the "Xcode" generator what to put in the scheme's "Metal: Shader Validation" setting. * The "CMAKE_XCODE_SCHEME_LAUNCH_MODE" variable and corresponding "XCODE_SCHEME_LAUNCH_MODE" target property were added to tell the "Xcode" generator what to put in the scheme's "Launch" mode setting. * The "CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION" variable and corresponding "XCODE_SCHEME_LAUNCH_CONFIGURATION" target property were added to tell the "Xcode" generator what configuration to put in the scheme's Launch action. Properties ---------- * The "_COMPILER_LAUNCHER" target property now supports "generator expressions". * The "EXPORT_NO_SYSTEM" target property was added to specify that "install(EXPORT)" and "export()" commands will generate an imported target with "SYSTEM" property "OFF". * The "SYSTEM" target property was added to specify whether a target should be treated as a system library (i.e. its include directories are automatically "SYSTEM" when compiling consumers). If not set, the default is the previous behavior: on for imported targets and off for other targets. * The "SYSTEM" directory property was added to initialize the "SYSTEM" target property for targets created in that directory. Modules ------- * The "FetchContent" module "FetchContent_Declare()" command gained a "SYSTEM" option to enable the "SYSTEM" directory property in the subdirectory. * The "FindCUDAToolkit" module now provides a target for nvtx3 for CUDA 10.0+, which supersedes nvToolsExt. A deprecation warning is emitted when using "nvToolsExt" if the project requires CMake 3.25 and CUDA 10.0+ is used. * The "FindDoxygen" module's version handling has been improved: * Multiple candidate installations will now be considered, if needed, to satisfy version constraints. Previously, only the first one encountered would be considered. * Version ranges are supported. * Variations in the version format reported by Doxygen are now tolerated (e.g. a trailing git commit hash). * The "FindOpenAL" module now provides an imported target. * The "FindOpenSP" module was added to find the OpenSP library. * The "FindVulkan" module gained support for new components: "dxc" DirectX Shader Compiler. "volk" Volk open-source vulkan meta-loader. CPack ----- * The "CPack Archive Generator" gained a new "CPACK_ARCHIVE_FILE_EXTENSION" variable to control the package file name extension. * The "CPack NSIS Generator" gained two new variables "CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS" and "CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS" to provide arguments to the nsis executable invocation. * The "CPack" module gained the "CPACK_READELF_EXECUTABLE", "CPACK_OBJCOPY_EXECUTABLE", and "CPACK_OBJDUMP_EXECUTABLE" variables to control the locations of binutils used by "cpack(1)". Deprecated and Removed Features =============================== * The "IMPORTED_NO_SYSTEM" target property has been deprecated in favor of "SYSTEM" and "EXPORT_NO_SYSTEM". * The "Visual Studio 10 2010" generator has been removed. * The "Visual Studio 11 2012" generator is now deprecated and will be removed in a future version of CMake. Other Changes ============= * On Windows, when targeting the MSVC ABI, the "find_library()" command now accepts ".a" file names after first considering ".lib". This is symmetric with existing behavior when targeting the GNU ABI, in which the command accepts ".lib" file names after first considering ".a". * The "SSL_CERT_FILE" and "SSL_CERT_DIR" environment variables can now be used to override where to find certificate authorities for TLS/SSL operations. * If "_CLANG_TIDY" includes a "-p" argument, the full compiler command line is no longer appended after "--". * The "Xcode" generator no longer adds the per-config suffix "$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)" to library search paths. See policy "CMP0142". ---------------------------------------------------------------------------- Changes made since CMake 3.25.0-rc4: Help: Render guide links as normal text instead of monospace msvc: bless MSVC 19.34 support for C++ modules as experimental cmake-gui: Restore embedded version information in Windows binary curl: Disable schannel TLS 1.3 support on Windows 11 Tests: Fix TryCompile bad source case for clang-cl 15 on Windows ci: Factor out helper to load ninja into environment on Windows ci: Factor out helper to load clang into environment on Windows ci: Simplify LLVM/Clang CI job specs on Windows ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is empty CPack/IFW: Add support for QtIFW 4.5 IAR: Fix ASM compiler architecture detection Ninja: Restore support for compilers not defining a C++ standard level expat: Activate POSIX APIs even without compiler extensions cmGlobalVisualStudioGenerator: Fix compiling as C++20 in VS 2022
cmake cmake-gui: updated to 3.24.3 CMake 3.24.3 * cmStringAlgorithms: Add functions to parse strings to long long integers * file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux * Xcode: Drop CMAKE_INTDIR= definition in Swift targets * Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0 * gitlab-ci: update macOS jobs to use Xcode 14.0 * COMPILE_WARNING_AS_ERROR: Fix internal formatting of options table * LLVMFlang: Add support for mixed-language linking with Fortran * Help: Add versionadded for string(TIMESTAMP) %f specifier * try_compile: Honor CMP0128 setting in test project * Tests: Explicitly allow usage of git file-based protocol in test cases * cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17 * Tests: Avoid running C++11 test on GNU < 4.7 * VS: Fix crash finding vswhere on 32-bit Windows * Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10 * Tests: Add case for ninja with non-ascii chars * CPack/IFW: Add support for QtIFW 4.4 * CPack: Require no argument for --trace and --trace-expand * Apple: Fix regression when linking a framework with postfix * FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab * FindMatlab: add R2022b 9.13 version map * Intel/IntelLLVM: Fortran has distinct "-Werror"-like flag * CPack/NSIS: Fix installer not waiting for uninstaller to finish * CUDA: Add support for the two new architectures in 11.8 * FindJNI: replace CMAKE_ANDROID_API by CMAKE_SYSTEM_VERSION * Android: Avoid searching API level directories matching architecture bitness * ctest: only report make-level errors when no others are found * LLVMFlang: Add support for Windows * LLVMFlang: Add a required line to define linking rules on Windows
*: bump PKGREVISION for libunistring shlib major bump
devel/cmake: add patch to Modules/FindOpenGL In order to use libEGL, it looks for libOpenGL, but NetBSD and pkgsrc's MesaLib don't have that, they have libGL instead. This causes issues in x11/wxGTK32. See https://github.com/wxWidgets/wxWidgets/issues/22841 https://gitlab.kitware.com/cmake/cmake/-/issues/24019
cmake cmake-gui: updated to 3.24.1 CMake 3.24.1 automoc: avoid compiler warnings in linker-warning-silencing code FindThreads: Skip check for -pthread flag when targeting the MSVC ABI IPO: Do not use -flto=auto with GCC 10.x on Windows export: Restore exclusion of private shared library dependencies from checks MinGW: Restore using windres when toolchain-prefixed name is not available FindVulkan: Restore tolerance of unknown FATAL_ERROR component Help: Add 3.24 release note about FindVulkan component enforcement TI compiler: Add support for COMPILE_WARNING_AS_ERROR target property Help: List compiler IDs supported by COMPILE_WARNING_AS_ERROR Help: A missing cross-reference to --compile-no-warning-as-error CMake 3.24 Release Notes ************************ Changes made since CMake 3.23 include the following. New Features ============ Presets ------- * "cmake-presets(7)" files now support schema version "5". * "cmake-presets(7)" files now support a "${pathListSep}" macro, which expands to ":" or ";" based on the platform. * "cmake-presets(7)" files gained support for specifying a "testOutputTruncation" field in test presets, which specifies the truncation mode once the maximum test output size has been reached. Generators ---------- * The "Green Hills MULTI" generator now generates build rules to re- run CMake if any CMake files are updated. * The Visual Studio Generators now support "SYSTEM" headers when using VS 2019 Update 11 or later. Command-Line ------------ * "cmake(1)" gained the "--fresh" command-line option to remove any existing "CMakeCache.txt" file and associated "CMakeFiles/" directory, when configuring a build tree, thus starting a new configuration as if the build tree were freshly created. * "cmake(1)" gained the "--compile-no-warning-as-error" command-line option which causes the effects of the "COMPILE_WARNING_AS_ERROR" target property and "CMAKE_COMPILE_WARNING_AS_ERROR" variable to be ignored. * The "cmake(1)" "--trace=json-v1" trace format gained fields "global_frame" and "line_end". * The "cmake(1)" "-E" commands "cat" and "env" learned to respect a double dash ("--") argument that acts as a delimiter indicating the end of options. Any following arguments are treated as operands/positional arguments, even if they begin with a dash "-" character. * The "cmake(1)" "-E tar" command gained the "--touch" option to keep the current local timestamp instead of extracting file timestamps from the archive. Compilers --------- * LLVM's flang Fortran compiler is now supported on some platforms, with compiler id "LLVMFlang". * ADSP compiler support (SHARC and Blackfin) now covers both CCES and VDSP++ installations, with required configuration now done in the compiler module itself rather than the "Generic-ADSP" platform module. Platforms --------- * A dedicated "ADSP" platform has been added to replace the existing "Generic-ADSP" implementation. This features automatic detection of the latest CCES/VDSP++ install and compiler selection ("cc21k" vs. "ccblkfn") based off of the "CMAKE_SYSTEM_PROCESSOR" variable. Commands -------- * The "cmake_host_system_information()" command, on Windows, gained a "QUERY WINDOWS_REGISTRY" mode. See its Query Windows registry section. * The "cmake_language()" command gained a new "SET_DEPENDENCY_PROVIDER" sub-command. When a dependency provider is set, calls to "find_package()" and "FetchContent_MakeAvailable()" can be redirected through a custom command, which can choose to fulfill the request directly, modify how the request is processed, or leave it to be fulfilled by the built-in implementation. See Dependency Providers. * The "file(DOWNLOAD)" command gained options "RANGE_START" and "RANGE_END" to specify a range of bytes to download. This can be useful for downloading parts of big binary files. * The "find_file()", "find_path()", "find_library()", "find_program()", and "find_package()" commands gained the "NO_CMAKE_INSTALL_PREFIX" option to control searching "CMAKE_INSTALL_PREFIX". * The "find_file()", "find_path()", "find_library()", "find_program()", and "find_package()" commands gained the ability to specify which Windows Registry views must be queried. * The "find_package()" command gained a "GLOBAL" option that allows for the promotion of imported targets to global scope for the duration of the "find_package()" call. * The "if()" command gained the capability to compare paths by using the "PATH_EQUAL" operator. See policy "CMP0139". Variables --------- * The "CMAKE_COLOR_DIAGNOSTICS" variable was added to control color diagnostics generated by compilers. This variable also controls color build system messages with Makefile Generators, replacing "CMAKE_COLOR_MAKEFILE". The "CMAKE_COLOR_DIAGNOSTICS" environment variable was added to set a default value for "CMAKE_COLOR_DIAGNOSTICS". * The "CMAKE_COMPILE_WARNING_AS_ERROR" variable and corresponding "COMPILE_WARNING_AS_ERROR" target property were added to enable compilation with a compiler-specific flag to treat warnings as errors, such as "-Werror". * The "CMAKE_CUDA_ARCHITECTURES" variable and associated "CUDA_ARCHITECTURES" target property now support the special "native" value to compile for the architectures(s) of the host's GPU(s). * The "CMAKE_FIND_PACKAGE_TARGETS_GLOBAL" variable was added to toggle behavior of the "find_package()" command's new "GLOBAL" option. * The "CMAKE_FIND_USE_INSTALL_PREFIX" variable was added to toggle behavior of the "find_file()", "find_library()", "find_path()", "find_package()", and "find_program()" commands' new "NO_CMAKE_INSTALL_PREFIX" option. * The "CMAKE_PROJECT_TOP_LEVEL_INCLUDES" variable was added to allow injecting custom code at the site of the first "project()" call, after the host and target platform details have been determined. * The "CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES" variable was added to tell the "try_compile()" command not to pass any platform variables to the test project. * The "CMAKE_VERIFY_INTERFACE_HEADER_SETS" variable and corresponding "VERIFY_INTERFACE_HEADER_SETS" target property were added to enable build rules that verify all headers in header sets can be used on their own. * The "CMAKE_VS_NO_COMPILE_BATCHING" variable and corresponding "VS_NO_COMPILE_BATCHING" target property were added to tell Visual Studio Generators whether to disable compiler parallelism and call the compiler with one source file at a time. * The "CMAKE_WATCOM_RUNTIME_LIBRARY" variable and "WATCOM_RUNTIME_LIBRARY" target property were introduced to select the runtime library used by compilers targeting the Watcom ABI. See policy "CMP0136". * The "CMAKE_XCODE_XCCONFIG" variable and corresponding "XCODE_XCCONFIG" target property were added to tell the "Xcode" generator to handle "xcconfig" files. Properties ---------- * The "INTERFACE_LINK_LIBRARIES_DIRECT" and "INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE" target properties were added to express usage requirements affecting a consumer's direct link dependencies. * The "INTERFACE_HEADER_SETS_TO_VERIFY" target property was added to specify which header sets should be verified by "VERIFY_INTERFACE_HEADER_SETS". * The "LINK_LIBRARIES" target property now supports the "$ " generator expression. See policy "CMP0131". * The "VS_DOTNET_STARTUP_OBJECT" target property was added to tell Visual Studio Generators which startup class shall be used when the program or project is executed. This is necessary when more than one "static void Main(string[])" function signature is available in a managed .NET project. Modules ------- * The "ExternalProject" module "ExternalProject_Add()" command gained a new "DOWNLOAD_EXTRACT_TIMESTAMP" option for controlling whether the timestamps of extracted contents are set to match those in the archive when the "URL" download method is used. Policy "CMP0135" was added to enable the option by default. * The "FetchContent" module and the "find_package()" command now support integration capabilities: * "FetchContent_MakeAvailable()" can now try to satisfy a dependency by calling "find_package()" first. A new "FETCHCONTENT_TRY_FIND_PACKAGE_MODE" variable controls whether this is done by default for all dependencies, is opt-in per dependency, or is disabled entirely. * "find_package()" can be re-routed to call "FetchContent_MakeAvailable()" instead. A new read-only "CMAKE_FIND_PACKAGE_REDIRECTS_DIR" variable points to a directory where config package files can be located to facilitate these re- routed calls. * The "FindJNI" module now provides imported targets. * The "FindMatlab" module "matlab_add_mex()" function gained a "NO_IMPLICIT_LINK_TO_MATLAB_LIBRARIES" option to disable automatic linking of MATLAB libraries. * The "FindVulkan" module now supports components to select which VulkanSDK tool and libraries to find in addition to the Vulkan SDK headers and library. * The "FindZLIB" gained a new "ZLIB_USE_STATIC_LIBS" variable to search only for static libraries. Generator Expressions --------------------- * The "LINK_LIBRARY" generator expression was added to manage how libraries are specified during the link step. The "CMAKE__LINK_LIBRARY_USING_" and "CMAKE_LINK_LIBRARY_USING_" variables are used to define features usable by the "LINK_LIBRARY" generator expression. Moreover, the "LINK_LIBRARY_OVERRIDE" and "LINK_LIBRARY_OVERRIDE_ " target properties are available to resolve incompatible features. The "LINK_LIBRARY" generator expression can link frameworks in various ways when targeting "Apple" platforms. The following features were added: * "FRAMEWORK" * "NEEDED_FRAMEWORK" * "REEXPORT_FRAMEWORK" * "WEAK_FRAMEWORK" The "LINK_LIBRARY" generator expression can link libraries in various ways when targeting "Apple" platforms. The following features were added: * "NEEDED_LIBRARY" * "REEXPORT_LIBRARY" * "WEAK_LIBRARY" The "LINK_LIBRARY" generator expression gained the feature "WHOLE_ARCHIVE" to force load of all members in a static library. This feature is supported on the following target platforms: * all "Apple" variants * "Linux" * all "BSD" variants * "SunOS" * "Windows" * "CYGWIN" * "MSYS" * The "LINK_GROUP" generator expression was added to manage the grouping of libraries during the link step. The "CMAKE__LINK_GROUP_USING_" and "CMAKE_LINK_GROUP_USING_" variables are used to define features usable with the "LINK_GROUP" generator expression. This release defines the "RESCAN" feature, which can be used to handle circular references among static libraries when using toolchains for Linux, BSD, SunOS and GNU toolchains for Windows. * The "PATH" generator expression was added to manage paths. * The "PATH_EQUAL" generator expression was added to manage path comparisons. * The "TARGET_BUNDLE_DIR_NAME" generator expression was added to evaluate to the name of the bundle directory for a given bundle target. CTest ----- * "ctest(1)" gained a "--test-output-truncation" option (and corresponding "CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION" variable) to specify the truncation mode once the maximum test output size has been reached. Possible values are "tail" (default), "middle" or "head". CPack ----- * The "CPack WIX Generator" gained a new variable, "CPACK_WIX_ARCHITECTURE", to specify the installer architecture in order to support computers running Windows for ARM. * CPack now supports the "CPACK_THREADS" option for "zstd" compression when compiled with libarchive 3.6 or higher. It is supported by official CMake binaries available on cmake.org. Deprecated and Removed Features =============================== * The "CPack" module no longer enables the SLA by default in the "CPack DragNDrop Generator". See policy "CMP0133" and the "CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE" variable. * The deprecated "CPack PackageMaker Generator" has been removed. * The "FindGLUT" module no longer provides the undocumented "GLUT_LIBRARY" and "GLUT_INCLUDE_PATH" result variables. Other Changes ============= * CMake no longer sets environment variables like "CC", "CXX", etc. when enabling the corresponding language during the first CMake run in a build directory. See policy "CMP0132". * The "CheckIPOSupported" module "check_ipo_supported()" command now uses the caller's "CMAKE__FLAGS" and "CMAKE__FLAGS_" values. See policy "CMP0138". * The "MSYS Makefiles" and "MinGW Makefiles" generators, when a compiler is not explicitly specified, now select the first compiler (of any name) found in directories listed by the "PATH" environment variable. * The "try_compile()" command whole-project signature now propagates platform variables. See policy "CMP0137". * The "while()" command now diagnoses errors during condition evaluation. See policy "CMP0130". * The precompiled macOS binaries provided on cmake.org no longer attach a SLA to the ".dmg" packages. This was removed because macOS 12 deprecated the tools used to attach ".dmg" resources.
cmake: don't install the emacs mode devel/cmake-mode provides the emacs mode, with the emacs pkgsrc integration
cmake: Don't strip if INSTALL_UNSTRIPPED=yes.
cmake: strip binaries
cmake: updated to 3.23.3 CMake 3.23.3 * cmake-gui: Restore support for internationalization with Qt5 on Windows * Tutorial: Simplify logic checking for cmath functions * ci: update to use ninja 1.11.0 * Xcode: Use ad-hoc signing during compiler id on macOS * Xcode: Suppress "Run Script" build phase warning during compiler id * Tests: Teach RunCMake to ignore Xcode DVTSDK warnings * ExternalProject: Fix regression in stamp creation for Xcode+iOS * Utilities/Release: Update macOS notarization script to use notarytool * gitlab-ci: update macOS jobs to use Xcode 13.4 * FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers * LCC: link with -lgfortran instead of -llfortran since 1.26.03 * install(EXPORT): Check for missing file sets at generate time * cmGlobalGenerator: Only compute build files for all targets * cmake: simplify to a single source of truth of working mode * cmake: In -P mode ignore extra paths on the command line
devel/cmake: add support for choosing BLAS/LAPACK .pc This adds already upstreamed patches to FindBLAS.cmake and FindLAPACK.cmake that enables our build infrastructure to better select which BLAS package to locate in cmake-using builds via specifying a name for pkg-config instead of hardcoded 'blas' or 'lapack'. Remove with cmake-3.25.
cmake cmake-gui: updated to 3.23.1 CMake 3.23.1 * CMakeDependentOption: improve documentation * cmFileSet: store visibility with the fileset * cmTarget: make HEADER_SETS and INTERFACE_HEADER_SETS read-only * GNUInstallDirs: Revert "Apply Debian multiarch LIBDIR to more prefixes" * Help: Clarify when policy CMP0112 takes effect * gitlab-ci: clarify name of package upload job template * gitlab-ci: distinguish release and development pipeline schedules * gitlab-ci: add sanity check to upload jobs * gitlab-ci: simplify package pipeline job conditions * gitlab-ci: start release package pipelines manually * Utilities/Sphinx: Add undocumented option to build docs for cmake.org * Utilities/Sphinx: Add option to build outdated version banner for cmake.org * Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org * gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs * gitlab-ci: update cmake.org documentation in release package pipeline * gitlab-ci: Add objects.inv to cmake.org html documentation * gitlab-ci: Build qthelp-format release documentation for cmake.org * Help: Add "Updates" section header in 3.22 release notes * Utilities/Sphinx: Update qthelp generation to qhelpgenerator * CheckCompilerFlag: Fix regression in locale environment preservation * Help: Document that target_sources defines [INTERFACE_]HEADER_SETS * CheckSourceCompiles: Avoid linker warning with -fembed-bitcode * Help: Correct/add missing details for CheckPIESupported * CheckPIESupported: Prevent separate output lines running together * PCH: Fix Xcode non-pch language exclusion * Help: Fix typo in install command documentation * FindPostgreSQL: add support for PostgreSQL 14 * Tests: Ignore all classes in Xcode internal objc warnings * FILE_SET: Forbid adding header sets to Apple FRAMEWORK libraries * CUDA: Ninja generator generates valid compile database * cmake: --list=presets=[type] doesn't generate incorrect warnings * Help: Fix string(JSON ... LENGTH ...) signature * Help: Add that CMAKE_CACHEFILE_DIR might not be defined
cmake: Apply different fix for Darwin/aarch64. The previous patch was breaking cmake when running outside of the pkgsrc environment. Should fix NetBSD/pkgsrc#103. Bump PKGREVISION.
cmake cmake-gui: updated to 3.22.2 CMake 3.22.2 * VS: Remove the '/guard:cf' flag from v143 link flag table * FortranCInterface: Fix compatibility with GCC gfortran 12 LTO * FindBoost: Add support for Boost 1.78 * ci: Explicitly disable Java tests on Windows * FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path * FindBoost: Do not warn about now-supported version 1.78 * ci: Explicitly disable Java tests on VS builds * file: Restore error capture in undocumented READ_ELF mode * MSVC: Use -external:I flag without space to support Clang tools * Help: Add missing 3.22.1 section to the release notes * gitlab-ci: update macOS jobs to use Xcode 13.2 * ASM: Fix identification of armasm 6.17+ * FindBoost: Add support for Python 3.10 * XL: Detect default extensions mode for legacy compiler * CMP0128: Prefix test names with mode * CMP0128: Avoid test code duplication * CMP0128: Add flag in OLD mode even when standard matches the default * Android: Fix linking android_support for pre-21 system STL * FindPython: Add support for Python 3.11 * VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021
revbump for icu and libffi
cmake: updated to 3.21.4 CMake 3.21.4 * Tests/RunCMake/Autogen: test CMP0111 behavior * cmQtAutoGenInitializer: support IMPLIB-only imported targets * Tests: Fix RunCMake.XcodeProject XcodeIOSInstallCombined cases for Xcode 13.0 * gitlab-ci: update macOS jobs to use Xcode 13.0 * bootstrap: Enable cmake_language command to support cmake-gui with Qt 6.2 * ci: Enable CTest.Update{CVS,SVN,HG} tests * MSVC: Tolerate cxx_std_23 feature on older compiler versions * zstd: Backport fix for SIGBUS on armv6 from zstd 1.5.0 * IRSL: Fix discovery of VS 2022 v143 toolset redistributables for preview 5 * Source: Fix typo in _WIN32 preprocessor checks * BinUtils: Avoid llvm-strip versions older than Clang 11 * VS: Update Visual Studio 17 2022 generator for the Release Candidates * CPack/IFW: Add support for QtIFW 4.1 * Tests: Specify destination for Xcode scheme * FindMatlab: Add R2021b => 9.11 version * NVHPC: only use '-MD' for the C and CXX languages * FortranCInterface: Fix regression in timestamp check * TestDriver: Fix old-style-cast warning in C++ mode * GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIR
Revbump due to linking change in rhash
cmake: use >= for depends
cmake: really require newer rhash
Bump PKGREVISION of misc/rhash and require newer version in devel/cmake. Fixes PR/56423.
revbump for boost-libs
cmake: updated to 3.20.2 CMake 3.20.2 * ci: pay attention to the machine load when running tests * ci: limit builds by machine load * Help: Add 3.20 release note for error on unknown arguments * gitlab-ci: equally delay all jobs on integration branches * Autogen: Restore mocs_compilation in OBJECT libraries * Help: Fix typos in cmake-compile-features(7) * Help: Do not recommend WCDH in cmake-compile-features(7) * Intel: Update Classic compiler version detection for 2021 * IntelLLVM: Add special case for ifx 2021.1 version extraction * Help: Behavior of file(TO_NATIVE_PATH) depends on the host platform * Help: Document special cases for if(IS_ABSOLUTE) * Add missing 'not' in error messages * KWIML 2021-04-21 (49d91529) * autogen: fix race in depfile parsing * Ninja Multi-Config: Correctly generate POST_BUILD custom targets * BinUtils: Restore toolchain prefix detection from compiler name 'c++' * OpenBSD: Fix system feature definitions
revbump for boost-libs
cmake cmake-gui: updated to 3.20.0 CMake 3.20 Release Notes ************************ Changes made since CMake 3.19 include the following. New Features ============ Presets ------- * "cmake-presets(7)" gained support for build and test presets. Generators ---------- * Makefile Generators, for some toolchains, now use the compiler to extract implicit dependencies while compiling source files. Languages --------- * C++23 compiler modes may now be specified via the "CXX_STANDARD", "CUDA_STANDARD", or "OBJCXX_STANDARD" target properties, or via the "Compile Features" functionality’s "cxx_std_23" meta-feature. * "CUDA" language support now works when "nvcc" is a symbolic link, for example due to a "ccache" or "colornvcc" wrapper script. * The "CUDAARCHS" environment variable was added for initializing "CMAKE_CUDA_ARCHITECTURES". Useful in cases where the compiler default is unsuitable for the machine’s GPU. Compilers --------- * The NVIDIA HPC SDK compilers are now supported with compiler id "NVHPC". * The Intel oneAPI NextGen LLVM compilers are now supported with compiler id "IntelLLVM": * The "icx"/"icpx" C/C++ compilers on Linux, and the "icx" C/C++ compiler on Windows, are fully supported as of oneAPI 2021.1. * The "ifx" Fortran compiler on Linux is partially supported. As of oneAPI 2021.1, "ifx" does not define several identification macros, so CMake identifies it as the classic "Intel" compiler. This works in many cases because "ifx" accepts the same command line parameters as "ifort". A future version of oneAPI may fix this. * The "ifx" Fortran compiler on Windows is not yet supported. The Intel oneAPI Classic compilers ("icc", "icpc", and "ifort") continue to be supported with compiler id "Intel". * Support was added for the IAR STM8 compiler. Platforms --------- * CMake’s support for Cross Compiling for Android is now merged with the Android NDK’s toolchain file. They now have similar behavior, though some variable names differ. User-facing changes include: * "find_*" functions will search NDK ABI / API specific paths by default. * The default "CMAKE_BUILD_TYPE" for Android is now "RelWithDebInfo". * The "CMAKE_ANDROID_NDK_VERSION" variable was added to report the version of the NDK. File-Based API -------------- * The "cmake-file-api(7)" gained a new “toolchains” object kind that describes the compiler used for each enabled language. Commands -------- * "add_custom_command()" and "add_custom_target()" now support "generator expressions" in their "OUTPUT" and "BYPRODUCTS" options. Their "COMMAND", "WORKING_DIRECTORY", and "DEPENDS" options gained support for new generator expressions "<COMMAND_CONFIG:...>" and "<OUTPUT_CONFIG:...>" that control cross-config handling when using the "Ninja Multi-Config" generator. * The "add_custom_command()" command gained "DEPFILE" support on Makefile Generators. * The "add_library()" command previously prohibited imported object libraries when using potentially multi-architecture configurations. This mostly affected the "Xcode" generator, e.g. when targeting iOS or one of the other device platforms. This restriction has now been removed. * The "cmake_path()" command was added for operations on filesystem paths. * The "configure_file()" command gained "USE_SOURCE_PERMISSIONS" and "FILE_PERMISSIONS" options to support copying of permissions of the source file and using specified permissions respectively. * The "file(GENERATE)" command gained a "NEWLINE_STYLE" option to specify how newlines are handled for the generated file. * The "file(GENERATE)" command gained "NO_SOURCE_PERMISSIONS", "USE_SOURCE_PERMISSIONS", and "FILE_PERMISSIONS" options for controlling the permissions of the generated file. * The "install(FILES)" command "RENAME" option learned to support "generator expressions". * The "target_include_directories()" command gained a new option "AFTER". * The "target_sources()" command now supports targets created by the "add_custom_target()" command. * The "try_run()" command gained a "WORKING_DIRECTORY" option to set the working directory in which to run the compiled check executable. Variables --------- * The "CMAKE_<LANG>_BYTE_ORDER" variable was added to provide the target architecture byte order detected from the toolchain. * The "CMAKE_RUNTIME_OUTPUT_DIRECTORY", "CMAKE_LIBRARY_OUTPUT_DIRECTORY", and "CMAKE_ARCHIVE_OUTPUT_DIRECTORY" variables now support target- dependent generator expressions. Properties ---------- * The "<LANG>_CLANG_TIDY" target property and the associated "CMAKE_<LANG>_CLANG_TIDY" variable learned to support the "OBJC" and "OBJCXX" languages. * The "EXPORT_COMPILE_COMMANDS" target property was added for the associated "CMAKE_EXPORT_COMPILE_COMMANDS" variable to allow for configuration of exporting compile commands per target. * The "GENERATED" source-file property is now visible from any directory scope, regardless of the scope in which it is set. See policy "CMP0118". * The "UNITY_BUILD_UNIQUE_ID" target property was added to support generation of an identifier that is unique per source file in unity builds. It can help to resolve duplicate symbol problems with anonymous namespaces. * The "WIN32_EXECUTABLE" target property now works with Clang on Windows. * The "XCODE_EMBED_FRAMEWORKS" target property was added to tell the "Xcode" generator to embed frameworks. Aspects of the embedding can be customized with the "XCODE_EMBED_FRAMEWORKS_PATH", "XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY", and "XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY" target properties. Modules ------- * The "ExternalData" module "ExternalData_Add_Target()" function gained a "SHOW_PROGRESS <bool>" option for controlling whether or not to show progress output during the build. * The "ExternalProject" module "ExternalProject_Add()" function gained a "CONFIGURE_HANDLED_BY_BUILD" option. This can be used to make subsequent runs of the configure step be triggered by the build step when an external project dependency rebuilds instead of always re- running the configure step in such cases. * The "FindBoost" module gained a "Boost_NO_WARN_NEW_VERSIONS" option to silence the warning about unknown dependencies for new Boost versions. * The "FindCUDAToolkit" module gained support for finding CUDA toolkits when "nvcc" is a symbolic link, for example due to a "ccache" or "colornvcc" wrapper script. * The "FindGDAL" module has been improved to document and mark as advanced its cache variables. There is a new "FindGDAL_SKIP_GDAL_CONFIG" variable which may be used to skip over the "gdal-config"-based search. Users may also set "GDAL_ADDITIONAL_LIBRARY_VERSIONS" to add additional versions to the library name search strategy. * The "FindIntl" module now provides an imported target. * The "FindOpenSSL" module learned to support a version range. * The "FindPython3", "FindPython2" and "FindPython" modules gained options controlling how unversioned interpreter names are searched. * The "UseJava" module "add_jar()" command’s "GENERATE_NATIVE_HEADERS" feature gained options to export the generated target. * The "UseSWIG" module gained the capability, for Makefile and Ninja generators, to use the "swig" tool to generate implicit dependencies. Autogen ------- * The AUTOMOC feature now works with per-config sources. CTest ----- * "ctest(1)" gained a "--test-dir" option to specify the directory in which to look for tests. CPack ----- * "CPack" gained the "CPACK_THREADS" variable to control the number of threads used for parallelized operations, such as compressing the installer package. * The "CPack DEB Generator" learned a new "CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS" variable to specify additional search directories for resolving private library dependencies when using "dpkg-shlibdeps". * The "CPack IFW Generator" gained a new "CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST" variable to control visibility of the widget listing installer pages on the left side of the wizard. This feature available only since QtIFW 4.0. * The "CPack NSIS Generator" gained new "CPACK_NSIS_BRANDING_TEXT" and "CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION" variables to change the text at the bottom of the install window and change its trim position * The "CPack NSIS Generator" now correctly handles Unicode characters. If you want to have a "CPACK_RESOURCE_FILE_LICENSE" with UTF-8 characters, it needs to be encoded in UTF-8 BOM. * The "CPack NuGet Generator" gained options: * "CPACK_NUGET_PACKAGE_ICON" and "CPACK_NUGET_<compName>_PACKAGE_ICON" allow package icons to be specified by local files. * "CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION" and "CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION" add support for specifying licenses recognized by the Software Package Data Exchange (SPDX). * "CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME" and "CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME" allow licenses to be specified by local files. * "CPACK_NUGET_PACKAGE_LANGUAGE" and "CPACK_NUGET_<compName>_PACKAGE_LANGUAGE" allow the locale for a package to be specified, for example "en_CA". Deprecated and Removed Features =============================== * The "cmake-server(7)" mode has been removed. Clients should use the "cmake-file-api(7)" instead. * The "WriteCompilerDetectionHeader" module has been deprecated via policy "CMP0120". Projects should be ported away from it. * The "TestBigEndian" module has been deprecated in favor of the "CMAKE_<LANG>_BYTE_ORDER" variable. * The "AddFileDependencies" module is deprecated. Port projects to use "set_property()" directly. * The "CPack NuGet Generator" deprecated some variables to reflect changes in the NuGet specification: * "CPACK_NUGET_PACKAGE_ICONURL" and "CPACK_NUGET_<compName>_PACKAGE_ICONURL" have been deprecated; replace with a reference to a local icon file. * "CPACK_NUGET_PACKAGE_LICENSEURL" and "CPACK_NUGET_<compName>_PACKAGE_LICENSEURL" have been deprecated; replace with a reference to the project’s license file or SPDX license expression. Other Changes ============= * Source file extensions must now be explicit. See policy "CMP0115" for details. * The "LANGUAGE" source file property now forces compilation as the specified language. See policy "CMP0119". * On AIX, installation of XCOFF executables and shared libraries no longer requires relinking to change the runtime search path from the build-tree RPATH to the install-tree RPATH. CMake now edits the XCOFF binaries directly during installation, as has long been done on ELF platforms. * With MSVC-like compilers the value of "CMAKE_CXX_FLAGS" no longer contains the "/GR" flag for runtime type information by default. See policy "CMP0117". * Ninja generators now transform the "DEPFILE" generated by an "add_custom_command()". See policy "CMP0116" for details. * The precompiled Linux binaries provided on cmake.org have changed their naming pattern to "cmake-$ver-linux-$arch", where "$arch" is either "x86_64" or "aarch64". * The precompiled Windows binaries provided on cmake.org have changed their naming pattern to "cmake-$ver-windows-$arch", where "$arch" is either "x86_64" or "i386".
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 “specify language flag when source LANGUAGE property is set” FindGTest: Revert “Allow either “Debug” or “Release” configurations.” Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule Xcode: Fix custom command work-dir placeholders in “new 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’t 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 “new 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)" “codemodel” version 2 "version" field has been updated to 2.2. * The "cmake-file-api(7)" “codemodel” version 2 “target” object gained a new "languageStandard" field in the "compileGroups" objects. Command-Line ------------ * The "cmake(1)" command-line tool’s "--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’s 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 “mandatory” 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.
cmake: patch another instance where should only find pkgsrc selected python
cmake: updated to 3.17.3 CMake 3.17.3 * PCH: Fix REUSE_FROM in multi-config generators * ExternalProject: expose _ep_cache_args_script to the caller * FindBoost: Add 1.73 to known versions * bootstrap: Use 'tr' more portably * FindBoost: Update MinGW compiler tag for Boost 1.73 * CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER * Help: Add 3.17 release note for FindPkgConfig '-isystem' fix * FindGTK2: Add harfbuzz target for dependency from pango * VS: Fix using PCH from source with COMPILE_OPTIONS * XL: Install our Fortran 'cpp' helper script with execute permission * MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above * Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers * Objective C/C++: Honor CC and CXX env vars to select compiler * Help: Add 3.17.3 release note for Objective C/C++ compiler selection * cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache * VS: Restore .sln support for VS Version Selector * cm_cxx_features: Filter out libhugetlbfs warnings * cm_cxx_features: Filter out 'icpc: command line warning 10121' * CPack-deb: don't add a line with a dot to pkg desc * Ninja Multi-Config: Make "install" targets depend on default configs * FindPython: fix error on FPHSA call * FindPython: ensure any specified version is correctly handled * FindPython: use CMAKE specific variables to look-up debug library * Help: clarify add_definitions() and add_compile_definitions() behavior * Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability * CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile * CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain * Tests: Add coverage of ctest_test RETURN_VALUE and REPEAT * CTest: Make sure NOT_RUN tests show up in the failed test log * FindPkgConfig: also handle "-isystem" prefixes for include directories * FindOpenSSL: Detect OpenSSL 3.0.0
revbump after updating security/nettle
Fix a number of long-standing race conditions in cmake's autogen handling. Bump revision.
revbump after boost update
cmake: updated to 3.17.0 Some of the more significant changes in CMake 3.17 are: “cmake(1)” gained a “Ninja Multi-Config” generator, which is similar to the “Ninja” generator but can be used to build multiple configurations at once. Visual Studio Generators learned to support per-config sources. Previously only Command-Line Build Tool Generators supported them. The “Compile Features” functionality now offers meta-features for the CUDA language standard levels (e.g. “cuda_std_03”, “cuda_std_14”). See “CMAKE_CUDA_KNOWN_FEATURES”. The “CMAKE_CUDA_RUNTIME_LIBRARY” variable and “CUDA_RUNTIME_LIBRARY” target property were introduced to select the CUDA runtime library used when linking targets that use CUDA. The “FindCUDAToolkit” module was added to find the CUDA Toolkit without enabling CUDA as a language. “cmake(1)” gained a “–debug-find” command-line option to enable additional human-readable output on where find commands search. The “CMAKE_FIND_DEBUG_MODE” variable was introduced to print extra find call information during the cmake run to standard error. Output is designed for human consumption and not for parsing. The “FindCURL” module learned to find CURL using the “CURLConfig.cmake” package configuration file generated by CURL’s cmake buildsystem. It also gained a new “CURL_NO_CURL_CMAKE” option to disable this behavior. The “FindPython” module has learned to find Python components in active virtual environments managed by “conda”. The “ctest(1)” tool gained a “–no-tests=<[error|ignore]>” option to explicitly set and unify the behavior between direct invocation and script mode if no tests were found. The “ctest(1)” tool gained a “–repeat :” option to specify conditions in which to repeat tests. This generalizes the existing “–repeat-until-fail ” option to add modes for “until-pass” and “after-timeout”. Target link properties “INTERFACE_LINK_OPTIONS”, “INTERFACE_LINK_DIRECTORIES” and “INTERFACE_LINK_DEPENDS” are now transitive over private dependencies on static libraries. See policy “CMP0099”. When using MinGW tools, the “find_library()” command no longer finds “.dll” files by default. Instead it expects “.dll.a” import libraries to be available. The “Ninja” generator now prefers the first ninja build tool to appear in the “PATH” no matter whether it is called “ninja-build”, “ninja”, or “samu”. Previously the first of those names to appear anywhere in the “PATH” would be preferred. “cmake(1)” gained a “-E rm” command-line tool that can be used to remove directories and files. This supersedes the existing “-E remove” and “-E remove_directory” tools and has better semantics.
*: recursive bump for libffi
cmake: updated to 3.16.3 CMake 3.16.3 * FindOpenSSL: Fix ordering of dependency link flags * GNUtoMS: Add search path for VS 2019 environment scripts * IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available * ObjC: Add _COMPILE_LAUNCHER support * ObjC: Add VISIBLITY_INLINES_HIDDEN support * Unity Build: include language in generated source file name * PCH: No repeated path for internal generated PCH files (MSVC case) * CTest: Improve error handling when reading resource spec file * CPack: Fix regression in DEB generator description * FindPython*: Fix erroneous target properties setting * macOS: Add support for new Xcode 11 frameworks directory * FindPython: ensure new Xcode framework for Python3 is detected * FindPython: Add support for version 3.9 * Fortran: Add support for NAG Fortran submodules * VS: Add Fortran link flag table entries for /OPT:* * CUDA: Do not device link if target has no CUDA usage * Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files * FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING * FindMatlab: in matlab_add_mex use the correct version file
*: Recursive revision bump for openssl 1.1.1.
*: Recursive revbump from devel/boost-libs
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.
cmake: updated to 3.15.3 CMake 3.15.3 * Flang: Implement MSVC runtime library abstraction * CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property * cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime * cmAffinity: Add include for CPU_ZERO on Alpine Linux * find_path: Fix crash on empty old-style list of names * fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior * FindBoost: Simplify conditional block for last known version * FindBoost: Remove incorrect 1.70 timer dependency * FindBoost: Unwrap compatibility INTERFACE targets for legacy variables * FindBoost: Add support for Boost 1.71 * FindBoost: Clarify role of legacy variables in warning message * FindBoost: Tolerate future Boost INTERFACE libraries * CrayPrgEnv: Change default linking mode based on PE version * ccmake: handle cache entries with empty STRINGS property * libarchive: We now require at least version 3.3.3 * FindMPI: Restore MPI__COMPILE_FLAGS and MPI__COMPILE_OPTIONS * Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets * Tests: Extend MakeClean test to test various target types * Autogen: Fix AUTOUIC segfault, when file includes colliding ui_*.h file
Recursive revbump from boost-1.71.0
cmake: updated to 3.15.1 Changes made since CMake 3.15.0: * CTest: Generate Done.xml before calculating its hash * VS: Place intermediate files in the "ASM List Location" next to objects * MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set * Clang: For MSVC ABI do not use modes older than C++14 * Tests: Revert "require C++14 for the Tutorial" * Makefile: Fix regression in dependencies on relative includes * Help: Add 3.15.1 release notes * IRSL: Fix typo in v143 toolset version check * IRSL: Fix discovery of VS 2019 v141 toolset redistributables * FindPython: ensure interpreter is founded when cross-compiling * Fix allocation in CROSSCOMPILING_EMULATOR evaluation * FindMPI: Updated to use INTERFACE_LINK_OPTIONS * FindMPI: make sure computed link flags are not de-duplicated * Support per-language library link flags * Swift: Add library search paths for dependencies * Swift: add rules for static linking * Swift: support multithreaded compilation * Swift: support SONAME on ELFish targets
*: recursive bump for nettle 3.5.1
cmake: updated to 3.15.0 3.15.0: New Features ============ Generators ---------- * The "Xcode" generator now supports per-target schemes. See the "CMAKE_XCODE_GENERATE_SCHEME" variable and "XCODE_GENERATE_SCHEME" target property. * The "Green Hills MULTI" generator has been updated: * It now supports the "add_custom_command()" and "add_custom_target()" commands. * It is now available on Linux. Languages --------- * Preliminary support for the "Swift" language was added to the "Ninja" generator: * Use the "SWIFTC" environment variable to specify a compiler. * The "Swift_DEPENDENCIES_FILE" target property and "Swift_DEPENDENCIES_FILE" source file property were added to customize dependency files. * The "Swift_MODULE_NAME" target property was added to customize the Swift module name. * The "Swift_DIAGNOSTICS_FILE" source property was added to indicate where to write the serialised Swift diagnostics. The Swift support is experimental, not considered stable, and may change in future releases of CMake. Compilers --------- * The "Clang" compiler variant on Windows that targets the MSVC ABI but has a GNU-like command line is now supported. * Support for the Clang-based ARM compiler was added with compiler id "ARMClang". * Support was added for the IAR compiler architectures Renesas RX, RL78, RH850 and Texas Instruments MSP430. * Support was added for the IAR compilers built for Linux (IAR BuildLx). Command-Line ------------ * The "CMAKE_GENERATOR" environment variable was added to specify a default generator to use when "cmake(1)" is run without a "-G" option. Additionally, environment variables "CMAKE_GENERATOR_PLATFORM", "CMAKE_GENERATOR_TOOLSET", and "CMAKE_GENERATOR_INSTANCE" were created to configure the generator. * The "cmake(1)" "--build" tool "--target" parameter gained support for multiple targets, e.g. "cmake --build . --target Library1 Library2". It now also has a short form "-t" alias, e.g. "cmake --build . -t Library1 Library2". * The "cmake(1)" command gained a new "--install" option. This may be used after building a project to run installation without using the generated build system or the native build tool. * The "cmake(1)" command learned a new CLI option "--loglevel". * The "cmake(1)" "-E remove_directory" command-line tool learned to support removing multiple directories. * The "cmake(1)" "-E tar" tool has been improved: * It now continues adding files to an archive even if some of the files are not readable. This behavior is more consistent with the classic "tar" tool. * It now parses all flags, and if an invalid flag was provided, a warning is issued. * It now displays an error if no action flag was specified, along with a list of possible actions: "t" (list), "c" (create) or "x" (extract). * It now supports extracting ("-x") or listing ("-t") only specific files or directories. * It now supports Zstandard compression with a "--zstd" option. Zstandard was designed to give a compression ratio comparable to that of the DEFLATE (zip) algorithm, but faster, especially for decompression. Commands -------- * The "add_custom_command()" and "add_custom_target()" commands gained a new "JOB_POOL" option that works with the "Ninja" generator to set the pool variable on the build statement. * The "add_library()" command "ALIAS" option learned to support import libraries of the "UNKNOWN" type. * The "cmake_parse_arguments()" command gained an additional "_KEYWORDS_MISSING_VALUES" output variable to report keyword arguments that were given by the caller with no values. * The "execute_process()" command gained a "COMMAND_ECHO" option and supporting "CMAKE_EXECUTE_PROCESS_COMMAND_ECHO" variable to enable echoing of the command-line string before execution. * The "file(INSTALL)" command learned a new argument, "FOLLOW_SYMLINK_CHAIN", which can be used to recursively resolve and install symlinks. * "list()" learned new sub-commands: "PREPEND", "POP_FRONT" and "POP_BACK". * The "message()" command learned new types: "NOTICE", "VERBOSE", "DEBUG" and "TRACE". * The "string()" learned a new sub-command "REPEAT". Variables --------- * The "CMAKE_CROSSCOMPILING_EMULATOR" variable and corresponding "CROSSCOMPILING_EMULATOR" target property learned to support arguments to the emulator. * The "CMAKE_FIND_PACKAGE_PREFER_CONFIG" variable was added to tell "find_package()" calls to look for a package configuration file first even if a find module is available. * The "CMAKE_FRAMEWORK" variable was added to initialize the "FRAMEWORK" property on all targets. * The "CMAKE_VS_JUST_MY_CODE_DEBUGGING" variable and "VS_JUST_MY_CODE_DEBUGGING" target property were added to enable the Just My Code feature of the Visual Studio Debugger when compiling with MSVC cl 19.05 and higher. * The "CMAKE_MSVC_RUNTIME_LIBRARY" variable and "MSVC_RUNTIME_LIBRARY" target property were introduced to select the runtime library used by compilers targeting the MSVC ABI. See policy "CMP0091". * The "CMAKE_PROJECT_INCLUDE" and "CMAKE_PROJECT_INCLUDE_BEFORE" variables were added to allow injection of custom code at the sites of "project()" calls without knowing the project name a priori. Properties ---------- * The "ADDITIONAL_CLEAN_FILES" target property and "ADDITIONAL_CLEAN_FILES" directory property were added. They allow to register additional files that should be removed during the clean stage. * The "PUBLIC_HEADER" and "PRIVATE_HEADER" properties may now be set on Interface Libraries. The headers specified by those properties can be installed using the "install(TARGETS)" command by passing the "PUBLIC_HEADER" and "PRIVATE_HEADER" arguments respectively. * The "VS_PACKAGE_REFERENCES" target property was added to tell Visual Studio Generators to add references to "nuget" packages. * The "VS_PROJECT_IMPORT" target property was added to allow managed Visual Studio project files to import external ".props" files. * The "VS_NO_SOLUTION_DEPLOY" target property was added to tell Visual Studio Generators whether to deploy an artifact to the WinCE or Windows Phone target device. Modules ------- * The "FindBoost" module was reworked to expose a more consistent user experience between its “Config” and “Module” modes and with other find modules in general. * A new imported target "Boost::headers" is now defined (same as "Boost::boost"). * New output variables "Boost_VERSION_MACRO", "Boost_VERSION_MAJOR", "Boost_VERSION_MINOR", "Boost_VERSION_PATCH", and "Boost_VERSION_COUNT" were added. * The "QUIET" argument passed to "find_package()" is no longer ignored in config mode. Note that the CMake package shipped with Boost "1.70.0" ignores the "QUIET" argument passed to "find_package()". This is fixed in the next Boost release. * The input switch "Boost_DETAILED_FAILURE_MSG" was removed. * "Boost_VERSION" now reports the version in "x.y.z" format in module mode. See policy "CMP0093". * The "FindCups" module now provides imported targets. * The "FindEnvModules" module was added to use Lua- and TCL-based environment modules in CTest Scripts. * The "FindGLEW" module now provides an interface more consistent with what upstream GLEW provides in its own CMake package files. * The "FindPkgConfig" now populates "INTERFACE_LINK_OPTIONS" property of imported targets with other (non-library) linker flags. * The "FindPostgreSQL" module learned to find debug and release variants separately. * Modules "FindPython3", "FindPython2" and "FindPython" gained additional lookup strategies and controls, and a new default. See policy "CMP0094". * Modules "FindPython", "FindPython2" and "FindPython3" gain a new target (respectively "Python::Module", "Python2::Module" and "Python3::Module") which can be used to develop Python modules. * Modules "FindPython3", "FindPython2" and "FindPython" gain capability to control how virtual environments are handled. * The "UseSWIG" module learned to manage alternate library names by passing "-interface " for "python" language or "-dllimport " for "CSharp" language to the "SWIG" compiler. Generator Expressions --------------------- * The "generator expressions" "C_COMPILER_ID", "CXX_COMPILER_ID", "CUDA_COMPILER_ID", "Fortran_COMPILER_ID", "COMPILE_LANGUAGE", "COMPILE_LANG_AND_ID", and "PLATFORM_ID" learned to support matching one value from a comma-separated list. CTest ----- * The "ctest_submit()" command learned a new option: "BUILD_ID". This can be used to store the ID assigned to this build by CDash to a variable. * The "ctest_update()" command learned to honor a new variable: "CTEST_UPDATE_VERSION_OVERRIDE". This can be used to specify the current version of your source tree rather than using the update command to discover the current version that is checked out. CPack ----- * The "CPack IFW Generator" gained a new "CPACK_IFW_PACKAGE_STYLE_SHEET" variable to customize the installer stylesheet. Deprecated and Removed Features =============================== * The "cmake-server(7)" mode has been deprecated and will be removed from a future version of CMake. Please port clients to use the "cmake-file-api(7)" instead. * The "ADDITIONAL_MAKE_CLEAN_FILES" directory property is now deprecated. Use the "ADDITIONAL_CLEAN_FILES" directory property instead. * The variable "CMAKE_AUTOMOC_RELAXED_MODE" is considered deprecated. Support still exists but will be removed in future versions. * The "export(PACKAGE)" command now does nothing unless enabled via "CMAKE_EXPORT_PACKAGE_REGISTRY". See policy "CMP0090". * The "Xcode" generator now requires at least Xcode 5. * An explicit deprecation diagnostic was added for policy "CMP0066" ("CMP0065" 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. Other Changes ============= * CMake learned how to compile C++14 with the IBM AIX XL compiler and the SunPro compiler and to compile C++20 with the AppleClang compiler. * With MSVC-like compilers the value of "CMAKE__FLAGS" no longer contains warning flags like "/W3" by default. See policy "CMP0092". * IBM Clang-based XL compilers that define "__ibmxl__" now use the compiler id "XLClang" instead of "XL". See policy "CMP0089". * The "file(REMOVE)" and "file(REMOVE_RECURSE)" commands were changed to ignore empty arguments with a warning instead of treating them as a relative path and removing the contents of the current directory.
Recursive revbump from boost-1.70.0
cmake: updated to 3.14.4 Changes in 3.14.4 since 3.14.3: * FindBoost: Record compiler features for Boost 1.67 and above * FindBoost: Fix compiler features for `fiber` and `context` * iOS: Fix try_compile FILE_COPY not to fail * target_link_libraries: Fix static library private deps in other dirs * Help: Add 3.14.4 release notes * FindSWIG: Support swig4.0 * Apple: Preserve high resolution mtime for static libraries * Apple: Properly lookup XCTest for iOS and tvOS * FindPython: NumPy: fix erroneous dependencies management * FindPython: ensure variable Python_RUNTIME_LIBRARY_DIRS is set correctly
cmake: specifically test for some C++17 features. In case the compiler used advertises C++17 but uses a C++ library that lacks some features, we'll need specific testing. Unbreaks the build for: libstdc++ from 5.4 and clang 7.0 Submitted upstream: https://gitlab.kitware.com/cmake/cmake/merge_requests/3030/diffs (No response yet) From wizermil.
cmake: updated to 3.13.3 Changes in 3.13.3 since 3.13.2: - VS: Exclude VS 2019 instances when using VS 2017 generator - Tests: Add cases for -{C,D,U} without a source tree - Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabled - cmake: Stop processing if -P option lacks file name - cmake: Ensure source and binary dirs are set - cmake: distinguish '-Cpath' from '-C path' in source dir parsing - Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled. - BundleUtilities: Ensure target dir exists when creating symlinks
Revert to avoid breaks due to lang/g95
Fix PR pkg/53816. * Fix from upstream: https://gitlab.kitware.com/cmake/cmake/issues/17614 * Patch comment to appease pkglint * Bump revision
cmake: updated to 3.13.2 Changes in 3.13.2 since 3.13.1: * CUDA: Add CUDA 10 (Turing) detection * CUDA: Fix crash on linking to a CUDA target without CUDA enabled * CPack/External: Fix status messages of staging scripts * Autogen: Revert passing compiler implicit includes to moc
revbump for boost 1.69.0
Need pthread support, make sure a substitue is present if OS lacks support natively, e.g Minix at present.
cmake: updated to 3.13.0 CMake 3.13.0: The Visual Studio Generators for VS 2010 and above learned to support the “INTERPROCEDURAL_OPTIMIZATION” target property and supporting “CheckIPOSupported” module. The “Green Hills MULTI” generator has been updated to include support for platform, architecture, and toolset selection. The “cmake” command gained the “-S <source_dir>” command line option to specify the location of the source directory. This option can be used independently of “-B”. The “cmake” command gained the “-B <build_dir>” command line option to specify the location of the build directory. This option can be used independently of “-S”. The “cmake” “-E create_symlink” command can now be used on Windows. The “target_link_directories()” command was created to specify link directories for targets and their dependents. The “target_link_options()” command was created to specify link options for targets and their dependents. The “target_link_libraries()” command may now be called to modify targets created outside the current directory. See policy “CMP0079”. The “install(TARGETS)” command learned to install targets created outside the current directory. A “VS_DEBUGGER_COMMAND_ARGUMENTS” target property was created to set the debugging command line arguments with Visual Studio Generators for VS 2010 and above. A “VS_DEBUGGER_ENVIRONMENT” target property was created to set the debugging environment with Visual Studio Generators for VS 2010 and above. The “option()” command now honors an existing normal variable of the same name and does nothing instead of possibly creating a cache entry (or setting its type) and removing the normal variable. See policy “CMP0077”. The “target_sources()” command now interprets relative source file paths as relative to the current source directory. This simplifies incrementally building up a target’s sources from subdirectories. The “CMP0076” policy was added to provide backward compatibility with the old behavior where required.
cmake: Use NetBSD curses(3) when possible ccmake needs wsyncup(3) and since NetBSD 8.0 it is present on NetBSD. Handle that via `USE_CURSES= wsyncup' and remove enforcements about ncurses in CMakeLists.txt and Source/Checks/Curses/CMakeLists.txt. Bump PKGREVISION
cmake: updated to 3.12.2 Changes in 3.12.2 since 3.12.1: * Android: Add support for NDK r18 * CheckIPOSupported: Simplify result reporting logic * CheckIPOSupported: Tolerate backslashes in output of failed checks * VS: Restore CMakeLists.txt references in each target * EXPORT_PROPERTIES: Add test for an undefined property * EXPORT_PROPERTIES: Prevent null dereference for undefined property * Help: Fix typo in clang-tidy example -checks option * FindBoost: Fix context discovery for 1.60 and below * FindCUDA: Do not find cublas_device on CUDA >= 9.2 * FindMatlab: Remove erroneous duplicate code * CUDA: Avoid using deprecated cublas_device to identify device lib dirs * cmState: Clear GlobVerificationManager state on Reset
It appears that curses in NetBSD-8 is also incompatible (uses ncurses)
revbump after boost-libs update
cmake: updated to 3.11.2 3.11.2: Ninja: Do not add empty custom command for file(GENERATE) outputs C++ feature checks: Filter out warnings caused by local configuration libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCK FindCUDA: Fix regression in separable compilation without cublas FindBoost: Remove extra indentation in 1.65/1.66 dependency block add_library: Restore error on alias of non-global imported target add_custom_{command,target}: Fix crash on empty expanded command CMake 3.11.2 IRSL: Fix Intel library list for ifort-only setups InstallRequiredSystemLibraries: Check for existence of mfcm dlls FindBoost: Backport versioned python dependencies for v1.35 to v1.66 Fix CMAKE_DISABLE_SOURCE_CHANGES recognition of top of build tree FindJava, FindJNI, UseJava: update for version 10 support FindJava, FindJNI: Ensure most recent version is searched first FindJava, FindJNI: fix erroneous regex, enhance registry lookup Help: Specify COMPILE_OPTIONS and COMPILE_FLAGS source properties usage Qt4Macros: Use get_property/set_property Qt4Macros: Don't AUTOMOC or AUTOUIC qt4-generated files FindPkgConfig: do not unset unused variable FindBLAS: do not write an imported target name into BLAS_LIBRARIES Autogen: Register generated dependency files
revbump for boost-libs update
devel/cmake: -lcrypto should appear later in the command This fixes PR pkg/53117.
cmake: updated to 3.11.1 Changes in 3.11.1 since 3.11.0: Revert "CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES" CPack: Fix crash on invalid generator name Restore support for explicitly referenced CMakeLists.txt sources Exclude "libgcc_eh" library files from implicit link libraries Features: Record for VS 2017 through 15.6 Explicitly require LibUV 1.10 or higher to build CMake bootstrap: Add option to enable/disable usage of system libuv Fix crash with --trace-expand --warn-uninitialized together FindOpenMP: Fix support for Intel on Windows Autogen: Protected calls to cmSystemTools::CollapseCombinedPath Autogen: Protected calls to cmSystemTools::Split/JoinPath Autogen: Protected calls to cmSystemTools::GetFilenameWithoutLastExtension Autogen: Protected calls to cmQtAutoGen::SubDirPrefix Autogen: Protected calls to cmFilePathChecksum Autogen: Use std::istreambuf_iterator for file so string reading Autogen: Print moc/uic/rcc output to stdout
cmake: require GCC 4.8 (to go along with c++11) from xalopp in https://github.com/NetBSD/pkgsrc/pull/21
cmake: bump PKGREVISION for -O fix
add CMAKE_PKGSRC_BUILD_FLAGS for pkgsrc build to set opts With pkgsrc built packages, the goal is to have the user's compiler optimization flags set by the user using CFLAGS, etc. To that end, the cmake Makefile has subst.mk code to "sed -e 's,-O.,,'" out opt. flags in Modules/Compiler/*.cmake for cmake compiles with the CMAKE_BUILD_TYPE set (e.g. to Release). Unfortunately, this sed-based approach has two drawbacks: First, it gets applied to packages build with cmake outside of pkgsrc (changing the semantics of -DCMAKE_BUILD_TYPE=Release in an unexpected way by remove -O flags from it). Second, the sed expression damages some of the Modules/Compiler/*.cmake as not all opt flags match the "-O." regular expression. To address this we: 1. remove the subst.mk sed operation on Modules/Compiler/*.cmake 2. add a new config variable CMAKE_PKGSRC_BUILD_FLAGS that should be set for pkgsrc-based cmake builds (e.g. in mk/configure/cmake.mk) 3. we add a patch for Modules/Compiler/GNU.cmake to look for CMAKE_PKGSRC_BUILD_FLAGS and choose a set of non-opt compiler flags when this is set (to provide the desired behavior under pksrc). note that the GNU.cmake file is also used by clang. We can make the corresponding changes to other compilers if desired. The result is that cmake compiles under pkgsrc set CMAKE_PKGSRC_BUILD_FLAGS and follow CFLAGS, etc. (bypassing CMAKE_BUILD_TYPE), but cmake compiles outside of pkgsrc follow the standard cmake semantics for CMAKE_BUILD_TYPE. Also, we no longer damage Modules/Compiler/*.cmake with sed.
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the “Ninja” generator learned to add compiler launcher tools along with the compiler for the “Fortran” language (“C”, “CXX”, and “CUDA” were supported previously). See the “CMAKE_<LANG>_COMPILER_LAUNCHER” variable and “<LANG>_COMPILER_LAUNCHER” target property for details. Visual Studio Generators learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS”, “INCLUDE_DIRECTORIES”, “COMPILE_OPTIONS”, and “file(GENERATE)”. See generator expression documentation for caveats. The “Xcode” Generator learned to support the “COMPILE_LANGUAGE” “generator expression” in target-wide “COMPILE_DEFINITIONS” and “INCLUDE_DIRECTORIES”. It previously supported only “COMPILE_OPTIONS” and “file(GENERATE)”. See generator expression documentation for caveats. “add_library()” and “add_executable()” commands can now be called without any sources and will not complain as long as sources are added later via the “target_sources()” command. The “target_compile_definitions()” command learned to set the “INTERFACE_COMPILE_DEFINITIONS” property on Imported Targets. The “target_compile_features()” command learned to set the “INTERFACE_COMPILE_FEATURES” property on Imported Targets. The “target_compile_options()” command learned to set the “INTERFACE_COMPILE_OPTIONS” property on Imported Targets. The “target_include_directories()” command learned to set the “INTERFACE_INCLUDE_DIRECTORIES” property on Imported Targets. The “target_sources()” command learned to set the “INTERFACE_SOURCES” property on Imported Targets. The “target_link_libraries()” command learned to set the “INTERFACE_LINK_LIBRARIES” property on Imported Targets. The “COMPILE_DEFINITIONS” source file property learned to support “generator expressions”. A “COMPILE_OPTIONS” source file property was added to manage list of options to pass to the compiler. When using “AUTOMOC” or “AUTOUIC”, CMake now starts multiple parallel “moc” or “uic” processes to reduce the build time. A new “CMAKE_AUTOGEN_PARALLEL” variable and “AUTOGEN_PARALLEL” target property may be set to specify the number of parallel “moc” or “uic” processes to start. The default is derived from the number of CPUs on the host.
cmake: updated to 3.10.3 CMake 3.10.3 * GoogleTest: Rename TIMEOUT parameter to avoid clash * Autogen: Fix for the empty source file crash in 3.10.2 * ccmake: fix status line buffer overflow on very wide terminals
cmake: updated to 3.10.2 Changes in 3.10.2: KWIML: Backport RISC-V update to CMake 3.10 FindPostgreSQL: Add support for PG10 cmGraphVizWriter: Updated to create and follow dependers for interface targets Autogen: Fix for problematic nested list separator Autogen: Ignore not existing source files in cmMakefile
devel/cmake: Add the upstream patch to support boost-libs-1.66 Bump PKGREVISION.
Revbump after boost update
devel/cmake: Building cmake requires C++11 compiler
Changes in 3.9.2 since 3.9.1: InstallRequiredSystemLibraries: Factor redist name into variable InstallRequiredSystemLibraries: Find VS 2017 Update 3 redist directory macOS: Revert default Hi-DPI support in applications Ninja: Fix support for MSVC with non-English output Xcode: Revert addition of "outputPaths" to custom command build phase cmCPackDragNDropGenerator: Add missing include cmake: Fix --find-package mode with imported targets Genex: Fix TARGET_PROPERTY value of SOURCES Android: Update for NDK r16 FindBoost: Revert "Simplify search in lists." InstallRequiredSystemLibraries: Add support for future VS 2017 toolchains Tests: Fix RunCMake.GeneratorExpression to run in CMake 3.9 FindOpenMP: Restore OpenMP_FOUND result variable CUDA: Pass host compiler to nvcc while device linking VS: Do not reference output assemblies if not possible for CSharp target VS: Initialize CSharp flags consistently Autogen: Restore AUTOUIC lookup paths from 3.8.2 Autogen: Update AUTOUIC documentation for search paths Autogen: Extend AUTOUIC search paths test Clang: Find version-suffixed LLVM/Clang binutils FindCygwin: Fix regression when CYGWIN_INSTALL_PATH is already set
Revbump for boost update
Changes in 3.8.2 since 3.8.1: * bootstrap: fix build on mingw-w64 * cmFileCommand: Fix build on mingw-w64 * GNUtoMS: Add search path for VS 2015 environment scripts * GNUtoMS: Add search path for VS 2017 environment scripts * FindDevIL: Restore IL_FOUND result variable * FindOpenSSL: Restore support for crypto-only result * source_group: Restore TREE support for relative paths * VS: Fix debugging of C++ executables if CSharp is enabled
Recursive revision bump for archivers/libarchive.
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 “targets” files to be imported into generated project files. ...more...
Changes 3.7.2: Bug fixes.
Pullup ticket #5183 - requested by joerg devel/cmake: build fix Revisions pulled up: - devel/cmake/Makefile 1.129 - devel/cmake/distinfo 1.95 - devel/cmake/patches/patch-Modules_FindCurses.cmake 1.1 - devel/ncurses/builtin.mk 1.40 --- Module Name: pkgsrc Committed By: joerg Date: Thu Jan 5 22:18:03 UTC 2017 Modified Files: pkgsrc/devel/ncurses: builtin.mk Log Message: Drop buildlink-ncurses-fake-libs, it didn't get applied due to a typo and it doesn't help with the directory scanning of cmake anyway, since that one only looks in the real prefix. --- Module Name: pkgsrc Committed By: joerg Date: Thu Jan 5 22:34:25 UTC 2017 Modified Files: pkgsrc/devel/cmake: Makefile distinfo Added Files: pkgsrc/devel/cmake/patches: patch-Modules_FindCurses.cmake Log Message: Recognize libgnuform as valid implementation of a form library to match devel/ncurses. This is necessary due to cmake's insistance of scanning PREFIX/lib directly. Bump revision.
Recognize libgnuform as valid implementation of a form library to match devel/ncurses. This is necessary due to cmake's insistance of scanning PREFIX/lib directly. Bump revision.
Revbump after boost update
Bump revision for devel/ncurses soname change. Drop NetBSD-7 from the incompat list now that the conflict has been resolved.
If the curses include directory doesn't contain form.h, but the ncurses subdirectory does, explicitly include the latter in the search path. This helps with the header moves in OpenSuSE.
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The “Ninja” generator learned to conditionally support Fortran when using a “ninja” tool that has the necessary features. See generator documentation for details. The “if()” command gained new boolean comparison operations “LESS_EQUAL”, “GREATER_EQUAL”, “STRLESS_EQUAL”, “STRGREATER_EQUAL”, “VERSION_LESS_EQUAL”, and “VERSION_GREATER_EQUAL”. The “try_compile()” command source file signature now honors configuration-specific flags (e.g. “CMAKE_<LANG>_FLAGS_DEBUG”) in the generated test project. Previously only the default such flags for the current toolchain were used. See policy “CMP0066”. “Toolchain files” may now set “CMAKE_EXE_LINKER_FLAGS_INIT”, “CMAKE_SHARED_LINKER_FLAGS_INIT”, and “CMAKE_MODULE_LINKER_FLAGS_INIT” variables to initialize the “CMAKE_EXE_LINKER_FLAGS”, “CMAKE_SHARED_LINKER_FLAGS”, and “CMAKE_MODULE_LINKER_FLAGS” cache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new “FIXTURES_SETUP”, “FIXTURES_CLEANUP” and “FIXTURES_REQUIRED” test properties. When using regular expressions or “–rerun-failed” to limit the tests to be run, a fixture’s setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from “cmake.org” for new versions of CMake. Vim support files “cmake-indent.vim”, “cmake-syntax.vim”, and “cmake-help.vim” have been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 — superseded by VS 2008 and above MinGW.org mingw32 — superseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
Changes in 3.6.3 since 3.6.2: FindHDF5: Restore pre-3.6 behavior of finding only C by default CMake 3.6.3 cmake-gui: Do not remove library paths for Qt5 plugins.
Revbump post boost update
Changes in 3.6.2 since 3.6.1: Ben Boeckel (3): Intel-C: declare support for gnu11 Intel-C: support gnu89 and gnu99 extension flags Intel-C: standard flags are also supported in 12.0 Brad King (11): Add script to update curl from upstream curl: Update script to get curl 7.50.1 curl: Remove CMake-specific README VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset GetPrerequisites: Fix regression in gp_resolved_file_type Fortran: Fix .mod file comparison for Intel 16 format VS: Fix VS 2015 .vcxproj debug setting for v80 toolset FindHDF5: Fix regression in providing HDF5_IS_PARALLEL FindHDF5: Fix regression in finding hdf5hl_fortran curl: Backport certificate reuse fix from 7.50.2 CMake 3.6.2 Chuck Atkins (2): FindHDF5: Make sure compile definition vars keep the -D flag CrayLinuxEnvironment: Add alternative methods to get version info Curl Upstream (2): curl 2015-08-11 (1a7f66a3) curl 2016-08-03 (f2cb3a01) Fujii Hironori (1): VS: Fix out-of-bounds write on empty Nsight Tegra version Konstantin Sinitsyn (1): FindProtobuf: Restore support for PROTOBUF_IMPORT_DIRS
According to Brad King, cmake developer, who kindly reviewed our patches: The SIZEOF_VOID_P macro is defined by code in CMakeLists.txt using the value of CMAKE_SIZEOF_VOID_P. The former is a C++ preprocessor macro. The latter is only visible in CMake code.
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.
The recent libarchive update changed the library major. Increase the ABI depends and perform a PKGREVISION bump for dependents. Noticed by OSX binary package users.
Update MASTER_SITES to avoid redirect
Update cmake to 3.5.2. Changes not found.
Changes 3.5.1: Bug fix release.
Add a note keep the cmake API version in sycn with devel/cmake-fedora.
Changes 3.5.0: The cmake-gui(1) gained options to control warnings about deprecated functionality. The cmake-gui(1) learned an option to set the toolset to be used with VS IDE and Xcode generators, much like the existing -T option to cmake(1). The cmake-gui(1) gained a Regular Expression Explorer which may be used to create and evaluate regular expressions in real-time. The explorer window is available via the Tools menu. The -Wdev and -Wno-dev cmake(1) options now also enable and suppress the deprecated warnings output by default. The suppression of developer warnings as errors can now be controlled with the new -Werror=dev and -Wno-error=dev cmake(1) options. The cmake(1) -E command-line tools copy, copy_if_different, copy_directory, and make_directory learned to support multiple input files or directories. The cmake_parse_arguments() command is now implemented natively. The CMakeParseArguments module remains as an empty placeholder for compatibility. The install(DIRECTORY) command learned to support generator expressions in the list of directories. The CMAKE_ERROR_DEPRECATED variable can now be set using the -Werror=deprecated and -Wno-error=deprecated cmake(1) options. The CMAKE_WARN_DEPRECATED variable can now be set using the -Wdeprecated and -Wno-deprecated cmake(1) options. The VS_GLOBAL_<variable> target property is now implemented for VS 2010 and above. Previously it worked only in VS 2008 and below. The ExternalProject module learned a new GIT_REMOTE_NAME option to control the git clone --origin value. The FindBoost module now provides imported targets such as Boost::boost and Boost::filesystem. The FindFLEX module FLEX_TARGET macro learned a new DEFINES_FILE option to specify a custom output header to be generated. The FindGTest module now provides imported targets. The FindGTK2 module, when GTK2_USE_IMPORTED_TARGETS is enabled, now sets GTK2_LIBRARIES to contain the list of imported targets instead of the paths to the libraries. Moreover it now sets a new GTK2_TARGETS variable containing all the targets imported. The FindOpenMP module learned to support Clang. The FindOpenSSL module gained a new OPENSSL_MSVC_STATIC_RT option to search for libraries using the MSVC static runtime. The FindPNG module now provides imported targets. The FindTIFF module now provides imported targets. A FindXalanC module was introduced to find the Apache Xalan-C++ XSL transform processing library. The FindXercesC module now provides imported targets.
Bump PKGREVISION for security/openssl ABI bump.
Changes 3.4.3: * VS: Do not fail on Windows 10 with VS 2015 if no SDK is available
Changes 3.4.2: CMakeDetermineCompilerId: Fix VS Itanium platform name VS: Do not select a partial Windows 10 SDK folder VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation cmSystemTools: Add VersionCompareEqual helper VS: Fix Windows 10 SDK version selection FindJava: Fix typos in IdlJ and JarSigner component implementation AIX,HP-UX: Fix RPATH handling when CMP0065 is set to NEW
Switch back to ncurses on NetBSD to fix ccmake. Addresses PR 50490 by Brad Harder. Bump PKGREVISION.
Changes in 3.4.1 since 3.4.0: Fix auto export symbols for Dlls containing /bigobj for 64bit builds. Cray: Implement Fortran compiler version detection MSVC: Fix linking with /MANIFEST:NO option Make C and C++ default dialect detection robust to advanced optimizations FindGTest: Refactor test type checks to avoid cases triggering CMP0064 Android: Restore generation of non-versioned soname Project: Guess default standard dialect if compiler was forced Revert "Disable shared library support when compiler links statically" Tests: Add case for add_subdirectory inside a function Tests: Add case for unmatched cmake_policy({PUSH,POP}) Tests: Add case for package version file unmatched policy scope cmState: Skip variable scope snapshots to avoid call stack duplicates cmMakefile: Clarify purpose of method that pops a scope snapshot cmMakefile: Remove unused PolicyPushPop interfaces cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopes cmState: Enforce policy scope balancing around variable scopes cmLinkedTree: Rename 'Extend' method to 'Push' cmLinkedTree: Add Pop method cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-line cmState: Avoid accumulating policy stack storage for short-lived scopes cmState: Avoid accumulating snapshot storage for short-lived scopes cmOrderDirectories: Factor out directory comparison cmOrderDirectories: Reduce repeat realpath() calls Include `sys/types.h` header to get `mode_t` Add NIOS2 CPU support cmELF: Avoid divide by zero if there are no dynamic section entries
Update cmake to 3.4.0: CMake 3.4 Release Notes *********************** Changes made since CMake 3.3 include the following. New Features ============ Generators ---------- * The :generator:`Visual Studio 14 2015` generator learned to select a Windows 10 SDK based on the value of the :variable:`CMAKE_SYSTEM_VERSION` variable and the SDKs available on the host. * CMake learned rudimentary support for the Apple Swift language. When using the :generator:`Xcode` generator with Xcode 6.1 or higher, one may enable the ``Swift`` language with the :command:`enable_language` command or the :command:`project` command (this is an error with other generators or when Xcode is too old). Then one may list ``.swift`` source files in targets for compilation. Commands -------- * The :command:`find_program` command learned a ``NAMES_PER_DIR`` option to consider all given ``NAMES`` in each directory before moving on to the next directory. * The :command:`get_filename_component` command learned a new ``BASE_DIR`` subcommand. This is used to specify a base directory when calculating an absolute path from a relative path. * The :command:`if` command learned a new ``TEST`` operator that evaluates to true if a given test name has been defined by the :command:`add_test` command. See policy :policy:`CMP0064`. * The :command:`install(DIRECTORY)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`install(FILES)` command ``DESTINATION`` option learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :command:`string` command learned a new ``APPEND`` subcommand. Variables --------- * The :ref:`Makefile Generators` and the :generator:`Ninja` generator learned to add compiler launcher tools like distcc and ccache along with the compiler for ``C`` and ``CXX`` languages. See the :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER` variable and :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target property for details. * New :variable:`CMAKE_LINK_SEARCH_START_STATIC` and :variable:`CMAKE_LINK_SEARCH_END_STATIC` variables were introduced to initialize the :prop_tgt:`LINK_SEARCH_START_STATIC` and :prop_tgt:`LINK_SEARCH_END_STATIC` target properties, respectively. Properties ---------- * :ref:`Visual Studio Generators` learned to support additonal target properties to customize projects for NVIDIA Nsight Tegra Visual Studio Edition: * :prop_tgt:`ANDROID_ANT_ADDITIONAL_OPTIONS` * :prop_tgt:`ANDROID_ARCH` * :prop_tgt:`ANDROID_ASSETS_DIRECTORIES` * :prop_tgt:`ANDROID_JAR_DEPENDENCIES` * :prop_tgt:`ANDROID_JAR_DIRECTORIES` * :prop_tgt:`ANDROID_JAVA_SOURCE_DIR` * :prop_tgt:`ANDROID_NATIVE_LIB_DEPENDENCIES` * :prop_tgt:`ANDROID_NATIVE_LIB_DIRECTORIES` * :prop_tgt:`ANDROID_PROCESS_MAX` * :prop_tgt:`ANDROID_PROGUARD` * :prop_tgt:`ANDROID_PROGUARD_CONFIG_PATH` * :prop_tgt:`ANDROID_SECURE_PROPS_PATH` * :prop_tgt:`ANDROID_SKIP_ANT_STEP` * :prop_tgt:`ANDROID_STL_TYPE` * The :prop_tgt:`ARCHIVE_OUTPUT_DIRECTORY`, :prop_tgt:`LIBRARY_OUTPUT_DIRECTORY`, and :prop_tgt:`RUNTIME_OUTPUT_DIRECTORY` target properties learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * The :prop_tgt:`SOURCE_DIR` and :prop_tgt:`BINARY_DIR` target properties were introduced to allow project code to query where a target is defined. * The :prop_tgt:`OUTPUT_NAME` target property and its variants learned to support :manual:`generator expressions <cmake-generator-expressions(7)>`. * A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the :ref:`Makefile Generators` whether to generate commands to print output after each target is completed. * On Windows with MS-compatible tools, CMake learned to optionally generate a module definition (``.def``) file for ``SHARED`` libraries. See the :prop_tgt:`WINDOWS_EXPORT_ALL_SYMBOLS` target property. Modules ------- * The :module:`ExternalProject` module :command:`ExternalProject_Add` function ``GIT_SUBMODULES`` option now also limits the set of submodules that are initialized in addition to the prior behavior of limiting the set of submodules that are updated. * The :module:`ExternalProject` module learned new ``USES_TERMINAL`` arguments for giving steps exclusive terminal access. This is useful with the :generator:`Ninja` generator to monitor CMake superbuild progress and prevent CPU oversubscription. * The :module:`FindBISON` module ``BISON_TARGET`` macro learned a new ``DEFINES_FILE`` option to specify a custom output header to be generated. * The :module:`FindHDF5` module learend a new ``HDF5_PREFER_PARALLEL`` option allowing users to specify that a parallel HDF5 tool is preferred if both are available. * The :module:`FindIce` module now provides imported targets. * The :module:`FindJava` module learned to optionally find the ``idlj`` and ``jarsigner`` tools. * The :module:`FindOpenSSL` module now provides imported targets. * The :module:`FindOpenSSL` module learned a new ``OPENSSL_USE_STATIC_LIBS`` option to search only for static libraries. * The :module:`FindPkgConfig` learned a new :command:`pkg_get_variable` command which may be used to query for arbitrary variables from a package (such as for related tools or data and plugin install paths). * The :module:`FindProtobuf` module gained a new :command:`protobuf_generate_python` function to generate python sources from ``.proto`` files. * The :module:`FindTIFF` module learned to search separately for debug and release variants. * The :module:`FindwxWidgets` module learned to support version requests. * The :module:`FindXercesC` module learned to search separately for debug and release variants. * The :module:`FindZLIB` module learned to search separately for debug and release variants. * The :module:`GNUInstallDirs` module learned special default values for certain installation prefixes according to the `GNU Coding Standards`_ and the `Filesystem Hierarchy Standard`_. * The :module:`UseJava` module ``add_jar`` function learned to support response files (e.g. ``@srcs.txt``) for source specification. * The :module:`UseJava` module ``install_jar`` function learned new ``DESTINATION`` and ``COMPONENT`` options to specify the corresponding :command:`install` command options. * The :module:`UseJava` module gained a new ``create_javah`` function to create C headers from Java classes. .. _`GNU Coding Standards`: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html .. _`Filesystem Hierarchy Standard`: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html Generator Expressions --------------------- * A new ``$<SHELL_PATH:...>`` :manual:`generator expression <cmake-generator-expressions(7)>` has been added. CTest ----- * CTest learned to optionally measure the CPU load during parallel testing and avoid starting tests that may cause the load to exceed a given threshold. See the :manual:`ctest(1)` command ``--test-load`` option, the ``TestLoad`` setting of the :ref:`CTest Test Step`, the :variable:`CTEST_TEST_LOAD` variable, and the ``TEST_LOAD`` option of the :command:`ctest_test` command. * :manual:`ctest(1)` learned options ``--test-output-size-passed`` and ``--test-output-size-failed`` to customize the limit on test output size submitted when running as a :ref:`Dashboard Client`. CPack ----- * The :module:`CPackDeb` module learned to set package dependencies per component. See variables: * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES` * :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS` * The :module:`CPack` module learned to package empty directories. * The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, which can be used to ensure the cpack program receives the settings' values exactly as they were set, even if they contain CMake-special characters. For compatibility, it's off by default. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by GNU C compilers on Windows. * CMake learned to honor ``*.manifest`` source files with MSVC tools. Manifest files named as sources of ``.exe`` and ``.dll`` targets will be merged with linker-generated manifests and embedded in the binary. * The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option that is like ``--trace`` but expands variable references in the output. Deprecated and Removed Features =============================== * The :module:`CMakeExpandImportedTargets` module is now documented as deprecated. See module documentation for an explanation. * The :variable:`CMAKE_USE_RELATIVE_PATHS` variable no longer has any effect. Previously it was partially implemented and unreliable. Other Changes ============= * The :module:`CheckFunctionExists`, :module:`CheckLibraryExists`, :module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to work in environments where only CXX is enabled. * The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. * The :module:`CPackDeb` no longer uses fakeroot and system tar program for packaging. * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. * CMake no longer links executables with flags to export symbols unless the :prop_tgt:`ENABLE_EXPORTS` target property is set. See policy :policy:`CMP0065`. * The ``SONAME`` field is no longer set for ``MODULE`` libraries created with the :command:`add_library` command. ``MODULE`` libraries are meant for explicit dynamic loading at runtime. They cannot be linked so ``SONAME`` is not useful. * The internal :variable:`CMAKE_<LANG>_COMPILE_OBJECT` rule variable now substitutes compiler include flags in a separate ``<INCLUDES>`` placeholder instead of the main ``<FLAGS>`` placeholder.
Support SunOS/clang by reusing the GNU Platform files. Bump PKGREVISION.
Update to 3.3.2: Changes in 3.3.2 since 3.3.1: Brad King (2): Makefile: Print color escapes only when necessary CMake 3.3.2 Chuck Atkins (1): find_*: Fix search order when the environment duplicates some HINTS Daniel Pfeifer (3): cmExtra{Kate,SublimeText}Generator: Remove unused cmXMLSafe includes cmCTest{BZR,GIT,P4}: Remove unused cmXMLSafe includes CTest: Fix XML double-encoding cases Matt McCormick (1): CMakeDetermine{C,CXX}Compiler: Avoid if() auto-dereferene in quoted arguments
Depend on ncurses for !NetBSD and NetBSD before 6.0. Do not force ncurses on the cmake side. Avoids picking up ncurses from pkgsrc when it is installed, but not intended to be used by cmake.
Remove the need for ncurses, just a curses with libform is enough. Bump revision.
Update to 3.3.1 Changelog: Changes in 3.3.1 since 3.3.0: Ben Boeckel (1): ctest: fix add_subdirectory() crash Brad King (3): add_subdirectory: Fix error message on missing CMakeLists.txt (#15680) Fortran: Store detected compiler version persistently (#15684) CMake 3.3.1 Gregor Jasny (1): Xcode: Quote strings containing a tilde (#15672)
Bump all packages that depend on curses.bui* or terminfo.bui* since they might incur ncurses dependencies on some platforms, and ncurses just bumped its shlib. Some packages were bumped twice now, sorry for that.
Bump PKGREVISION for ncurses shlib bump.
Update to 3.3.0: I am proud to announce that CMake 3.3.0 is now available for download. Release notes appear are published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The "if()" command learned a new "IN_LIST" operator that evaluates to true if a given element is contained in a named list. * The "add_dependencies()" command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The "find_library()", "find_path()", and "find_file()" commands now search in installation prefixes derived from the "PATH" environment variable. * The "<LANG>_VISIBILITY_PRESET" and "VISIBILITY_INLINES_HIDDEN" target properties now affect compilation in sources of all target types. See policy "CMP0063". * A "<LANG>_INCLUDE_WHAT_YOU_USE" target property and supporting "CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE" variable were introduced to tell the *Makefile Generators* and the "Ninja" generator to run "include- what-you-use" along with the compiler for "C" and "CXX" languages. Deprecated and Removed Features: * The "ctest_build()" and "build_command()" commands no longer tell "make" tools to ignore errors with the "-i" option. Previously this was done for *Makefile Generators* but not others. See policy "CMP0061". * The "Visual Studio 7" generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The "Visual Studio 6" generator is now deprecated and will be removed in a future version of CMake. * The "add_definitions()" command no longer causes a "DEFINITIONS" directory property to be populated. See policy "CMP0059".
Update FindX11 patch and avoid isfinite redefinition for jsoncpp on SunOS Revbump as well...
Changes 3.2.3: * Makefile: Workaround mingw32-make trailing backslash trouble * Makefile: Fix compilation after parent commit was backported * InstallRequiredSystemLibraries: Update for VS 2015 * Fix assertion failure on unmatched foreach in function * ctest_build: Fix regression in GNU make error message matching
Changes 3.2.2: * file(LOCK): Close file descriptor/handle when releasing a lock * FindMFC: Use if(DEFINED) to simplify condition * curl: Never consider using Windows APIs on Cygwin * liblzma: Use unaligned access only on Intel and PowerPC archs * liblzma: Disable XL compiler optimizations * liblzma: Disable GNU 3.3 compiler optimizations * KWSys SystemTools: Teach Touch with !create to succeed on missing file * Makefile: Fix multiple custom command outputs with one missing * libarchive: Fix string concatentation in Windows mktemp implementation
Changes 3.2.1: * CMake learned to support unicode characters *encoded as UTF-8* on Windows. This was already supported on platforms whose system APIs accept UTF-8 encoded strings. Unicode characters may now be used in CMake code, paths to source files, configured files such as ".h.in" files, and other files read and written by CMake. Note that because CMake interoperates with many other tools, there may still be some limitations when using certain unicode characters. * The "Compile Features" functionality is now aware of features supported by more compilers, including: * Apple Clang ("AppleClang") for Xcode versions 4.4 though 6.1. * GNU compiler versions 4.4 through 5.0 on UNIX and Apple ("GNU"). * Microsoft Visual Studio ("MSVC") for versions 2010 through 2015. * Oracle SolarisStudio ("SunPro") version 12.4. * The "add_custom_command()" and "add_custom_target()" commands learned a new "BYPRODUCTS" option to specify files produced as side effects of the custom commands. These are not outputs because they do not always have to be newer than inputs. * The "file(GENERATE)" command can now generate files which are used as source files for buildsystem targets. Generated files automatically get their "GENERATED" property set to "TRUE". Deprecated and Removed Features: * Files written in the "cmake-language(7)", such as "CMakeLists.txt" or "*.cmake" files, are now expected to be encoded as UTF-8. If files are already ASCII, they will be compatible. If files were in a different encoding, including Latin 1, they will need to be converted. * The "FindOpenGL" module no longer explicitly searches for any dependency on X11 libraries with the "FindX11" module. Such dependencies should not need to be explicit. Applications using X11 APIs themselves should find and link to X11 libraries explicitly.
Changes 3.1.3: Do not call setlocale() globally in CMake applications Add setlocale() calls around use of libarchive APIs Makefile: Fix regression in target-bound custom command COMMENT output
Changes 3.1.2: * install: Fix regression in default configuration selection * CPack: Fix packaging of source tarballs with symbolic links * KWSys Directory: Check opendir return value before using it * Help: Clarify status of link_libraries command * Normalize OBJECT_DEPENDS paths to match custom commands * MSVC: Fix initialization of RelWithDebInfo shared library link flags * FeatureSummary: Fix bracket in documentation. * FindOpenSSL: fix detection of OpenSSL 1.0.2 * ctest_build: Update GNU make error message matching
Update to 3.1.1: Changes in 3.1.1 since 3.1.0: André Klitzing (1): Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068) Ben Boeckel (4): get_test_property: clarify the documentation set_tests_properties: fix documentation tests: add tests for querying properties Xcode: Sort targets deterministically and with ALL_BUILD first (#15346) Brad King (14): bootstrap: Fix syntax for Solaris 10 shell (#15317) Help: Clarify MinGW v. MSYS Makefiles generators (#15319) Ninja: Do not crash when CMAKE_<LANG>_COMPILE_OBJECT is empty (#15325) Ninja: Generate rules only for languages compiled in a target (#15325) Tests: Test using objects from a language enabled in a subdirectory (#15325) Help: Add 3.1 release note about '#' escaping in Makefiles (#15322) Help: Clarify if(<variable>) documentation (#15335) Help: Document CMAKE_FIND_PACKAGE_NAME variable Xcode: Do not require code signing for compiler id (#15214) Copyright.txt: Update year range to end in 2015 XL: Fix link flags for executables on Linux with XL compilers QNX: Fix detection of QCC compiler id (#15349) Xcode: Fix early termination on per-config source file error CMake 3.1.1 Calin Cascaval (1): CPack: Fix PackageMaker internal versioning for OS X 10.10 Chuck Atkins (1): Fix compilation with the Oracle / Sun compiler (#15318) Daniele E. Domenichelli (1): Help: Small fixes in CPackComponent documentation David Coppa (1): FindRuby: fix selection of version x.0 (#15345) Domen Vrankar (1): CPack: Avoid crash on invalid CMake generator name (#15308) Evangelos Foutras (1): FindRuby: Fix output check in _RUBY_CONFIG_VAR Gregor Jasny (1): find_package: Document CMAKE_FIND_PACKAGE_NAME variable Justin Borodinsky (1): QtAutoUic: Restore source file AUTOUIC_OPTIONS settings Mark Abraham (1): FindCUDA: Do not assume CMAKE_SYSTEM_PROCESSOR is set Peter Vasil (2): cmake-mode.el: Fix extracting keyword at point in cmake-help cmake-mode.el: Re-add explicit call to require thingatpt Rolf Eike Beer (5): FindIce: Port to work with CMP0054 NEW behavior FindSDL: Allow if() to dereference SDL_INCLUDE_DIR for matching FindQt: fix setting DESIRED_QT_VERSION if "find_package(Qt VVV)" was called FindQt: fix variable name in error message FindQt: explicitely mention that it cannot Qt5 or later Sergey Nikulov (1): FindBoost: Add latest Boost version 1.57.0 and next milestone 1.58.0 Simon Gomizelj (1): KWSys Terminal: Add xterm-termite to VT100 color support whitelist Stephen Kelly (7): Help: Document valid 14 value for CXX_STANDARD. (#15339) get_target_property: discern empty from undefined properties (#15333) QtAutoUic: Add a test for the regression in the parent commit. cmMakefile: Rename a method to what it really does. Features: Fix the COMPILE_FEATURES genex for unavailable features. cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338) Help: Link relevant documents for virtual override features (#15311) Tim Blechmann (1): Help: Add INTERFACE_LIBRARY to TYPE target property documentation William Lynch (1): Help: Update cmake.org links to avoid redirects
When opendir() fails, readdir() is called with a NULL pointer, leading to a segfault. Reported at http://public.kitware.com/Bug/view.php?id=15367 Bump PKGREVISION.
Changes 3.1.0: * Windows Phone and Windows Store support has been added to Visual Studio 11 (2012) and above Generators. * NVIDIA Nsight Tegra support has been added to Visual Studio 10 (2010) and above Generators. * New "target_compile_features" command allows populating target based compile features. CMake uses this information to ensure that the compiler in use is capable of building the target, and to add any necessary compile flags such as -std=gnu++11 to support language features. More information on this is found at: - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html * The syntax for *Variable References* and *Escape Sequences* was simplified in order to allow a much faster implementation. See policy "CMP0053". * The "if" command no longer automatically dereferences variables named in quoted or bracket arguments. See policy "CMP0054". * The target property "SOURCES" now generally supports "Generator Expressions". The generator expressions may be used in the "add_library" and "add_executable" commands. * It is now possible to write and append to the target property "SOURCES". The variable "CMAKE_DEBUG_TARGET_PROPERTIES" can be used to trace the origin of sources. * CPack gained "7Z" and "TXZ" generators supporting lzma-compressed archives. * The ExternalProject module has learned to support lzma-compressed source tarballs with ".7z", ".tar.xz", and ".txz" extensions. * The ExternalProject module ExternalProject_Add command learned a new BUILD_ALWAYS option to cause the external project build step to run every time the host project is built. * The ctest_coverage command learned to support Intel coverage files with the "codecov" tool. * The ctest_memcheck command learned to support sanitizer modes, including "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer", and "UndefinedBehaviorSanitizer".
Changes 3.0.2: Bug fix release.
Changes 3.0.1: We are pleased to announce the release of CMake 3.0.0. In CMake 3.0, the CMake language has been extended with *Bracket Argument* and *Bracket Comment* syntax inspired by Lua long bracket, and the CMake documentation has been converted to reStructuredText. Furthermore, new "CodeLite" and "Kate" extra generators are available for use with the Makefile or Ninja generators. In addition, the "add_library()" command learned a new "INTERFACE" library type, the "export()" command learned a new "EXPORT" mode that retrieves the list of targets to export from an export set configured by the "install(TARGETS)" command "EXPORT" option, and the "project()" command learned to set some version variables to values specified by the new "VERSION" option or to empty strings.
Drop maintainership.
fix check for freetype-2.5.1 Julian Ospald in http://www.cmake.org/Bug/view.php?id=14601 Bump PKGREVISION
Uses libexecinfo (fixes build on FreeBSD 10).
Recursive PKGREVISION bump for OpenSSL API version bump.
Changes 2.8.12.2: VS: Map /Fd to ProgramDataBaseFileName for VS 7,8,9 Replace <OBJECT_DIR> rule placeholder consistently VS: Convert include path to backslashes for VS >= 10 Revert "Ninja: Track configured files so we can regenerate them." FindOpenMP: fix detecting compilers that do not need any special flag Xcode: Fix storyboard view CMakeDetermineCompilerId: Fix compiler line match for Xcode 5.1
Add a Platform/MirBSD.cmake file to fix the MirBSD build. The file is installed along with other platform files, so I had to amend PLIST and bump the PKGREVISION. reviewed by wiz@, adam@
Changes 2.8.12.1: * MSVC: Add /FS flag for cl >= 18 to allow parallel compilation * Genex: Reject $<TARGET_FILE:...> for object libraries * Check for OBJECT_LIBRARY source files at start of generation * CMP0022: Plain target_link_libraries must populate link interface * Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets * CMP0022: Warn about a given target at most once * Fix summary documentation of INTERFACE_LINK_LIBRARIES * file(GENERATE): Clear internal records between configures * cmake: Validate -E cmake_automoc argument count * Fix spelling in INTERFACE_LINK_LIBRARIES documentation * CMP0022: Output link interface mismatch for static library warning * Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES. * CMP0022: Add unit test for null pointer check and message. * CMP0022: Add test for target_link_libraries plain signature * Automoc: Add directory-level COMPILE_DEFINITIONS to command line * FindCUDA: Fix NPP library search for CUDA 5.5
restore ncurses dependency fix, it had been lost at updated to 2.8.12.
Fix building on SunOS
Changes 2.8.12: Xcode: Fix test architecture selection for Xcode >= 5 Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failure Xcode: Drop XCODE_DEPEND_HELPER for Xcode >= 5 Xcode: Fix OBJECT library support for Xcode 5 (#14254) Genex: Fix processing multiple include directories for relative paths More...
Only pull in ncurses dependency if the sytem curses does not supply wsyncup.
xmlrpc-c dependency is not needed since around cmake-2.8. Noted by joerg. Bump PKGREVISION.
Revbump after updating textproc/xmlrpc-c
Only pull in ncurses dependency if the system curses doesn't supply wsyncup
Update to 2.8.11.2 Chagnelog Changes in CMake 2.8.11.2 (since 2.8.11.1) ------------------------------------------ Alex Neundorf (1): asm support: adapt to changes in CMakeDetectCompiler in 2.8.10 Bjoern Thiel (1): SelectLibraryConfigurations: Fix for cached <base>_LIBRARY Brad King (5): cmCryptoHash: Increase alignment of HashFile buffer cmcurl: Backport curl bug 1192 fix (#14250) VS12: Add Visual Studio 12 generator (#14251) VS12: Generate flag tables from MSBuild v120 tool files FindBoost: Add -vc120 mangling for VS 12 Robert Maynard (1): VS: Clarify Visual Studio product year for each version Changes in CMake 2.8.11.1 (since 2.8.11) ---------------------------------------- Brad King (5): ExternalData: Do not re-stage staged object files try_compile: Fix quoting of libraries in generated CMakeLists.txt KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176) FindBoost: Fix handling of \ in input paths (#14179) Xcode: Fix framework search paths in STATIC library targets (#14191) Modestas Vainius (1): Fix test failures caused by regexp-sensitive characters in the build paths Stephen Kelly (9): include_directories: Fix handling of empty or space-only entries try_compile: Trim whitespace from LINK_LIBRARIES entries cmTarget: Remove some hardcoding of transitive property names. GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode. GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property. GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property. FindQt4: Don't fail if certain Qt modules are unavailable. Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules. Genex: Fix the HEAD target used for evaluated expressions
Changes 2.8.11: This new release of CMake features the introduction of Target Usage Requirements and a Generator Toolset Selection for Visual Studio and XCode, as well as a variety of other improvements. With the Target Usage Requirements, developers can now specify target usage requirements for their consumers such as include directories and preprocessor definitions, whereas in previous versions only link dependencies were supported. Additionally, with the target_link_libraries(myexe yourlib), developers can now build myexe sources with requirements specified by yourlib. There are also a new target include directory and target compile definitions commands that offer public, private, and interface options. The detailed discussion on this topic is available on the KDE website. The new Generator Toolset selection for Visual Studio and XCode inform the IDE which compiler toolchain to use. Other improvements include the introduction of the ExternalData Module and the ability to reference data unambiguously from source tree by the content hash.
PR pkg/47792 Let me revert to as of 30mins before. /usr/local may be left as it is for the case to compile stuff outside of pkgsrc with this cmake.
PR pkg/47792 Correct install PREFIX found on Modules/CMakeGenericSystem.cmake. The example of problem was found on wip/trustedQSL (1.14)
Only pull in ncurses if the system curses doesn't supply wsyncup.
Detect png-1.6. Bump PKGREVISION.
PKGREVISION bumps for the security/openssl 1.0.1d update.
recursive bump from cyrus-sasl libsasl2 shlib major bump.
With the 2.8.10 release, users now have a new way to arrange exported targets that depend on other targets into "export sets." In addition, there are new target properties for PDB_OUTPUT_DIRECTORY and PDB_NAME implemented for Visual Studio 7 and later. Generator expressions, which are used to introduce conditional statements at generate time rather than at CMake compile time, are now available in more contexts, notably in the INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS target properties. There are also new generator expressions available in the 2.8.10 release. The file(DOWNLOAD command can accommodate https URLs. The pre-built binaries for this are available from Kitware and link to OpenSSL. The team has also added uniform compiler "id" and version number variables available for nearly all known compilers and platforms.
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
devel/cmake: Update from 2.8.8 to 2.8.9 Version 2.8.8 has some serious bugs regarding pkgconfig handling. Luckily 2.8.9 was just released which resolves them. There are numerous bugfixes, see: http://www.cmake.org/files/v2.8/CMakeChangeLog-2.8.9
Changes 2.8.8: * CheckIncludeFiles: Shorten check description message * CPackNSIS: Rewrite variable documentation to make it more readable. * OS X: Use correct extra path when searching for applicaton bundles * OS X: Mark find_program results as advanced * Fix some doc typo and add an undocumented var. * OS X: Use OSX_DEVELOPER_ROOT for app search path * FindBoost: add support for 1.49 and 1.50
Changes 2.8.7: This release includes the addition of file(…) and string(…) commands for computing hash values and more cryptographic hash implementations, such as SHA1, SHA224, SHA256, SHA384, SHA512. There are new LINK_PUBLIC and LINK_PRIVATE options for target_link_libraries command as well as a new DeployQt4 module. With the 2.8.7 release, there are two sets of installers for the Mac. The "Darwin" versions are for Mac OSX 10.4 and later, and are "ppc;i386" universal binaries. The "Darwin64" versions are for 10.6 and later, and are "x86_64;i386" universal binaries.
Recursive bump for archivers/libarchive buildlink addition.
Changes 2.8.6: Kitware is pleased to announce the release of CMake 2.8.6. This release features several notable changes, including a new AUTOMOC target property that helps make it easier to build Qt projects and support for the Intel Fortran compiler in VisualStudio10. Additionally, VisualStudio 9 and 10 generators for Itanium platform have been added, and appear as the “Visual Studio 9 2008 IA64” and “Visual Studio 10 IA64” generators on Windows builds of CMake. This release also contains an experimental generator in the Windows build targeting VisualStudio 11. It will remain "Experimental" until VisualStudio 11 itself is finalized. If you have the developer preview of VisualStudio 11, we would appreciate any feedback you have. Please keep in mind that this is very new, and has only been tested enough to be useful to include for the community to test drive and provide feedback on. Other improvements include the movement of many files from KDE's overrides of CMake module files, which have been accepted into upstream CMake thanks to the hard work of Alex Neundorf and Stephen Kelly. There have been many Xcode generator improvements, including support for iOS projects and the ability to switch between simulator and device builds.
Replace paths with ${LOCALBASE} instead of hard-coding /usr/pkg into installed files.
Changes 2.8.5: * Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake" * Use devenv instead of msbuild for vs2010. * Revert "With very long file names, VS 2010 was unable to compile files." * Use relative paths for custom command inputs. * Look for VCExpress as a possible build tool as well as devenv. * KWSys: Recognize color TERM=screen-256color-bce * find_library: Use lib->lib64 conversion in CXX-only projects * libarchive: Install COPYING with CMake documentation * FindJNI: Search in Fedora arch-specific JVM location * FindSWIG: Use NAMES in find_program directives * Documentation: Fix spelling / formatting errors * FindBoost: Fixes * FindBoost: Also search for 1.46.1 * Detect VS 2010 SP1, faster and more robust detection * Fix a memory leak. * Fix for bug10798. VS10 did not append -I flags with COMPILE_FLAGS prop. * Append and do not clobber CMAKE_CXX_FLAGS in the test. * Use bin tree for inclues to avoid -I with spaces in the path. * One more try. Use full path by default, and relative on broken compilers. * Fix for bug11927, external project git clone step always runs vs10. * XL: Place Fortran modules with -qmoddir= flag * Teach file(DOWNLOAD|UPLOAD) to timeout after inactivity * Xcode: Fix parallel build depends with universal binaries * Fix style errors added by parent and grandparent * Use cascading-if for per-config test and install code * CTest: Report tests not run due to unknown configuration * GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value * Teach find_(library|package) about Linux multiarch * Test find_package multiarch support * more...
recursive bump from gettext-lib shlib bump.
Changes 2.8.4: * Fix crash in GraphVizWriter when GRAPHVIZ_TARGET_IGNORE_REGEX is used * FindPerlLibs: Add notice of copyright * libarchive: Define major/minor/makedev only where needed * libarchive: Use OpenSSL only if CMAKE_USE_OPENSSL * Fix documentation of MSVC_VERSION * Silence the may be used uninitialized warnings: initialize stuff. * CPack Tests the different ways of packaging components * Avoid foreach IN LISTS syntax which is not supported by CMake 2.6
Find png-1.5. Bump PKGREVISION.
Cmake requires libarchive>=2.8.4
Changes 2.8.3: * When processing DartMeasurements use the tests working directory. * ExternalProject: No svn --username if empty. * Avoid problem reading jni.h on Macs. * Fixed appending PATH to dumpbin tool from growing without bounds. * Switch to CMAKE_PATH when doing PATH comparisons on Windows. * Remove unecessary TO_CMAKE_PATH for gp_cmd_dir. * Append the gp_tool path to the system PATH using native slashes. * Fixes to GetPrerequisites for cygwin. * CPackDeb Added several optional debian binary package fields. * ENH: Added case for Python 2.7. * Fixed parallel build for generators with EXTRA.
Changes 2.8.2: * Fix for bug: ctest exit exception incorrectly reported * CTest: Parse empty Git commits correctly * Qualify name of extraction location with ExternalProject name. * For VS10: Really use full path file names. * Add support for the emulation version of the cudart library. * Cleanup FindOpenSSL. Add support for win64 installation. * Parallel CTest hangs if serial test has depends * Preserve ENV{MAKEFLAGS} in CMake script mode * Remove "Microsoft Visual Studio .NET" from VS8 and VS9 find modules. * Use full path file names in generate.stamp.list. * Use full path file names to express dependencies. * Look in the ctest ini file for GitCommand. * Fixed: CUDA_VERSION_MAJOR/MINOR now computed after first run. * Do not exit if stoptime is passed. * Document ctest_build() TARGET option * Make sure libarchive uses cmzlib and not the system libz if found. * Use forward slashes for objects in response files * Use platform variable for response file flag * Use response file for objects on MinGW and MSYS * Generalize CTest.Update* test dashboard script helpers * ctest_update: Support custom Git update command * ctest_update: Support Git upstream branch rewrites * Fix CMake data and doc paths in Cygwin package * Document scope of source file properties * Run CTest.NoNewline test using built CMake * Tru64: Place cmOStringStream vtable uniquely * Enable BootstrapTest on MSYS * Tru64: Use full-path include directives in Makefiles
Bump PKGREVISION for libpng shlib name change. Also add some patches to remove use of deprecated symbols and fix other problems when looking for or compiling against libpng-1.4.x.
CMake 2.8.1 We are happy to announce the release of CMake 2.8.1. This is a minor release from 2.8.0. In addition to addressing many issues, this version of CMake adds some new features as well. The parallel nmake replacement from Nokia jom, now has its own tested generator in CMake. CTest can correctly kill process trees when a timeout occurs. The ctest_* commands have been enhanced to take more options. When using the Intel compilers CMake can correctly determine 32 bit vs. 64 bit builds. When running in parallel mode (-j N), CTest can now compute and use a cost value for each test to ensure the tests are run in an optimal order.
a builtin curses which supports wsyncup is considered good enough, don't need ncurses in this case
allow to override cmake's Python search order, to enforce the version selected by pkgsrc this automatically affects pkgs which use FIND_PACKAGE(PythonInterp) or FIND_PACKAGE(PythonLibs)
Recursive PKGREVISION bump for jpeg update to 8.
Changed 2.8.0: This version of CMake fixes many open issues and provides some exciting new features.
bump PKGREVISION to get it rebuilt with the new xmlrpc-c dependency pattern, should fix the "downgrade" problem reported by obache
Update to 2.6.4. Upstream changelog: Changes in CMake 2.6.4 RC 6 - Use $ var in CPack.cmake, and not @var@ - Add more missing OSXX11 CPack files Changes in CMake 2.6.4 RC 5 - Add missing file for OSXX11 CPack generator - cmake-gui fix path length in the binary directory's combo box Changes in CMake 2.6.4 RC 4 - Better document Verbatim in custom commands - Fix #8843 ctest system information was not always correct on linux - Fix transitive linking of imported libraries Changes in CMake 2.6.4 RC 3 - Documentation fix for #8815 - Fix CDash only submit with ctest_submit - various fixes for FindQt4.cmake - cmake-gui block checkable flag for item during configure/generate. - put qt version in about for cmake-gui Changes in CMake 2.6.4 RC 2 - Fix issues in FindBoost #8576 #8734 - Fix -D issues with VS 6 - Fix scope issue with CMAKE_CURRENT_LIST_FILE and macros - Eclipse make VERBOSE off in makfiles #7585, and use built-in includes - Codeblocks auto header finding - Fix crash in include_directories #8704 - Some documentation fixes to commands and classes. - Do not warn if LIBPATH is not set for nmake Changes in CMake 2.6.4 RC 1 - Add some better documentation about RPATH variables - No longer mark header files as HEADER_FILE_ONLY automatically, this gets rid of the ugly red marks in Visual Stuido - Fix man-page preformatted text paragraphing - Teach file(REMOVE) how to use relative paths - Gracefully handle broken version symlinks - Fix ASM source file extension default list - Pass shared library export symbol in DEFINES - Enforce unique binary directories - Fix cmake-mode.el indentation cursor motion - Simplify reverse cmLocalGenerator::Convert - More robust decision to suppress implicit include dirs - Fix Fortran implicit dependency include path (and test it) - Clarify docs of old *_OUTPUT_PATH vars - Fix svn update logic for modified files - Add get_filename_component(... REALPATH) - Work around broken GetLongPathName case
* Unbreak searching software from /usr/local. There is no need to for all this sed magic, _CMAKE_INSTALL_DIR in UnixPaths.cmake does that for us already. Only X11BASE needs special attention. * Remove patch-ae which never worked in fact. * Bump PKGREVISION. Discussed-with: Mark Davies
update to 2.6.3 changes: Add parenthetical expressions to if Improve scoping of policies (see cmake_policy and CMP0011) Teach find_package more config file locations Many improved Find scripts in Modules Added an unset command Better reporting when nmake compiler environment is not correct
Update to 2.6.2: Changes in CMake 2.6.2 RC 6 - Fix bug#7669 cpack did not work when sym-linked after install Changes in CMake 2.6.2 RC 5 - Add beta BundleUtilities.cmake file - CPackRPM 7435 fixes to add optional post-install - Fix Bug #7456, FindBoost versioned find not working - Fix FindCurses to be able to work without ncurses.h - FindQt4 fix bug #7433, add a bit more documentation and add ability to specify extra flags to lupdate. Changes in CMake 2.6.2 RC 4 - Fix bug #7359 make llvm-gcc work, by explicitely excluding "llvm-" from _CMAKE_TOOLCHAIN_PREFIX - Fix bug 7046: OS X Framework support: extensionless headers were being ignored when specified as public headers - Fix documentation in CheckCCompilerFlag.cmake - Add better version support to find_package command - Fix Xcode debug not working - Add VERSION compare to if command - Make FindThreads sete THREADS_FOUND - Deb cpack generator sets Installed-Size for the package - Do not add an empty /D"" at the end of VS 6 .dsp compile lines - Recognize /MAP in VS 7 and greater - Add new policy CMP0009 - GLOB_RECURSE should not follow symlinks by default Changes in CMake 2.6.2 RC 3 - Fix bug, and remove extra closing > in visual fortran projects. - Fix bug in ctest -C where it was sometimes ignored. - Fix crash with exec_process when cmake is being debugged on windows - Fix unsetting of global properties Changes in CMake 2.6.2 RC 2 - allow tool chains to limit object path length - add info.plist to frameworks - better preservation of user link lines - add a get command for cmake policies - support for imported libraries of unknown type - support link interface in target_link_libraries - Do not hang when select lies - .m compiled with gcc and g++ on mac - Fix issue when application bundle dir is removed cmake needs to re-run automatically - Report an error when configure has one error - Fix bug where -E commands stole command line options - Fix infinite recursion bug with try-compile and change of compilers - Fix delete and backspace in ccmake - Fix coverage not to follow symlinks - Add more possible languages for NSIS in cpack - FindQt4.cmake fix bug #7433, add documentation that directories also can be specified to update the translation files. - Add standard arg handling to FindPHP4.cmake - Add X11R6 to search path for FindOpenGL - update cmake-syntax.vim to have more keywords - BUG: fix #7477, set VERBOSE=1 in the kdevelop setting for the environment, not together with the make executable - UsePkgConfig.cmake - clean up, add a status message in case pkgconfig didn't find the package, sync with kde - FindX11 look in more places - FindTIFF look for more names - FindQt3, make sure qt4 is not found and some style stuff - FindPNG add more names of linpng (sync with the KDE version) - FindKDE3/KDE4 sanity checks on qt versions found - FindLibXMl2 also search for xmllint, which comes with libxml2 (sync with FindLibXml2.cmake from KDE) - Fix sizeof, and other compiler INFO string checks with GNU linker's --gc-sections - Fix bogus dependency on executable targets when a linked library happended to match the name of an executable target - Improve readability of circular depends error - Fix crash on circular target dependencies - find_package now knows about lib64 paths - Fix gentoo elf security issue with RPATH and RUNPATH Changes in CMake 2.6.2 RC 1 - Fix abort in eclipse generator with empty EXECUTABLE_OUTPUT_PATH - Fix FindKDE3.cmake syntax error - Fix custom command output by relative path not always working - Fix bug, Do not convert RPATH entries to full path. - Allow for "$ORIGIN" into the RPATH> - Allow for static libraries with lots of objects using archive append - Fix documentation for FindImageMagick.cmake - Fix link error with MS compiler and comdef - Fix crash when attempting to load the RPATH out of a non-ELF file - Add --trace option to cmake allowing for the tracing of a cmake run - Fix for issue #4971 where the case of the drive letter component of the filenames might be different when analyzing gcov output. - Add warning level W0 to visual studio - Add support for OSX library version flags
Substitute /usr/local with ${LOCALBASE} (not ${X11BASE}) Bump PKGREVISION.
Update patchsum and remove trailing whitespace in Makefile.
Update to cmake-2.6.1. I could not find any release notes concise enough to include here; the changelog for this release is here: <http://www.cmake.org/pipermail/cmake/2008-August/023188.html> For changes prior to this release, please see ${WRKSRC}/ChangeLog. While here, add a list of *.cmake files in which to replace /usr/${X11R6,local} with X11BASE and LOCALBASE, respectively. Also, the [pkgsrc-relative] API, e.g. 2.6 is now defined by a variable so that it can be used in pathnames for the build and the PLIST.
Update to version 2.4.8. ChangeLog does not include relases, and I don't have time to go through it now to see what to include here. See ${WRKSRC}/ChangeLog.txt if you're interested. Insofar as I could tell, patch-ab and patch-ad no longer need apply.
Fix broken curl test.
Without a data segment size of ~ 270MB cmDependsJavaParser.cxx cannot be compiled.
The package supports installation to DESTDIR.
Per the process outlined in revbump(1), perform a recursive revbump on packages that are affected by the switch from the openssl 0.9.7 branch to the 0.9.8 branch. ok jlam@
Apply patch from Kimura Fuyuki in PR 35954, fixing: cmake-generated build system doesn't create symlinks for shared libraries on NetBSD. Bump PKGREVISION.
Use xmlrpc-c package instead of builtin version. Bump PKGREVISION.
Bump PKGREVISION for PLIST fix on non-NetBSD.
Revert parts of previous. Morale: always run cvs diff before committing.
Take maintainership.
Update to 2.4.6: Changes in CMake 2.4.6 * Remove svn test in ctestctest3 * Fix for FIND_* order and framworks with PREFIX usage. * Fix for FindDoxygen and quiet mode. * Find JavaVM as well as jvm * Look for ruby1.8 and ruby * Fix for cpack .tgz.sh and dash * Fix for finding custom commands from a full path with CMAKE_CFG_INTDIR. * Fix for Borland make and custom commands that do nothing Changes in CMake 2.4.5 * Fix for seg fault when a macro runs a bad command BUG# 3815 * Fix fix for foo.dll.lib that does not brea -L/usr/lib in link names * Fix problem with LIBRARY_OUTPUT_PATH and linking to a dll foo.dll.lib instead of foo.lib * Do not depend on optimized libraries for a debug build and visa versa. * Fix target name matching custom command output conflict. * Fix FindQt3 so that it does not find qt4 * Fix FindKDE4 so that it only looks for kde4-config Changes in CMake 2.4.4 * CMake Version numbers on module directory * elseif added * Fix docs in CheckCSourceCompiles CheckCXXSourceCompiles and diagnostic output. * added Check(C/CXX)SourceRuns.cmake, CheckCXXCompilerFlag.cmake, Check * add static and shared flags to make sure the specified versions of libraries are used with -static -lfoo -shared -lbar * Search for the compiler only once and store a full path. avoids problems with PATH changes in cmake re-runs. * make sure manifest files are generated with VS 8 * added FindASPELL.cmake, FindBZip2.cmake FindHPELL.cmake, FindJasper.cmake FindLibXml2.cmake, FindLibXslt.cmake, FindOpenSSL.cmake * fix for bug#3646 GLUT not Glut for framework name * many fixes for FindKDE3.cmake * Better FindPNG that honors REQUIRED and looks in more places. * Support to find python 2.5 * Find Qt3 better * Find Qt4 better and work with qmake and qmake-qt4 on the same machine. * Much better FindRuby.cmake * More stuff marked as advanced in FindTcl and FindSDL * FindwxWidgets runs shell script wx-config with sh * Support for cpack and vs8 install libraries * Darwin shared library create and Fortran now work * Support for isystem directories INCLUDE_DIRECTORIES (SYSTEM) * Targets in makefiles to create pre-processed files and assembly files can be turned off with these variables: CMAKE_SKIP_PREPROCESSED_SOURCE_RULES CMAKE_SKIP_ASSEMBLY_SOURCE_RULES * Support for QNX * Better default search paths for unix and FIND_* stuff * Use link /lib and not lib to create static libraries with MS * Useqt4 works with static qt4 and other fixes * UseSwig.cmake interface to add extra dependencies. * Added APPEND option to ADD_CUSTOM_COMMAND, Added VERBATIM option to ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET * add EXCLUDE_FROM_ALL option for ADD_LIBRARY and ADD_EXECUTABLE * Fix automatic computation of binary path to work for subdirectories of out of source directories. This addresses bug#3592. * --debug-ouput to cmake that gives stack trace to message send error commands. The stack trace is no longer there without it. * + can be in a variable * Do not replace @VAR@ syntax in list files. This addresses bug #2722 * much faster depend scanning * do depends on system include directories * Permission and install directory fixes * New target property <CONFIG>_LOCATION (Debug, Release, etc) * fix exclude from all in VS * fix code completion problem in KDevelop * Define MSYS when using msys generator * fix referencece to projects outside the build tree VS 7,8 * Fix ZERO_CHECK to not always try and rebuild * Fix Xcode universal binary rebuild problem * add FILE_IS_NEWER to if command * Add OPTIONAL to INSTALL command fix bug@2922 * add SORT and REVERSE to LIST command * fix for seg fault bug #3815 * add SYBOLIC as a source file property see SET_SOURCE_FILES_PROPERTIES * fix ctest valgrind if no coverage is done * better message if bogus generator is specified. * Better FindJava and FindJNI * Fix doxygen.config for CMake * add CPACK_MODULE_PATH * Fix configuration for ctest dashboard targets Experimental, Nightly, etc * Fix FindDoxygen for mac and app-bundles * Fix CPack simple install test with NSIS * Allow EXECUTE_PROCESS to strip trailing white space * Fix mingw echo in makefiles * Fix Xcode to not mess up -gdwarf-2 * Fix crash when "linking" to custom targets. * Allow HEADER_FILE_ONLY to not compile the file in VS 7 and 8 * Fix mingw out of binary with spaces in the path. * Fix for sudo make install (partial) * Allow installed zlib, curl, expat, xmlrpc to be used. * Add CMakeDependentOption.cmake module * Allow projects to set install prefix default * improved Find/Use wxWidgets * add support for windows dll version numbers * Fix message for -G when generator does not exist * Fix html references in help * Fix version on .exe cygwin * allow global timeout in ctest * Fix some odd cases with custom commands in VS 6 * Fix path suffix stuff with lib64 in FIND_* stuff. * Fix delete in CMakeSetup to not change the current position in the list * Fix debug stl run of ctest on Mac * Use #2 for manifest nt command on dll and #1 on exe * Add depends from files inside qrc files in qt * Fix explort_library_depends to work with optimized and debug Changes in CMake 2.4.3 * fix for 3557 - Under MSVC8 hardcoded TargetEnvironment for MIDL Compiler * Fix for Xcode all projects to prevent -fvisibility=hidden flags. This is needed to make RTTI work by default. * better prototype for main in try compile of c programs avoids warnings in logs. * with visual studio do not use incremental linking for release builds by default. * fix bootstrap to use more ansi c main it test compiler * fix import build settings to do case insensitive match on windows * fix building in root directory c:/ * Add support for CXX only projects * Better FindWxWidgets * Added FindBoose.cmake * add more fortran file extensions * Cpack supports multiple packages at the same time * Fix to FindKDE4 to look for kde4-config first * Support for env var CMAKE_CONFIG_TYPE in ctest * Fix for -DVAR=foo on the command line not saving to the cache * ENH: Added creation of XXX_FIND_COMPONENTS list of all components requested withREQUIRED option. This addresses the feature request in bug#3494. * Object files get safe names * progress is now reported with makefiles * location of CMakeTmp changed to a varible * CMAKE_COLOR_MAKEFILE cache variable available to turn off color output * fixes for FindQt4 on mac. * Better search paths for finding VTK * Fix relative path problems in ADD_SUBDIRECTORY * Fix long link commands on UNIX shells * Fix depend file names in makefiles for generated headers * CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS allows for if/endif without variable * Xcode multiple custom command problem fixed. * INSTALL_RPATH_USE_LINK_PATH when true will add the link path to the rpath * Add target/fast rules in the sub directories * Fix Visual stuido C and C++ targets to not add /TP and /TC * print a context when cmake errors occur * add rxvt-unicode, cygwin, and screen terminal support for color output * Fix crash in CMakeSetup when status line is long * make sure try compile files have a newline at the end * fix for hp itanium build
Bump revision for last change.
Fixed a useful pkglint warning. (hi joerg.)
Replace hard-coded /usr/X11R6 with X11BASE, so that X11_TYPE != native for example has a change to find X11. Bump revision.
... I forgot to say: This update to 2.4.2 has mainly been done by Mark Kirby in PR 33515, with slight improvements by me.
Updated cmake to 2.4.2. Since 2.0.5, there have been numerous small bug fixes, improvements in speed and portability.
Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where no developer is officially maintaining the package. The rationale for changing this from "tech-pkg" to "pkgsrc-users" is that it implies that any user can try to maintain the package (by submitting patches to the mailing list). Since the folks most likely to care about the package are the folks that want to use it or are already using it, this would leverage the energy of users who aren't developers.
Recursive revision bump / recommended bump for gettext ABI change.
Add a Modules/Platform/DragonFly.cmake file (copied from FreeBSD.cmake). cmake not tested on DragonFly, but did build package on DragonFly. Also hardcode "NetBSD" in PLIST instead of ${OPSYS} so deinstall works on non-NetBSD platforms. Bump PKGREVISION.
Fixed the --mandir argument to configure. Makes the package build again on NetBSD-1.6.2/i386.
Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions: USE_GNU_TOOLS -> USE_TOOLS awk -> gawk m4 -> gm4 make -> gmake sed -> gsed yacc -> bison
Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.
Changes 2.0.5: * Bug fixes
Rename ALL_TARGET to BUILD_TARGET for consistency with other *_TARGETs. Suggested by Roland Illig, ok'd by various.
Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10 in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
update to 2.0.2 2.0 was a major feature release - too many to list here, see the included ChangeLog.* files for details. 2.0.x fixed bugs.
bl3ify, and set USE_LANGUAGES appropriately
fix wrong usage of ${OPSYS} in PLIST. fixes install on non-NetBSD. bump PKGREVISION.
replace deprecated USE_GMAKE with USE_GNU_TOOLS+=make.
Add trailing / on HOMEPAGEs
Back out last change related to moving ncurses/buildlink2.mk to curses.buildlink2.mk. This was wrong because we _really_ do want to express that we want _n_curses when we include the buildlink2.mk file. We should have a better way to say that the NetBSD curses doesn't quite work well enough. In fact, it's far better to depend on ncurses by default, and exceptionally note when it's okay to use NetBSD curses for specific packages. We will look into this again in the future.
move ncurses/buildlink2.mk to mk/curses.buildlink2.mk, as it provides support for base system curses/ncurses as well as ncurses itself. suggested by wiz.
COMMENT should start with a capital letter.
s/netbsd.org/NetBSD.org/
PKGREVISION bump for libiconv update.
Use tech-pkg@ in favor of packages@ as MAINTAINER for orphaned packages. Should anybody feel like they could be the maintainer for any of thewe packages, please adjust.
import cmake-1.6.6 CMake is an extensible, open-source system that manages the build process in an operating system and compiler independent manner. Unlike many cross-platform systems, CMake is designed to be used in conjunction with the native build environment. Simple configuration files placed in each source directory (called CMakeLists.txt files) are used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) which are used in the usual way. CMake can compile source code, create libraries, generate wrappers, and build executables in arbitrary combinations. CMake supports in-place and out-of-place builds, and can therefore support multiple builds from a single source tree. CMake also supports static and dynamic library builds. Another nice feature of CMake is that it generates a cache file that is designed to be used with a graphical editor. For example, when CMake runs, it locates include files, libraries, and executable, and may encounter optional build directives. This information is gathered into the cache, which may be changed by the user prior to the generation of the native build files.
Initial revision