| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
Teach Sphinx and our own install rules to skip a `Help/dev` directory.
This will give us a place to put developer-only documentation that
should not be included in the user-facing documentation. Add a
placeholder README.
|
|
|
|
| |
We've ported our libuv to this platform so we can build it now.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Two issues need to be resolved to add Solaris 10
libuv support:
1. libuv needs to provide alternative functionality
for systems that do not support mkdtemp()
2. cmake should set SUNOS_NO_IFADDRS for Solaris 10
builds (but not Solaris 11)
|
|
|
|
| |
Create a CMAKE_USE_SYSTEM_LIBRHASH option.
|
|
|
|
|
|
|
|
| |
Update `ustd.h` to include KWSys Large File Support configuration so
that consistent stream libraries are used (on AIX with XL).
Add a `cm_rhash.h` header to include the CMake-provided copy of the
`rhash.h` header from CMake sources.
|
|
|
|
|
|
| |
The switch to use UTF-8 encoding has been defaulted to on for quite some
time since commit v3.2.0-rc1~116^2 (Encoding: Switch to use UTF-8
internally by default on Windows, 2014-12-26).
|
|
|
|
|
|
| |
Use KWSys ConsoleBuf to replace the `streambuf` on `std::cout` and
`std::cerr` so that process output can be encoded correctly for display
in a Windows console.
|
|
|
|
| |
Expat is built anyway.
|
| |
|
| |
|
|
|
|
|
|
| |
Older versions of libuv did not have the uv_loop_close API. It first
showed up in unstable releases ~ v0.11.20 but was not available in
a stable release until v1.0
|
| |
|
|
|
|
|
|
|
| |
Add a `CMake_TEST_SERVER_MODE` option that can be set in testing builds
to enable/disable server mode tests explicitly. This will allow testing
in combination with `CMake_TEST_EXTERNAL_CMAKE` or for server mode to be
built on systems that have a python version that cannot run the test.
|
|
|
|
|
|
|
|
| |
Provide a way for scripts building CMake to enable server mode
explicitly and assume the risk of a build failure if it is not
supported. This will allow such scripts to ensure that server
mode is available if the build succeeds. It also allows scripts
to explicitly disable server mode even if it would be supported.
|
|
|
|
| |
The latter is a better name for making it a public-facing option.
|
|
|
|
|
| |
CMake is frequently built from source via bootstrap.
There is no reason we cannot support server mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool. Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience. Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.
Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices. It also references version control
history for more precise information. Therefore we no longer need to spell
out the list of Contributors in each source file notice.
Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing". The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.
Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically. Manually fix up shebang lines and trailing
newlines in a few files. Manually update the notices in a few files that the
script does not handle.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a bare-bones cmake-server implementation and makes it possible
to start that with "cmake -E server".
Communication happens via stdin/stdout for now.
Protocol is based on Json objects surrounded by magic strings
("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies
Json parsing significantly.
This patch also defines an interface used to implement different
versions of the protocol spoken by the server, but does not include
any protocol implementaiton.
|
|
|
|
|
| |
This will enable use of features such as ALIAS targets within CMake's
own build.
|
|
|
|
| |
Some work may be needed to port to HP-UX.
|
|
|
|
| |
Some work may be needed to port to SPARC with Solaris and Linux.
|
|
|
|
|
|
|
| |
Currently libuv does not support Cygwin (see libuv issue 832)
in part due to lack of pthread APIs:
https://cygwin.com/cygwin-api/std-notimpl.html
|
|
|
|
|
| |
It needs APIs that have been available only since 10.5.
Also check that the CoreServices header can be included.
|
|
|
|
| |
Create a CMAKE_USE_SYSTEM_LIBUV option.
|
|
|
|
|
|
|
|
|
|
|
| |
Take logic from upstream `Makefile.am` and `configure.ac` to build libuv
sources.
Update `uv.h` to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).
Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h`
header from CMake sources.
|
|
|
|
|
|
|
|
| |
By default is OFF and marked as advanced.
It's also add custom cmake-developer-reference (ALL) target
Generated output will be installed to ${CMAKE_DOC_DIR}/developer-reference.
|
|
|
|
|
|
| |
Turn the feature check for cxx11_unordered_map into a function such that
we can use it for other features as well. Drop the 11 suffix, as we may
want to check features from other standards.
|
|
|
|
|
|
|
|
|
| |
Download http://www.gnu.org/licenses/lgpl.txt and place it as
Licenses/LGPLv3.txt in our source tree. When building cmake-gui, use
option CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL to enable notification in the
"About" dialog of how the distribution of Qt is licensed. Install the
license file as ${CMAKE_ROOT}/Licenses/LGPLv3.txt so that the dialog can
display a path to it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since https is almost ubiquitous nowadays we should support it by
default whenever possible. When building our own curl, we already
automatically enable SSL/TLS support on Windows and OS X by using the
OS-native APIs. On UNIX platforms we need to use OpenSSL but have not
done so by default before, leading to possible user confusion when https
transfers fail later. Fix this by searching for OpenSSL quietly and
enabling use of it automatically if it is found.
Do this only on Linux and FreeBSD for now because on other UNIX
platforms (e.g. AIX, HP-UX, SunOS) it seems too easy to find an
OpenSSL that is not compatible with the target compiler.
|
|
|
|
|
| |
Do not activate it with the general use-system-libs options for now
because KWIML is not commonly distributed or available.
|
|
|
|
| |
KWIML no longer uses a configured prefix.
|
|
|
|
|
|
| |
Hard-code libarchive build options to the way CMake needs them. Set
them as internal cache entries so users do not see them when building
CMake.
|
|
|
|
|
|
| |
If this policy is WARN, then the ReplaceVariableInString is executed with both
the new algorithm and the OLD slow algorithm. The NEW algorithm should be used
wherever it works.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for C11's _Thread_local was introduced in GCC in the 4.9 series,
even though we make the C11 compiler flags available in CMake with GCC
>= 4.6.
FreeBSD's runetype.h uses _Thread_local, which causes CMake's own build
to fail when using GCC < 4.9 and -std=gnu11:
/usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
Add a test for _Thread_local support and only build CMake itself with
C11 support if it works.
Bug: http://www.cmake.org/Bug/view.php?id=15741
|
|
|
|
|
| |
Drop the CMAKE_BUILD_ON_VISUAL_STUDIO variable and hard-code the
condition at its only use.
|
|
|
|
|
|
|
|
| |
Disable the CMake_INSTALL_DEPENDENCIES option by default and turn it on
explicitly in our packaging scripts. This simplifies packaging in
distributions that provide the dependencies for us without having to
install them. We only need 3rd-party runtime dependencies to be
installed for packaging with redistributable binaries.
|
|
|
|
|
| |
By default this option is ON. Turn OFF to disable installing runtime
3rd-party dependencies.
|
|
|
|
|
| |
By default is OFF.
Now it's used with CPack IFW himself installer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added components:
- cmake
- ctest
- cpack
- cmake-gui
- ccmake
- data
- sphinx-html
- sphinx-singlehtml
- sphinx-qthelp
Other now Unspecified.
|
|
|
|
|
| |
When CMake_TEST_EXTERNAL_CMAKE is set then we are not actually
building CMake so we do not need this check.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The GNU 4.8 standard library's cstdio header is not aware that C++14
honors C11's removal of "gets" from stdio.h and results in an error:
/.../include/c++/4.8/cstdio:120:11: error: no member named 'gets' in the global namespace
Detect this problematic case and default to using C++11 instead of
C++14 for building CMake itself.
|
|
|
|
| |
Also avoid explicitly dereferencing a variable in an if() condition.
|
|
|
|
|
|
| |
If CMake_NO_<LANG>_STANDARD is set, do not set CMAKE_<LANG>_STANDARD.
This will allow users to build with their own -std= flags without
CMake adding any itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file. In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.
Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.
Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
|
|
|
|
| |
Older versions do not provide archive_entry_copy_sourcepath_w.
|
| |
|