Commit graph

219 commits

Author SHA1 Message Date
maya
defa127edf 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.
2019-02-27 13:18:01 +00:00
adam
18dcc64857 cmake: updated to 3.13.4
Changes in 3.13.4 since 3.13.3:
* Tests: add cases for providing Qt5Core_VERSION manually
* AutoGen: query Qt5 version from directory properties
* Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication
  methods"
* Intel: Record support for relaxed constexpr by version 18.0.5
* macOS: Restore compatibility for setting FRAMEWORK after install()
* FindLAPACK: Distinguish check result variable name from FindBLAS
* macOS: Add missing explicit dependency on CoreServices framework
* cmake: Convert no source/build dir error to warning
* Help: Add 3.13.4 release note for no source/build dir error/warning
* FindDoxygen: Escape backslashes in default values
2019-02-05 09:52:23 +00:00
adam
c1af196f73 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
2019-01-15 09:02:28 +00:00
triaxx
01fda0f6c1 Revert to avoid breaks due to lang/g95 2019-01-04 21:02:07 +00:00
triaxx
9d83a80450 Fix PR pkg/53816.
* Fix from upstream: https://gitlab.kitware.com/cmake/cmake/issues/17614
* Patch comment to appease pkglint
* Bump revision
2019-01-04 17:47:12 +00:00
adam
3bbfedb489 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
2018-12-15 23:23:14 +00:00
adam
5b12b7b592 revbump for boost 1.69.0 2018-12-13 19:51:31 +00:00
sevan
c391e0446b Need pthread support, make sure a substitue is present if OS lacks support
natively, e.g Minix at present.
2018-12-02 03:01:39 +00:00
adam
127af41aae cmake: updated to 3.13.1
Changes in 3.13.1 since 3.13.0:
      Fortran: Fix module dependency scanning with upper-case SUBMODULE
      FindBoost: Restore finding without CXX language enabled
      VS: Avoid crash with VS 2015 when all SDKs are higher than 10.0.14393.0
      Autogen: Fix empty uic executable string
2018-11-28 14:42:52 +00:00
adam
424829f8da 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.
2018-11-21 16:58:52 +00:00
leot
1502f8f063 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
2018-10-16 16:37:21 +00:00
adam
9f9034f917 cmake: updated to 3.12.3
Changes in 3.12.3 since 3.12.2:
* CTest: Fix --test-load regression
* FindMPI: Restore MPI__COMPILE_FLAGS as a command-line string
* FindDoxygen: Ensure policy settings allow use of IN_LIST
* libarchive: Backport fix for build with LibreSSL 2.7
* libuv: do not require PATH_MAX to be defined
* VS: Fix CSharp flag selection when linking to a static C++ library
* CSharp: Fix regression in VS project type selection
* CTest: Fix regression in ctest_start()
* Help: TESTS property: clarify usage.
2018-10-04 13:09:54 +00:00
adam
b76286466b 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
2018-09-08 06:55:51 +00:00
abs
25efa32711 It appears that curses in NetBSD-8 is also incompatible (uses ncurses) 2018-08-17 19:06:35 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
adam
990e23b0d3 cmake: update to 3.12.1
Changes in 3.12.1 since 3.12.0:
- CSharp: Set CMAKE_CSharp_COMPILER_LOADED variable when language is enabled
- UseSWIG: Use CSharp language only if it is enabled
- Help: Add explicit <PackageName>_ROOT variable documentation
- Tests: Add case showing CMP0048 warning on injected project command
- project: Do not issue CMP0048 warnings on injected call
- CPack: Restore support for 0-valued version components
- FindCUDA/select_compute_arch: Restore two-component CUDA_VERSION
- GoogleTest: Ensure policy settings allow use of IN_LIST
- FindTCL: Add support for version 8.7
- FindPython*: fix erroneous behavior on multiple 'find_package' calls
- UseSWIG: restore legacy behavior for SWIG_MODULE_<name>_EXTRA_FLAGS
2018-08-10 06:59:04 +00:00
ryoon
189b03ccc2 Fix curses detection under NetBSD 8 and current at least
Fix PR pkg/53469
2018-07-24 12:14:38 +00:00
minskim
21c3a26b60 devel/cmake: Add a missing entry to PLIST 2018-07-22 05:15:53 +00:00
ryoon
79f5b7199c Update to 3.12.0
Changelog:
Changes made since CMake 3.11 include the following.

