| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
5d317930 Android: Fix include path for unified headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !997
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
2017-06-12) we accidentally constructed the unified header include
directories from the linking sysroot. Construct them from the
compiling sysroot instead.
Fixes: #16584
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ba247cca IPO: Consider support for each language separately
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !964
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
Fortran languages. Do not try to enable support for other languages.
Furthermore, each language builds with a different compiler, so check
for support by CMake and the compiler for each language independently.
Fixes: #16944
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
3d00be13 Android: Add support for unified headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !956
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The unified headers are preferred as of NDK r15, so use them by default
if available and provide an option to use the deprecated headers.
Inspired-by: Florent Castelli <florent.castelli@gmail.com>
Fixes: #16584
|
| |\ \ |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
7368ade2 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !951
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
The CUDA compiler automatic deprecation warnings are pure noise when
doing device linking, and should be suppressed to reduce the amount of
confusion from users.
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
22f8a465 Android: Do not pass sysroot include for standalone toolchain
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !952
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
directory explicitly, 2017-01-20) does not make sense when compiling
with a standalone toolchain which is tied to a single API version.
Drop the explicit include directory so that the compiler uses its
default system include order.
Fixes: #16954
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
5f93bf78 Android: Detect API version of standalone toolchain with unified headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !950
|
| |/
| |
| |
| |
| |
| |
| | |
A standalone toolchain with unified headers keeps the `__ANDROID_API__`
macro in the `bin/clang` launcher instead of in `api-level.h`.
Issue: #16954
|
| | |
|
|/
|
|
|
|
|
| |
The `--out-fmt-ihx` option added by commit v2.6.0~1253 (...use
--out-fmt-ihx to enforce .ihx files, 2007-08-15) may interfere with
options requested by the user. Also, when no linker output is
specified, SDCC outputs Intel Hex by default anyway.
|
|\
| |
| |
| |
| |
| |
| | |
abe8a623 GNUtoMS: Add search path for VS 2017 environment scripts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !875
|
| |
| |
| |
| |
| |
| | |
Use `cmake_host_system_information` to query the VS Installer tool for
the locations of VS versions since VS 2017 does not provide registry
entries anymore. Add a loop to simplify addition of future versions.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4eb15824 Windows-PGI: Add platform definitions
a94ae96e Windows-PGI: Adapt default compiler flags
c2c2d366 ImplicitLinkInfo: Add support for PGI on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !794
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PGI on Windows should use the Visual C++ linker and librarian and not
the ar provided for legacy reasons. The compiler parameters themselves
are the same as their Linux parameters and not compatible to MSVC
however.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
9e24af01 Use string(APPEND) in Modules
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !864
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Automate with:
find Modules -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
c02d4d2a GNUtoMS: Add search path for VS 2015 environment scripts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !854
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure that PGI on Linux keeps its
CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS empty, especially of -rdynamic.
In CMakeFortranInformation a lot of flags will be copied from their C
equivalents if they're not defined. By using a combination of GCC and
PGFortran, this will lead to -rdynamic ending up in the PGI flags and
none of the PGI compilers understand that flag, crashing with a fatal
error.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The valid settings to pass to the IBM XL compiler for the -qhalt flag
vary widely by language and platform. Based on existing documentation,
the following table shows which error levels are valid to pass to
-qhalt= since -qhalt=e is not always available.
OS | xlc | xlC | xlf |
---------|-------|------------------
AIX | iwes | iw s | ilwesu |
BlueGene | iwes | iwes | ilwesu |
OS X | iwesu | iwesu | ilwesu |
Linux | w | w | ilwesu |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
09035319 Autogen: Pass explicit predefines header to moc if possible
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !671
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt is relying on whoever calls moc to include a file with the predefined
values that will be used by the compiler, otherwise moc takes wrong
paths and weird things happen.
Instead, generate an include file and feed it to all mocs to make sure
it's generating correct code.
Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
Fixes: #16640
|
| | |
| | |
| | |
| | | |
This generator has been deprecated since CMake 3.6. Remove it.
|
|/ /
| |
| | |
Replace the default -Wl,--export-dynamic with -rdynamic.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
dfa8263f Implement interprocedural optimization for GNU compilers
1588a577 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
a7575700 Refactoring: s,GetFeatureAsBool,IsIPOEnabled,
e05835c3 CheckIPOSupported: Visual Studio and Xcode generators do not support IPO
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
Merge-request: !568
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was
honored only for the Intel compiler on Linux and otherwise ignored. In
order to add support for more compilers incrementally without changing
behavior in the future, add a new policy whose NEW behavior enforces the
`INTERPROCEDURAL_OPTIMIZATION` property. Add flags for supported
compilers and otherwise produce an error.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fff34934 MSVC: Restore _DEBUG preprocessor definition in RC debug builds
79a91538 RC: Add missing CMAKE_RC_FLAGS_<CONFIG> entries to cache
c77194ec VS: Honor preprocessor definitions in RC flags
1449f6f6 cmVisualStudio10TargetGenerator: De-duplicate preprocessor defs
8a619e8c cmIDEOptions: Add GetDefines method
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !640
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit v3.8.0-rc1~304^2 (MSVC: Do not define _DEBUG explicitly when
using /MDd, 2016-11-15) we removed the `_DEBUG` preprocessor definition
from MSVC C and C++ flags because the `cl` compiler automatically
defines it in Debug builds anyway. However, the VS generators propagate
C preprocessor definitions to the RC (Windows Resource Compiler) tool.
This means that we used to explicitly define `_DEBUG` for RC debug
builds. Therefore existing project code may expect the definition to be
there even though the `rc` compiler itself does not implicitly define
`_DEBUG` in debug builds.
Add the `_DEBUG` flag to the default `CMAKE_RC_FLAGS_DEBUG` instead
to restore this definition for RC debug builds. This also makes it
available consistently in VS, Ninja, and Makefile generators.
Fixes: #16745
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| |
| |
| | |
fecf8467 Help: Document preference of `MSVC_VERSION` over `MSVC##`
712452e3 Help: Clarify MSVC14 docs w.r.t. VS 2017 v141 toolset
49a60b70 MSVC: Exclude future cl 20+ from MSVC14 variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !609
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
6c832674 Tests for 'CheckIPOSupported' module
fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !558
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
0b668e52 Cygwin: Move Cygwin-specific paths to the cygwin platform
2a8c2af4 SunOS: Move solaris-specific paths to the solaris platform
7eb1f5b7 Unix: Consolidate path components into prefixes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !589
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Detect x32-abi through CMakeCompilerABI infrastruture and use this
information at runtime to determine the correct library paths with
`FIND_LIBRARY_USE_LIBX32_PATHS`.
Fixes: #15994
|
| |
| |
| |
| |
| |
| |
| | |
Fix the default values of `CMAKE_CUDA_FLAGS[_<CONFIG>]` on Windows to
make the host compiler flags match those produced for C++ by the
`Platform/Windows-MSVC` module. This makes the flags consistent with
those used for C++.
|
|/
|
|
|
|
|
| |
On Windows with MSVC-like host compilers we must honor the standard
libraries chosen by the `Platform/Windows-MSVC` module. Otherwise C
code linked into the CUDA binary that expects to have these libraries
available may not link.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The NDK's `build/core/definitions.mk` file adds compiler flags:
-isystem $$(call host-path,$$(SYSROOT_INC)/usr/include)
This passes the system include directory explicitly even though it is
implied by `--sysroot=`. The explicit flag places the directory
earlier in the include path than the sysroot-default one would be.
Teach CMake to add this include directory at the end of the standard
include path for Android. Otherwise the toolchain's `include-fixed/`
directory may replace system headers with "fixed" copies that are not
from the same API version.
Closes: #16536
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The NDK's own build files:
<ndk>/build/tools/build-cxx-stl.sh
<ndk>/build/cmake/android.toolchain.cmake
for the `c++_static` and `c++_shared` build types add the
`<ndk>/sources/android/support/include` include directory
between the two `<ndk>/sources/cxx-stl/llvm-libc++*` directories.
Re-order our own include directory generation to match.
Issue: #16536
|
|
|
|
|
|
|
|
| |
Previously we had a two issues when building cuda executables
that required separable compilation. The first was that we didn't
propagate FLAGS causing any -arch / -gencode flags to be dropped, and
secondly generators such as ninja would use the CXX language flags
instead of CUDA when the executable was mixed language.
|
|
|
|
|
|
|
| |
Port Windows-specific compilation and linking rules over from the
`Platform/Windows-MSVC` module and adapt it for NVIDIA CUDA. On Windows
nvcc and its host compiler (MSVC) do not understand or use options like
`-fPIC` or `-std=`, so condition those out.
|
| |
|
|
|
|
| |
Closes: #16535
|