| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
e671692d9c gitlab-ci: add jobs testing Intel 2023.0.0 compilers on Linux
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8132
|
| |
| |
| |
| |
| | |
Note that the classic compiler version is 2021.8.0, but we still
have it in the 2023.0.0 base image.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
85f16fe913 ci: add ImageMagick to Debian and Fedora base images
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8124
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
24bcad5bac VS: Honor compile options for ASM_NASM
b44714a642 VS: Honor compile options for ASM_MARMASM
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8125
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Ninja and Makefile generators honor `target_compile_options` and
friends for ASM_NASM `.asm` sources. Teach the VS generator to
honor them too for consistency.
Issue: #24289
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The Ninja and Makefile generators honor `target_compile_options` and
friends for ASM_MARMMASM `.asm` sources. Teach the VS generator to
honor them too for consistency.
Issue: #24289
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
a6bdf54a5e Watcom: Fix double-quote to be single-quote in response files for wlink
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8119
|
| |/
| |
| |
| |
| | |
Response files contained double-quote for any response file, but response files for wlink must contains single-quote. This is fix for libraries list response file. Problem for object file list was fixed by MR
!8115
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
c89d467bf2 Help: configure_file doc example use `target_include_directories`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8121
|
| |
| |
| |
| | |
Fixes #24351
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
01c1d81527 Xcode: Inherit Swift flags and compilation conditions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8122
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Extend the change from commit dfaf55fbfd (Xcode: add extra
'$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03,
v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions,
allowing CocoaPods and CMake to interoperate when used in the same
project.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
e194caa5a3 OpenWatcom: Add correct support for 16-bit Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8116
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This add correct Open Watcom support for 16-bit Windows 3.x.
It replace existing strange mixture with WIN32 stuff which implement 16-bit Windows target partially as part of WIN32 stuff.
Now pre-defined OS ID Windows3x is used instead of confusing WIN32.
It support properly 16-bit and 32-bit application for 16-bit Windows host.
32-bit applications are build with OW WIN386 extender.
It is used similar as for other platforms by set CMAKE_SYSTEM_NAME=Windows3x and CMAKE_SYSTEM_PROCESSOR=I86 for 16-bit application or CMAKE_SYSTEM_PROCESSOR=x86 for 32-bit WIN386 extender application running on 16-bit Windows 3.x.
CMAKE_SYSTEM_NAME=Windows is used only for WIN32 applications.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
a1d065e5c7 Watcom: Replace WATCOMQUOTE format by UseWatcomQuote attribute
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8115
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace WATCOMQUOTE output format by UseWatcomQuote attribute to properly handle single quote
This attribute is used globaly only for Watcom linker to handle single-quote separator instead of double-quote
it doesn't mean different output format only change of quoting separator
It is now applied to any output form SHELL/RESPONSE/NINJAMULTI if Watcom linker is used otherwise double-quote is used
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8024c41685 VS: Do not concurrently build custom commands with generated MAIN_DEPENDENCY
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8120
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit 33c15ae2b9 (VS: Build custom commands concurrently when
possible, 2023-01-19) several tests have failed intermittently with the
VS generator. It seems that if the `BuildInParallel` setting is
attached to a generated input:
<CustomBuild Include="generated_input.txt">
<BuildInParallel Condition="...">true</BuildInParallel>
<Command Condition="...">copy geneated_input.txt output.txt</Command>
...
</CustomBuild>
then MSBuild does not wait for the input to be generated before running
the command.
This occurs when using `add_custom_command`'s `MAIN_DEPENDENCY`, so
avoid using `BuildInParallel` in that case.
Issue: #18405
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5b45a3d0ce CheckCompilerFlag: Match the Clang "argument unused" output for all languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8117
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Improve detection of missing compiler flags: move "argument unused
during compilation: .*" pattern from language-specific branches into
the common list.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
6e53d74147 FindOpenMP: Use OpenMP_<lang>_INCLUDE_DIR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8110
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If `OpenMP_<lang>_INCLUDE_DIR` is defined, add it to the list of include
directories before checking flags. Previously, this variable was
ignored for all compilers but AppleClang, despite the documentation
mentioning it as one of the possible inputs.
Fixes: #24260
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
7db4df2e8c Tests: Match configure log try_compile directories more precisely
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8114
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
Do not accept a double-quote in the `try_compile` work directory to
ensure we do not match more than the field value.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
a1dc38a567 Help: Document behavior of if(EXISTS,IS_DIRECTORY) for empty paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8109
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Document and add explicit tests for empty string input:
`if(EXISTS "")` and `if(IS_DIRECTORY "")` are always false.
This avoids need for users to do extra checks due to
CMake non-short-circuit logic as below:
if("${p}")
if(EXISTS "${p}")
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
434be1256e Help: improve docs for INSTALL_NAME_DIR
f784c21567 Help: mention CMAKE_SKIP_RPATH in the RPATH docs
66ad61ba79 Help: improve documentation for BUILD_RPATH
25e7791dc1 Help: improve docs for INSTALL_RPATH
099292f123 Help: improve docs for rpath-related variables
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8073
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
INSTALL_NAME_DIR now mentions BUILD_WITH_INSTALL_NAME_DIR.
The INSTALL_NAME_DIR, INSTALL_RPATH and $<TARGET_RUNTIME_DLLS:tgt>
documentation now mention the other two platforms respectively, to
make it easier for developers who are not familiar with all three platforms,
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
CMAKE_SKIP_RPATH is now mentioned in the docs for the BUILD_RPATH
and INSTALL_RPATH target properties.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Now all properties related to BUILD_RPATH are linked from the
documentation for BUILD_RPATH.
SKIP_BUILD_RPATH now also refers to BUILD_RPATH.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The documentation for INSTALL_RPATH now links to all (or at least most)
properties (and variables) related to the install rpath, which
should make it easier for users to find out how RPATH works.
Also change "True" to "TRUE"
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Now all RPATH-related variables link to the related
RPATH-related variables. Some also link to the
INSTALL_RPATH and BUILD_RPATH target properties.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
10623a51a0 OpenWatcom: Refactor population of standard include directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8113
|
| | |_|/ / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add setup of system include directories to language related macro to remove extra lines for C and CXX.
System include directories are always same for both languages (they are defined per platform).
|
|\ \ \ \ \ \ \
| |_|_|_|_|_|/
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1730d208b5 Add incremental Swift static lib build test
bf3a8ef6d5 Ninja: Swift: Add dependency edge to swiftmodule file
d0b469b7e0 Ninja: NFC: refactor swift module name computations
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8084
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Ensure that we're actually trying to rebuild libB when the public
interface for libA changes. Without handling the swiftmodule dependency
edge correctly, we would only get a linker error because libA didn't
have the symbol that libB depended on. With the fix, we get a proper
compiler error because ninja knows to rebuild the intermediate libB
when the public interface of libA changes. This is more actionable.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Swiftmodules act like headers for Swift, but are generated by the
compiler while building the module. Unlike headerfiles in a pure C/C++
world, where the compiler generates the appropriate depfile. We don't
have We're
already adding the swiftmodule as an output from swift-linked targets,
but aren't using that on inputs.
This dependency edge is most important for static libraries in
incremental builds. Suppose we have two static libraries, A, and B, and
an executable E. B "links" against A, and E links against B. In a C/C++
environment, the library link dependency edge will run from E to both A
and B, but there won't be an edge from B to A. If A is changed, the only
way this should affect B is if the public interface changes, in which
case, the headers will also change. The dep file contains the header
link, so Ninja will rebuild B when appropriate. With Swift in an
incremental build, B sees the order-dependency on A, but A already
exists. If A is changed in a way that changes the public interface, the
swiftmodule will change, but since we don't track it, we don't rebuild
B, resulting in the final executable to fail to link.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
In order to handle determining the swiftmodule name to add to the ninja
dependency graph, we'll need to be able to compute the swiftmodule name
for the dependency target, not just the current target. This patch
refactors the computation of the module name out of inaccessible lambdas
and into static functions that can compute the swiftmodule name from the
generator and the target.
|
| |/ / / / /
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
bfa61ccf64 Help: Modernize PackageConfigHelpers example
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8111
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The example shown in the module documentation for
CMakePackageConfigHelpers was showing its age, by:
1. Hardcoding directory prefixes (`etc/`, `lib/`, etc.) instead of
using GNUInstallDirs
2. Handwaving `set()` commands (incorrectly!) as:
`set(VAR dir/ ... CACHE )`
which should, at the very least, be:
`set(VAR dir/ CACHE ... )`
3. Installing CMake configuration files to `lib/Foo/cmake/`, when
current practice favors `${CMAKE_INSTALL_LIBDIR}/cmake/Foo/`
This updated example addresses all of those issues.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
d59ab71779 Help: Wrap long examples in Ninja Multi-Config doc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8103
|
| | | | | | | |
|
|\ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
486b3c0850 FindPython: Policy CMP0007 must be set to NEW
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8104
|