New Features

Generators

  * The Visual Studio Generators for VS 2017 learned to support a version=14.##
    option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T
    option) to specify a toolset version number.

Command-Line

  * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and
    -j [<jobs>] options to specify a parallel build level. They map to
    corresponding options of the native build tool.

Commands

  * The add_compile_definitions() command was added to set preprocessor
    definitions at directory level. This supersedes add_definitions().
  * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept
    a version range using the form <min>[...<max>]. The <min> version is
    required but policies are set based on the older of the running CMake
    version and the version specified by <max>. This allows projects to specify
    a range of versions for which they have been updated and avoid explicit
    policy settings.
  * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag
    CONFIGURE_DEPENDS which enables expression of build system dependency on
    globbed directory’s contents.
  * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose
    TOUCH functionality without having to use CMake’s command-line tool mode
    with execute_process().
  * The find_package() command now searches a prefix specified by a
    PackageName_ROOT CMake or environment variable. Package roots are
    maintained as a stack so nested calls to all find_* commands inside find
    modules also search the roots as prefixes. See policy CMP0074.
  * The install() command learned an optional NAMELINK_COMPONENT parameter,
    which allows you to change the component for a shared library’s namelink.
    If none is specified, the value of COMPONENT is used by default.
  * The list() command learned a JOIN sub-command to concatenate list’s
    elements separated by a glue string.
  * The list() command learned a SUBLIST sub-command to get a sublist of the
    list.
  * The list() command learned a TRANSFORM sub-command to apply various string
    transformation to list’s elements.
  * The project() command learned an optional HOMEPAGE_URL parameter which has
    the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME>
    _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL.
  * The string() command learned a JOIN sub-command to concatenate input
    strings separated by a glue string.
  * target_compile_options() and add_compile_options() commands gained a SHELL:
    prefix to specify a group of related options using shell-like quoting.
  * The target_link_libraries() command now supports Object Libraries. Linking
    to an object library uses its object files in direct dependents and also
    propagates usage requirements.

Variables

  * The CMAKE_FOLDER variable was added to initialize the FOLDER property on
    all targets.
  * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to
    initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties.
  * CMAKE_PROJECT_VERSION* variables have been introduced:
      + CMAKE_PROJECT_VERSION
      + CMAKE_PROJECT_VERSION_MAJOR
      + CMAKE_PROJECT_VERSION_MINOR
      + CMAKE_PROJECT_VERSION_PATCH
      + CMAKE_PROJECT_VERSION_TWEAK
  * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja
    and Makefile Generators. It is also now documented.
  * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio
    Generators for VS 2010 and above how to populate fields in .vcxproj files
    that specify SDK directories. The variables are:
      + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
      + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES
      + CMAKE_VS_SDK_INCLUDE_DIRECTORIES
      + CMAKE_VS_SDK_LIBRARY_DIRECTORIES
      + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES
      + CMAKE_VS_SDK_REFERENCE_DIRECTORIES
      + CMAKE_VS_SDK_SOURCE_DIRECTORIES
  * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset
    version associated with the current MSVC compiler version in MSVC_VERSION.

