| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using the boost MPL library, one can set a define to increase
the limit of how many variadic elements should be supported. The
default for BOOST_MPL_LIMIT_VECTOR_SIZE is 20:
http://www.boost.org/doc/libs/1_36_0/libs/mpl/doc/refmanual/limit-vector-size.html
If the foo library requires that to be set to 30, and the independent
bar library requires it to be set to 40, consumers of both need to set
it to 40.
add_library(foo INTERFACE)
set_property(TARGET foo PROPERTY INTERFACE_boost_mpl_vector_size 30)
set_property(TARGET foo PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size)
target_compile_definitions(foo INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>)
add_library(bar INTERFACE)
set_property(TARGET bar PROPERTY INTERFACE_boost_mpl_vector_size 40)
# Technically the next two lines are redundant, but as foo and bar are
# independent, they both set these interfaces.
set_property(TARGET bar PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size)
target_compile_definitions(bar INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>)
add_executable(user)
target_link_libraries(user foo bar)
Because the TARGET_PROPERTY reads the boost_mpl_vector_size property
from the HEAD of the dependency graph (the user target), and because
that property appears in the COMPATIBLE_INTERFACE_NUMBER_MAX of
the dependencies of the user target, the maximum value for it is
chosen for the compile definition, ie, 40.
There are also use-cases for choosing the minimum value of a number.
In Qt, deprecated API can be disabled by version. Setting the
definition QT_DISABLE_DEPRECATED_BEFORE=0 disables no deprecated
API. Setting it to 0x501000 disables API which was deprecated before
Qt 5.1 etc.
If two dependencies require the use of API which was deprecated in
different Qt versions, then COMPATIBLE_INTERFACE_NUMBER_MIN can be
used to ensure that both can compile.
|
|
|
|
|
| |
The type of consistency to be expected will be extended to cover
numeric minimum and maximum.
|
|
|
|
|
|
| |
Currently, 'consistent' means the same or not set. Soon though,
it will be possible to choose a minimum number from an interface
for example.
|
|
|
|
| |
Upcoming features will make use of that.
|
|
|
|
|
|
| |
Otherwise, in the string case, we would get a null pointer instead
of the implied empty string. That will become relevant when the
comparison result is used.
|
|\
| |
| |
| |
| | |
c832299 FindJava: fix message output (#14502)
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
0b3b336 CMP0022: Output link interface mismatch for static library warning
|
| | |
| | |
| | |
| | |
| | |
| | | |
Other warnings for the same policy already have similar output since
commit 81d2793e (Add differing target property content to policy CMP0022
warning, 2013-09-11).
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
705ae00 Quote ${CMAKE_<LANG>_COMPILER} while enabling a language
18a2537 CMakeDetermineCompilerId: Do not test vendor without a compiler
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Even though this variable gets set to CMAKE_<LANG>_COMPILER-NOTFOUND when
the compiler is not found, CMake<LANG>Compiler.cmake gets removed by
cmGlobalGenerator::EnableLanguage so in try compiles the value is empty.
Quote references to the variable in
Modules/CMake(C|CXX|Fortran)Information.cmake
Modules/CMakeDetermineCompilerId.cmake
to avoid dropping arguments from commands that expect them.
|
| | |/
| |/|
| | |
| | |
| | | |
If no CMAKE_${lang}_COMPILER is available then do not try to run
it to determine the compiler vendor.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
e0ce6f0 cmRST: Cross-reference cmake-developer.7 manual and cmRST Doxygen
c1c239b Help: Add documentation format to cmake-developer.7 manual
a06a90f Help: Organize cmake-developer.7 manual Modules section
28f08ba Help: Fix module documentation markup in cmake-developer.7 manual
baaab06 Help: Move Modules/readme.txt content into cmake-developer.7 manual
80a311e Help: Add cmake-developer.7 manual
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The cmRST implementation and the list of capabilities documented in the
cmake-developer.7 manual must be kept in sync. Add a note to each file
to reference the other.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Document how CMake uses reStructuredText to provide the help manuals.
Cover supported inline markup and directives, the CMake Domain in
Sphinx, and cross-reference syntax.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add "Module Documentation" and "Find Modules" subsections. Add to
Modules/readme.txt a textual reference to the cmake-developer.7 manual
and, while at it, fix the wiki URL domain.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Convert the content moved from Modules/readme.txt to valid
reStructuredText markup. Mainly, convert the lists of variables to
definition lists, wrap long lines in paragraph text, and add literal
block markup and indentation.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move all content from Modules/readme.txt except for the link to the
module maintainers wiki page into "Help/manual/cmake-developer.7.rst".
This produces some invalid reStructuredText markup to be fixed in a
future commit.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add the manual with just an introduction section. Leave section headers
for Help and Modules to be filled in later.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
6c91944 Add policy CMP0036 to disallow build_name
3969bb2 Add policy CMP0035 to disallow variable_requires
178b9af Add policy CMP0034 to disallow utility_source
248d1dc Add policy CMP0033 to disallow export_library_dependencies
6865c8f Add policy CMP0032 to disallow output_required_files
aa76518 Add policy CMP0031 to disallow load_command
97268cf Add policy CMP0030 to disallow use_mangled_mesa
9f64fbf Add policy CMP0029 to disallow subdir_depends
882c0f0 Add infrastructure for policies that disallow commands
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add cmCommand::Disallowed helper to check the setting of a policy that
disallows the command. Add a RunCMake.DisallowedCommands test
placeholder. Add a Help/policy/DISALLOWED_COMMAND.txt file for
inclusion by each policy document to avoid duplication of the common
text.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
d169b1f Genex: Use cmArraySize for targetPolicyWhitelist
86d5d80 Genex: Remove use of TransitiveWhitelistCompare
73d7705 Add some templates for cleaner array iteration.
|
| | | | |
| | | | |
| | | | |
| | | | | |
For better readability.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Replace with generic solution based on cmArray* for better
readability.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
e6cec64 CheckTypeSize: Add unit tests
07a2342 CheckTypeSize: Add support for C++
|
| | | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously if headers required to check the size of a type can be
compiled with C++ compiler only, the check would fail because the C
compiler fails. As a consequence, HAVE_${VARIABLE} would be set to
false, and ${VARIABLE} will be empty.
Teach CHECK_TYPE_SIZE to accept a new optional argument LANGUAGE
that allows one to explicitly set the compiler to use. The new
signature is therefore:
CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
[LANGUAGE <language>])
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
2d0287d cmRST: Process literal blocks after paragraphs ending in '::'
7b9ae40 cmRST: Do not process inline markup in code-block literals
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Teach cmRST to recognize non-markup lines ending in '::' followed by a
blank line as starting a literal block. Record the whole block as if it
were a literal block directive and print it just like a code block.
Extend the CMakeLib.testRST test to cover such cases.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move the ProcessDirectiveParsedLiteral and ProcessDirectiveCodeBlock
method internals into an OutputMarkupLines helper. Pass through it a
new "inlineMarkup" parameter and teach OutputLine to understand it.
When false, do not process inline markup. Extend the CMakeLib.testRST
test to cover the two cases.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
a80fe4b use size_t for GeneratorExpressionContent::ContentLength to fix some warnings
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
CMake/Source/cmGeneratorExpressionParser.cxx: In member function ‘void cmGeneratorExpressionParser::ParseGeneratorExpression(std::vector<cmGeneratorExpressionEvaluator*>&)’:
CMake/Source/cmGeneratorExpressionParser.cxx:116:55: warning: conversion to ‘unsigned int’ from ‘long int’ may alter its value [-Wconversion]
CMake/Source/cmGeneratorExpressionParser.cxx:240:39: warning: conversion to ‘int’ from ‘long int’ may alter its value [-Wconversion]
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
4e184a2 string: Add CONCAT sub-command
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a string(CONCAT) command to simply concatenate input arguments
together. This will be useful for combining strings from different
quoting syntaxes. Add a RunCMake.string test covering these cases.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
e5ec8ad Xcode: Generate 'folder' source type for directories (#14498)
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Teach the Xcode generator to set 'lastKnownFileType' to be 'folder' for
file references that are directories. If you set 'explicitFileType' to
'sourcecode', then Xcode cannot browse the directory.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
b9fe4b6 VS: Document VS_GLOBAL_KEYWORD and VS_KEYWORD relationship (#14493)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These two target properties serve the same purpose for different versions
of Visual Studio. Document the versions covered by each property.
Reported-by: mar.na@t-online.de
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
f063c45 Consider targets with double colons to be IMPORTED or ALIAS targets.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Introduce a policy to control the behavior.
The AliasTargets unit test already tests that using a
double-semicolon in the name is not an error. Change the ExportImport
test to use a namespace with a double-semicolon too.
|