./devel/cmake, Cross platform make

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.9.1, Package name: cmake-3.9.1, Maintainer: pkgsrc-users

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.

Required to run:
[www/curl] [archivers/libarchive] [devel/ncurses] [devel/libuv] [devel/libexecinfo]

Required to build:
[misc/rhash] [pkgtools/cwrappers]

Master sites:

SHA1: 0f3bb90efb3387be1dae7c7c3155751bd46ff2a8
RMD160: 5938821da9cc282af60ad9c7fde2bd55a7626866
Filesize: 7521.97 KB

Version history: (Expand)

CVS history: (Expand)

   2017-08-12 23:06:30 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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-07-19 19:44:34 by Adam Ciarcinski | Files touched by this commit (11) | Package updated
Log message:
* 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

* 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

* 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
* 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
“CheckIPOSupported” module.

* The “TARGET_OBJECTS” “generator expression” is now supported by
the “add_custom_command()” and “file(GENERATE)” commands.
   2017-06-01 22:47:25 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
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-05-29 13:09:46 by Jonathan Perkin | Files touched by this commit (16)
Log message:
Recursive revision bump for archivers/libarchive.
   2017-05-03 11:33:06 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
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
* 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-04-26 20:19:31 by Maya Rashish | Files touched by this commit (3) | Package updated
Log message:
cmake: revise netbsd-6 build fix patch as suggested by Brad King
TagRunPath = 0 may cause client code such as cmSystemTools::RemoveRPath
to misbehave.

Define DT_RUNPATH to the expected value (29) instead.

bump pkgrevision
   2017-04-25 00:48:48 by Maya Rashish | Files touched by this commit (3)
Log message:
cmake: fix build under netbsd-6

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

from yancm via pkgsrc-users
   2017-04-11 22:18:54 by Adam Ciarcinski | Files touched by this commit (5)
Log message:
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 \ 

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 \ 
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.