Properties

  * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the
    use of managed C++ for Visual Studio Generators for VS 2010 and above. A
    corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to
    support C++/CLI for imported targets.
  * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as
    replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered
    deprecated now.
  * An EXPORT_PROPERTIES target property was added to specify a custom list of
    target properties to include in targets exported by the install(EXPORT) and
    export() commands.
  * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions.
  * A TESTS directory property was added to hold the list of tests defined by
    the add_test() command.
  * A VS_DEBUGGER_COMMAND target property was created to set the debugging
    command line with Visual Studio Generators for VS 2010 and above.
  * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and
    VS_SHADER_ENABLE_DEBUG gained support for generator expressions.
  * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the
    Visual Studio Generators for VS 2010 and above. The property specifies the
    file name of the compiled shader object.

Modules

  * The FindALSA module now provides imported targets.
  * The FindCURL module now provides imported targets.
  * The FindJPEG module now provides imported targets.
  * The FindLibXml2 module now provides imported targets.
  * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for
    compiling and linking matlab extensions.
  * A FindODBC module was added to find an Open Database Connectivity (ODBC)
    library.
  * The FindPkgConfig module has learned to export the found libraries with
    full path for direct consumption with the target_link_libraries() command.
  * New FindPython3 and FindPython2 modules, as well as a new FindPython
    module, have been added to provide a new way to locate python environments.
  * The UseSWIG module gained a whole refresh and is now more consistent with
    standard CMake commands to generate libraries and is fully configurable
    through properties.
  * The UseSWIG module learned to manage multiple behaviors through
    UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more
    robust handling of SWIG advanced features (like %template).
  * The UseSWIG module learned to support CSHARP variant wrapper files.
  * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to
    add a compatibility define for the exact keyword of a new language feature.

Generator Expressions

  * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator
    expression has been added to enable consumption of generator expressions
    whose evaluation results itself in generator expressions.
  * A new $<IN_LIST:...> generator expression has been added.
  * A new $<TARGET_EXISTS:...> generator expression has been added.
  * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added.

CTest

  * The ctest_start() command has been reworked so that you can simply call
    ctest_start(APPEND) and it will read all the needed information from the
    TAG file. The argument parsing has also been relaxed so that the order of
    the arguments is less significant.
  * A PROCESSOR_AFFINITY test property was added to request that CTest run a
    test with CPU affinity for a set of processors disjoint from other
    concurrently running tests with the property set.

CPack

  * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR,
    CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize
    corresponding CPack variables.
  * cpack(1) gained basic support for NuGet. See the CPackNuGet module.

Other

  * The Compile Features functionality is now aware of C++ 20. No specific
    features are yet enumerated besides the cxx_std_20 meta-feature.
  * The Compile Features functionality is now aware of the availability of C
    features in MSVC since VS 2010.
  * The Compile Features functionality is now aware of C language standards
    supported by Texas Instruments C compilers.

Deprecated and Removed Features

  * The Visual Studio 8 2005 generator has been removed.
  * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library
    targets. See policy CMP0073.

Other Changes

  * Include flags for directories marked as SYSTEM are now moved after
    non-system directories. The -isystem flag does this automatically, so
    moving them explicitly to the end makes the behavior consistent on
    compilers that do not have any -isystem flag.
  * Fortran dependency scanning now supports dependencies implied by Fortran
    Submodules.
  * The existence and functionality of the file ${CMAKE_BINARY_DIR}/
    cmake_install.cmake has now been documented in the install() documentation
    so that external packaging software can take advantage of CPack-style
    component installs.
  * The CheckIncludeFile module check_include_file macro learned to honor the
    CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075.
  * The CheckIncludeFileCXX module check_include_file_cxx macro learned to
    honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075.
  * The CheckIncludeFiles module check_include_files macro learned to honor the
    CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075.
  * The cmake(1) -E copy_directory tool now fails when the source directory
    does not exist. Previously it succeeded by creating an empty destination
    directory.
  * The UseSWIG module swig_add_library() command (and legacy swig_add_module
    command) now set the prefix of Java modules to "" for MINGW, MSYS, and
    CYGWIN environments.
