4bfb1249 VS: removed usage of relative paths for C# targets in in-source builds
90cb4083 VS: improve handling of source files with special extensions in .csproj
When building with multiple SDKs within one project Xcode requires
the usage of ${EFFECTIVE_PLATFORM_NAME} to put temporary and build
outout into separate directories. For example an iOS device and
simulator build use two different SDKs (iphoneos and iphonesimulator).
In the past cmake tries to detect embedded toolchains that could
possibly use simulators and emitted EFFECTIVE_PLATFORM_NAME (EPN)
at the proper locations. In #16253 Mark noticed that if he
uses macosx and iphoneos in combination the necessary EPN is not
emitted. This is because CMake by default assumes macosx SDK which
does not trigger EPN emission.
The fist naive approach - enabling EPN unconditionally revealed that
then the EPN leaks into generator expressions like $<TARGET_FILE:xxx>
which might be a regression and thus is unacceptable.
The next approach was to add an CMake property to enable EPN emission
unconditionally. This solved the reported problem.
But the EPN leakage also happened for the embedded toolchains already
without anyone noticing. So the control property was turned into a
tri-state one:
* No definition: EPN is activated for embedded toolchains like before
* ON: EPN is always emitted
* OFF: EPN is never emitted
That approach gives the user the chance to disable EPN for embedded
toolchains and restores generator expression functionality for those.
Closes: #16253
Teach the CDASH_UPLOAD signature of ctest_submit() to honor the
RETRY_COUNT and RETRY_DELAY options.
Also teach HttpRequest() to honor the default 120 second timeout
for curl connections.
On Windows, calling a binary installed with the default `bin` binary
directory will fail to be detected when called as `BIN\cmake.exe` due to
the string compare. Get the actual case of the path before checking that
the path ends with `CMAKE_BIN_DIR`.
Fixes#16574.
Mainly <Link> and <DependentUpon> tags are added to connect generated
and manually edited files. Special file extensions that are take care
of are:
- .Designer.cs
- .xaml.cs
- .settings
- .resx
- .xaml
```
warning: the specified comparator type does not provide a const call
operator [-Wuser-defined-warnings]
```
Reported-by: Sean McBride <sean@rogue-research.com>
397b8546 VS: added documentation for C# support
a7dd8e66 VS: added support for C# (for Visual Studio 2010, 2012, 2013, 2015)
6fda6005 VS: renamed target property VS_USER_PROPS_CXX to VS_USER_PROPS
bb670d96 Autogen: Generators: Remove space
3f86032b Autogen: Generators: Rename requiresMocing method
f24e1d37 Autogen: Generators: Fix clang-tidy readability-else-after-return
f27c5852 Autogen: Initializer: Add old settings file to clean files
d7d2cb48 Autogen: Generators: Save the UIC/RCC settings that were actually used
721997a7 Autogen: Generators: Dedicated generateAll variables for MOC/UIC/RCC
9f47d326 Autogen: Generators: Save the MOC settings that were actually used
597124ba Autogen: Generators: Add function to read makefile definitions config aware
2b400b24 Autogen: Generators: Move moc/uic/rcc executable test to generate method
edf0b8a5 Autogen: Generators: Rename GenerateFoo methods to FooGenerate
06430919 Autogen: Generators: Use FileAbsentOrOlder for UIC tests
ca179f2a Autogen: Generators: Use FileAbsentOrOlder for MOC tests
119791ae Autogen: Generators: Introduce FileAbsentOrOlder function
95e4cfc5 Autogen: Generators: Simplify (and fix) JoinExts function
6c55755b Autogen: Generators: Make class static method a source static function
1491ab1c Autogen: Generators: Make class static method a source static function
...
Since commit v3.3.0-rc1~318^2~1 (file: Teach GLOB to list directories
optionally, 2015-03-17) using `LIST_DIRECTORIES` followed by no
expression causes a crash. Fix the logic to avoid the crash.
Fixes: #16565
When using a Makefiles generator, `install/local/fast` and
`install/strip/fast` targets are not at all fast. They depend on
`install/local` and `install/strip` targets respectively instead of
`preinstall/fast` and don't contain any commands instead of repeating
commands in `install/local` and `install/strip`. The issue was
introduced by simple typos in commits v2.6.0~2825 (Adding install/local
global target for Makefile generators, 2006-08-29) and v2.6.0~1743 (add
install/strip target for makefile generators, 2007-05-18).