summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/target_compile_options
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Fix clang -Wstrict-prototypes warningsBrad King2023-10-261-1/+1
|
* cmTargetPropCommandBase: Restore ArgumentFlags enum value bool logicCraig Scott2022-11-274-0/+9
| | | | | | | | | | The values of the cmTargetPropCommandBase::ArgumentFlags enum are combined in boolean OR and AND operations in various places. That used to be valid, but some values were added over time which did not preserve support for such boolean logic. Update the enum values such that they are increasing powers of 2 to restore that capability. Fixes: #24199
* Add deprecation warnings for policies CMP0102 and belowBrad King2022-06-141-0/+10
| | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.17 and below to encourage projects to port away from setting policies to OLD.
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-2/+2
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* Tests: Add cases verifying flag ordering rulesBrad King2021-06-074-0/+42
|
* target_compile_options: ensure BEFORE keyword is handled in all scopesMarc Chevrier2020-01-117-0/+53
| | | | Fixes: #20200
* cmTargetPropCommandBase: check keywords after parsingBen Boeckel2018-10-262-6/+0
| | | | | | | | | | | | | The following was disallowed: add_library(iface INTERFACE) target_link_libraries(iface PUBLIC) just due to the mention of the `PUBLIC` keyword. Instead, only error if there are actually `PUBLIC` dependencies specified (and analogously for other restrictions). Update tests to expect this new behavior.
* Tests: add tests for empty-value keyword arguments in target_*Ben Boeckel2018-10-265-0/+19
Not all of these commands accept non-compilable (i.e., IMPORTED) targets, so those calls are currently just commented out. If they ever do start to accept them, the tests should be enabled.