2018-07-21 06:52:55 +00:00
adam
4260058753 cmake: updated to 3.11.4
3.11.4:
Windows: Restore support for running CMake through a symlink
ExternalProject: Fix cache generation when args end with "-NOTFOUND"
ExternalProject: Improve URL_HASH argument description
2018-06-24 09:13:22 +00:00
tron
c475d9398a cmake: Fix build under macOS with Xcode 9.4
Xcode 9.4 triggers linker warnings that the C++ feature detection
code considers fatal. Simply ignore these warning by adding an entry
to the existing filter table.
2018-06-11 17:33:51 +00:00
adam
93b2c8d24c cmake: updated to 3.11.3
Changes in 3.11.3:
* cmSystemTools: Revert GetRealPath implementation on Windows
* CPack: Fix cross-compilation of WiX generator
* TestDriver: Replace strncpy with strcpy
2018-06-01 07:16:03 +00:00
adam
f1828f9586 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
2018-05-18 07:15:30 +00:00
jperkin
bbc35837ef cmake: Fix build on illumos with C++17 header issues. 2018-05-11 13:39:57 +00:00
adam
35aa3efc12 revbump for boost-libs update 2018-04-29 21:31:17 +00:00
minskim
72e385973c devel/cmake: -lcrypto should appear later in the command
This fixes PR pkg/53117.
2018-04-26 17:30:36 +00:00
adam
169f58c438 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
2018-04-17 16:28:35 +00:00
maya
f8e2f74446 cmake: require GCC 4.8 (to go along with c++11)
from xalopp in https://github.com/NetBSD/pkgsrc/pull/21
2018-04-12 08:40:27 +00:00
wiz
4e7f313df7 cmake: bump PKGREVISION for -O fix 2018-04-08 21:47:15 +00:00
chuck
dfb93e88b9 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.
2018-04-08 19:09:45 +00:00
adam
a332869c3e 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.
2018-04-02 19:36:44 +00:00
adam
2c13ca0015 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
2018-03-17 08:03:09 +00:00
adam
33034c4463 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
2018-01-19 07:49:06 +00:00
minskim
00dd09f872 devel/cmake: Add the upstream patch to support boost-libs-1.66
Bump PKGREVISION.
2018-01-15 18:12:41 +00:00
adam
983847f667 Revbump after boost update 2018-01-01 21:18:06 +00:00
minskim
d10af15b88 devel/cmake: Building cmake requires C++11 compiler 2017-12-20 16:39:07 +00:00
adam
2c2374c4a2 cmake: updated to 3.10.1
3.10.1:
bootstrap: Check support for unordered_map from compiler mode
CPack: Fix macOS PKG component dependency information
CUDA: Treat /usr/include as an implicit include directory
server: Revert "Report backtraces in codemodel response"
CMake 3.10.1
FindMPI: Correct legacy variable handling
FindMPI: Fix multiple configure runs
FindMPI: Fix various legacy problems
IRSL: Fix MSVC variable deferencing
IAR: FindBinUtils should work for CXX as well as C
GoogleTest: Fix multiple discovery on same target
GoogleTest: Improve gtest_discover_tests messages
GoogleTest: Add timeout to discovery
GoogleTest: Add test for missing test executable
CUDA: Shared libraries on Darwin properly setup @rpath install_names
Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10
Autogen: Tests: Add test for MacOS frameworks
Clang: Do not mistake clang-cl 6.0 for GNU-like clang
2017-12-14 22:13:34 +00:00
adam
39f3019f8f cmake: updated to 3.10.0
CMake 3.10 are:

The flang Fortran compiler is now supported, with compiler id
“Flang”.

Support for the MSVC ARM64 architecture was added. Visual Studio
2017 Update 4 and above offer an ARM64 toolchain.

The “include_guard()” command was introduced to allow guarding
CMake scripts from being included more than once. The command
supports “DIRECTORY” and “GLOBAL” options to adjust the
corresponding include guard scope. If no options given, include
guard is similar to basic variable-based check.

“FindMPI” received a major overhaul. It now features language specific
components, better Fortran support, and support for statically linked
MPI implementations.

