| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
a8226e9 cmake: Drop support for "-i" wizard mode
|
| |
| |
| |
| |
| | |
Tell users to pass cache values with the -D option on the command line
or use cmake-gui or ccmake.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
b04f3b9 Create make rules for INTERFACE_LIBRARY targets.
dba4962 Makefile: Always create clean target command
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The result is that the depends of the target are created.
So,
add_library(somelib foo.cpp)
add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp)
add_library(extra EXCLUDE_FROM_ALL foo.cpp)
target_link_libraries(anotherlib extra)
add_library(iface INTERFACE)
target_link_libraries(iface INTERFACE anotherlib)
Executing 'make iface' will result in the anotherlib and extra targets
being made.
Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY
will not result in the executable being built with 'make iface' because
of the logic in cmComputeTargetDepends::AddTargetDepend.
So far, this is implemented only for the Makefile generator. Other
generators will follow if this feature is possible for them.
Make INTERFACE_LIBRARY targets part of the all target by default.
Test this by building the all target and making the expected library
EXCLUDE_FROM_ALL.
|
| | |
| | |
| | |
| | |
| | | |
Borland Make complains if the phony clean target has no rule to build it.
If there are no files to clean, generate and run an empty clean script.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
187385a cmCoreTryCompile: Fix typo in comments.
af2a3ab cmTarget: Remove unused variable.
620b0e9 target_link_libraries(): Fix code snippet in documentation.
2d4ce80 cmPolicies: Fix typo
d6dd264 include(): Use lower case and () to refer to the include() command.
|
| | | |
| | | |
| | | |
| | | | |
Add 'S' to match actual variable names.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
The porting script seems to have made a mistake here.
|
| | | |
| | | |
| | | |
| | | | |
Use American spelling: behaviour -> behavior.
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
765d783 cmSystemTools: Drop old RunCommand method
52b80b2 exec_program: Re-implement using KWSys Process
c076476 cmake: Drop "cmake -E comspec" Win9x helper
f551135 cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommand
|
| | | |
| | | |
| | | |
| | | |
| | | | |
All calls to this method have been replaced by newer infrastructure.
Remove it and the supporting cmWin32ProcessExecution class.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Drop use of cmSystemTools::RunCommand. It used popen on UNIX
(equivalent to /bin/sh -c "$command") and direct CreateProcess calls on
Windows. Implement equivalent behavior using the KWSys Process library.
Copy windows shortpath conversion logic from cmSystemTools::RunCommand.
|
| | | |
| | | |
| | | |
| | | | |
Since we dropped Win9x support there is no need for this helper.
|
| |/ /
| | |
| | |
| | |
| | | |
Avoid use of the old cmSystemTools::RunCommand by using RunSingleCommand
instead.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
6d50d01 Help: Add introduction section to cmake-policies manual
|
| |/ /
| | |
| | |
| | | |
Explain the concept behind policies.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
216afc8 MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In generators such as Ninja that can run multiple "cl" processes that
refer to the same compiler .pdb file (/Fd) at the same time, MSVC from
Visual Studio 2013 complains:
fatal error C1041: cannot open program database '.../vc120.pdb';
if multiple CL.EXE write to the same .PDB file, please use /FS
According to "cl /?":
/FS force to use MSPDBSRV.EXE
Add the flag to compilation lines for this compiler version just after the
/Fd option.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
daa0f6f Add Lua-style long brackets and long comments to CMake language
a8c6523 cmListFileLexer: Convert CRLF -> LF newlines explicitly
dbd9333 cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137)
5645783 cmListFileLexer: Allow command names with one letter (#14181)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Teach the CMake language parser to recognize Lua-style "long bracket"
arguments. These start with two '[' separated by zero or more '='
characters e.g. "[[" or "[=[" or "[==[". They end with two ']'
separated by the same number of '=' as the opening bracket. There is no
nesting of brackets of the same level (number of '='). No escapes,
variable expansion, or other processing is performed on the content
between such brackets so they always represent exactly one argument.
Also teach CMake to parse and ignore "long comment" syntax. A long
comment starts with "#" immediately followed by an opening long bracket.
It ends at the matching close long bracket.
Teach the RunCMake.Syntax test to cover long bracket and long comment
cases.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Read input files in binary mode instead of text mode and convert CRLF
newlines to LF newlines explicitly in our own buffer. This is necessary
to read CMake source files with CRLF newlines on platforms whose C
runtime libraries do not transform newlines in text mode. For example,
a Cygwin or Linux binary may not transform CRLF -> LF in files read from
a Windows filesystem. Perform the conversion ourselves to ensure that
multi-line string literals in CMake source files have LF newlines
everywhere.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE
Byte-Order-Mark from the start of a file if any is present. Report an
error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Teach the lexer to treat a single letter as an identifier instead of an
unquoted argument. Outside of a command invocation, the parser treats
an identifier as a command name and an unquoted argument as an error.
Inside of a command invocation, the parser treats an identifier as an
unquoted argument. Therefore this change to the lexer will make what
was previously an error case work with no other behavioral change.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
abfebef Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Set the minimum required version of CMake high enough to avoid the
warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr
and breaks the expected output matching.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1b7117a VS 6: Do not try Intel Fortran .vfproj file with msdev
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Teach CMakeDetermineCompilerId to skip trying to build a .vfproj
file for Intel Fortran under Visual Studio 6. The msdev command-line
build produces a popup error dialog that hangs the configuration.
|
| | | | | | | |
|
| |_|_|_|/ /
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
70ae6df Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors.
|
|/ / / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
89448a5 cmRST: Substitute CMake version for |release| as Sphinx does
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
Sphinx provides a builtin substitution for the |release| version.
Teach cmRST to replace this with the CMake version number too.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1873205 Update CMP0024/CMP0025/CMP0026 release version
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
These policies were introduced after 2.8.12 in anticipation of 2.8.13.
However, we've now decided the next release will be 3.0.0, so update the
version of introduction accordingly.
|
|\ \ \ \ \ \ \
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
5cdaef7 Drop builtin policy "full" documentation
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The full policy documentation was moved to Help/policy/*.rst by commit
f051814e (Convert builtin help to reStructuredText source files,
2013-10-15). We no longer need the builtin string literals.
In commit 87cc62ca (Drop "full" documentation output types, 2013-09-13)
we dropped code using the LongDescription field of policy definitions.
We need to follow it up with a change similar to commit 399e9c46 (Drop
builtin property documentation, 2013-09-16) to remove the policy
documentation. Do that now. Keep the short description as it is used
in policy error and warning messages.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
dede273 target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This has not been allowed since they were introduced in
commit 91438222 (target_link_libraries: Add LINK_(PUBLIC|PRIVATE)
options, 2011-10-07), but allowing this form makes it more compatible
with the newer PUBLIC and PRIVATE keywords.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
d4c3de2 cmake: Simplify -E command line processing
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Check for "cmake -E ..." up front (along with "cmake --build ...") and
skip normal command line processing. Drop the special handling for -E
from the normal processing to simplify things. Strictly speaking, it
was previously possible to invoke command mode with -E anywhere in the
command line e.g. "cmake echo -E message" or "cmake echo message -E",
but no one should be using it as it was not documented and looks
strange.
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
d14898b Intel: Fix detection of MSVC version simulated by pre-11.0 Fortran
a85e17e Intel: When simulating MSVC, re-use Windows-MSVC (#14476)
af40e8c VS: Detect Intel Fortran compiler id and version
b8522a8 VS: Expose Intel Fortran .vfproj format version to CMake language
2d36c9a CMakeDetermineCompilerId: Fix Intel Fortran compiler id detection
a6fd17c VS: Fix CMAKE_<LANG>_COMPILER detection with Intel toolset (#14471)
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The Intel Fortran 10 64-bit compiler incorrectly defines _MSC_VER to its
own version (1020) instead of the underlying MSVC tools version. Since
we expect the compiler to be used only with VS >= 7 tools, assume MSVC
version 13.0 if _MSC_VER is not greater than 1300.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Teach CMake(C|CXX|Fortran)CompilerId* to report the MSVC version
simulated by the Intel compiler, if any. Refactor the Windows-Intel
platform information helper module to load Windows-MSVC instead of
duplicating the information. Teach Windows-MSVC to understand when
it is loaded as the simulated Fortran compiler (its preprocessor is
simulated).
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Teach CMakeDetermineCompilerId to use a .vfproj project file to
build the Fortran compiler id source file under the Visual Studio
generators.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Lookup the Intel VS plugin version on demand in the VS global generator,
compute the corresponding .vfproj format version number, and memoize it.
Add it as a CMAKE_VS_INTEL_Fortran_PROJECT_VERSION platform definition.
|