A “FindOpenACC” module was added to detect compiler support for
OpenACC. Currently only supports PGI, GNU and Cray compilers.
The “FindOpenGL” module underwent numerous improvements. It has gained
support for GLVND and EGL on Linux. It now has import targets that
separate the OpenGL library and OpenGL contexts.

The “GoogleTest” module gained a new command
“gtest_discover_tests()” implementing dynamic (build-time) test
discovery.

When using “AUTOMOC” or “AUTOUIC”, source files that are
“GENERATED” will be processed as well. They were ignored by
“AUTOMOC” and “AUTOUIC” in earlier releases. See policy “CMP0071”.

A “CTEST_LABELS_FOR_SUBPROJECTS” CTest module variable and CTest
script variable were added to specify a list of labels that should
be treated as subprojects by CDash. To use this value in both the
CTest module and the ctest command line Dashboard Client mode (e.g.
“ctest -S”) set it in the “CTestConfig.cmake” config file.
CPack gained a “FREEBSD” generator for FreeBSD “pkg(8)”,
configured by the “CPackFreeBSD” module.

The CPack “DEB” generator, configured by the “CPackDeb” module,
was enabled on Windows. While not fully featured (due to the lack
of external UNIX tools) this will allow building basic cross-
platform Debian packages.

The “cmake(1)” “-E” mode gained support for “sha1sum”,
“sha224sum”, “sha256sum”, “sha384sum”, and “sha512sum”.

The “file(GENERATE)” command now interprets relative paths given
to its “OUTPUT” and “INPUT” arguments with respect to the caller’s
current binary and source directories, respectively. See policy
“CMP0070”.
2017-11-30 15:41:17 +00:00
adam
d6e2986ca9 cmake: updated to 3.9.6
CMake 3.9.6:
* Restore exclusion of "gcc_eh" from implicit link libraries
2017-11-13 13:38:03 +00:00
adam
05ea17354d cmake: updated to 3.9.5
Changes in 3.9.5:
* Autogen: Don't add AUTOMOC_MOC_OPTIONS to moc-predefs command
2017-11-06 10:02:03 +00:00
adam
4a73a6ec19 cmake: update to 3.9.4
Changes in 3.9.4:
FindBoost: Finish reverting "Simplify search in lists" for 3.9
2017-10-06 04:35:23 +00:00
adam
8cb9a9ee6a cmake: update to 3.9.3
Changes in 3.9.3 since 3.9.2:
* VS: Do not consider MAP_IMPORTED_CONFIG_ on non-imported targets
  bootstrap: Fix running multiple times in-source
* vim: Remove default setting of expandtab
* FindBoost: Add support for Boost 1.65.0 and 1.65.1 to CMake 3.9
* CTest: fix crash if source file for coverage cannot be found
* Autogen: Backport autogen target dependency as file dependency fix
* Autogen: Tests: Backport tests for _autogen target dependencies
2017-09-26 04:50:50 +00:00
prlw1
e929b31a9a Patch cmake to find boost version 1.65 (i.e., the one in pkgsrc) 2017-09-19 15:58:21 +00:00
adam
7e35876600 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
2017-09-08 07:56:08 +00:00
adam
931d707fe2 Revbump for boost update 2017-08-24 20:03:08 +00:00
adam
487cb7c747 Changes in 3.9.1 since 3.9.0:
Utilities/Sphinx: Restore compatibility with Sphinx pre-1.2
Help: Silence warning about document not included in toctree
UseSWIG: Fix when Java is enabled as a language
VS: Fix VCTargetsPath detection
Android: Fix support for CMAKE_SYSROOT without CMAKE_SYSROOT_COMPILE
expat: Update script to get Expat 2.2.3
expat: Update CMake build for 2.2.3
Tests: Simplify RunCMake.find_package PackageRoot case regexes
find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9
find_package: Add missing PACKAGE_ROOT_PATH search path implementation.
find_package: Fix PACKAGE_ROOT test to check find_pacakge(CONFIG) mode.
find_package: Split PACKAGE_ROOT tests to work with smaller regex
FindJava: Allow early access version trailing string to be mixed case
FindBoost: pop policy stack before returning
expat 2017-08-02 (97c6bd01)
server: Fix crash on missing cache entries
FindJava: fix hint for windows jre 1.6
Help: Fix module and function names in CMP0069 examples
Autogen: Always create AUTOMOC/AUTOUIC include directory
2017-08-12 21:06:30 +00:00
adam
2d6987fab9 3.9.0:
* The “Visual Studio 14 2015” generator has been taught about a
change to the “v140” toolset made by a VS 2015 update. VS changed
the set of values it understands for the “GenerateDebugInformation”
linker setting that produces the “-DEBUG” linker flag variants.

* “CUDA” is now supported by the Visual Studio Generators for VS
2010 and above. This complements the existing support by the
Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher
is recommended due to known bugs in the VS integration by earlier
versions.

* CMake is now aware of the “C++ standards” and “C standards” and
their associated meta-features for the following “compiler ids”:
“Cray”, “PGI”, and “XL”.

* The “add_library()” command “IMPORTED” option learned to support
Object Libraries.

* All “find_” commands now have a “PACKAGE_ROOT” search path group
that is first in the search heuristics. If a “find_” command is
called from inside a find module, then the CMake variable and
environment variable named “_ROOT” are used as prefixes
and are the first set of paths to be searched.

* The “install(TARGETS)” command learned a new “OBJECTS” option to
specify where to install Object Libraries.

* The “install(EXPORT)” command learned how to export Object
Libraries.

* A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding
“CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control
whether to use the “INSTALL_NAME_DIR” target property value for
binaries in the build tree. This is for macOS “install_name” as
“BUILD_WITH_INSTALL_RPATH” is for “RPATH”.
* A “CUDA_PTX_COMPILATION” target property was added to Object
Libraries to support compiling to “.ptx” files instead of host
object files.

* A new “GoogleTest” module was added to provide the
“gtest_add_tests()” function independently of the “FindGTest”
module. The function was also updated to support keyword arguments,
with functionality expanded to allow a test name prefix and suffix
to be specified, the dependency on the source files to be optional
and the list of discovered test cases to be returned to the caller.

* The “Ninja” generator has loosened the dependencies of object
compilation. Object compilation now depends only on custom targets
and custom commands associated with libraries on which the object’s
target depends and no longer depends on the libraries themselves.
Source files in dependent targets may now compile without waiting
for their targets’ dependencies to link.
* Interprocedural optimization (IPO) is now supported for GNU and
Clang compilers using link time optimization (LTO) flags. See the
“INTERPROCEDURAL_OPTIMIZATION” target property and
“CheckIPOSupported” module.

* The “TARGET_OBJECTS” “generator expression” is now supported by
the “add_custom_command()” and “file(GENERATE)” commands.
2017-07-19 17:44:34 +00:00
adam
c1f8cdfb91 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
2017-06-01 20:47:25 +00:00
jperkin
cce8ad93ef Recursive revision bump for archivers/libarchive. 2017-05-29 11:09:45 +00:00
adam
4576be9cee Changes in 3.8.1 since 3.8.0:
* FindOpenSSL: Add more library name alternatives
* FindBoost: Restore tolerance of backslashes in paths
* Tests: Fix FindModulesExecuteAll when KDE4 is installed
* Tests: Simplify CMakeOnly.AllFindModules policy settings
* FindBoost: Fix library directory for VS 2017
* CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs
* source_group: Fix TREE with root that is not current source dir
* FindMatlab: Add support for Matlab 2017a
* VS: Fix project reference inspection in VS IDE
* FindBoost: Allow testing for multiple compiler suffixes
* FindBoost: Support prebuilt Windows binaries from SourceForge
* VS2017: Verify Windows 8.1 SDK before using it
2017-05-03 09:33:06 +00:00