This was accidentally left out of commit de962cc00d (CMake: Internally
uses -S instead of -H to specify source directory, 2018-09-06,
v3.13.0-rc1~76^2~1).
We know the encoding of the schema file, so we should specify it
when we open it for reading. Previously, by not specifying it, the test
was open to using an encoding based on the active locale when
running the test. We may have been enforcing a "C" locale at a higher
level, but we don't need to rely on that here, we can force correct
behavior without that assumption.
Issue: #24679
When the encoding is not specified, open() may choose an encoding
based on the locale in use. That encoding may have no relationship
to the encoding of the file being opened. Use the locale from the
document settings instead, which should better match the file's
encoding.
Fixes: #24679
4a84f71049 ci: Provide cppdap in extdeps jobs
5ec69eb58c cppdap: Build as part of CMake or use external installation
3381e6bd5c Merge branch 'upstream-cppdap' into import-cppdap
1daeefc378 cppdap 2023-05-26 (03cc1867)
bd58bc7817 cppdap: Add script to import version as of 2023-05-25
172045b53b jsoncpp: Add cm3p/ headers for json/json.h and json/forwards.h
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8342
A misconfigured compiler may pass extraneous implicit link directories
to its linker. If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`,
CMake may generate extra `-L` flags on mixed-language link lines that
break linking. Add an environment variable that users can set to work
around such misconfiguration of their compilers.
Since commit 79921fb00c (IntelLLVM: Set linker to compiler driver for
Windows, 2021-10-19, v3.23.0-rc1~127^2) we default to the compiler
driver as linker for executables, shared libraries, and static
libraries. Not doing so for shared modules was an oversight. Copying
the shared library command line for shared modules fixes the problem
(and also is what we do for MSVC).
The MSVC linker is fine for many cases, however it does not support GPU
offload code generated by the IntelLLVM compilers. Using the compiler
driver as linker, or at least a linker that understands the object
format, is required for linking shared modules that use GPU offload
(e.g., with SYCL or OpenMP).
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
When generating the `IMPORTED_CXX_MODULES_[CONFIG]` target property,
there was a missing path separator after a non-empty relative directory
part of the path to a module source file.
Co-authored-by: Brad King <brad.king@kitware.com>
Calling `install(EXPORT)` with the `CXX_MODULES_DIRECTORY` parameter
leads to installation rules being generated which `include()` CMake
scripts that set the `IMPORTED_CXX_MODULES_[CONFIG]` target property for
relevant targets. However, these scripts don't get generated for
targets in an export set which don't have any C++20 modules. When the
installation rules attempt to `include()` the missing scripts, the
install fails.
Co-authored-by: Brad King <brad.king@kitware.com>
When UPDATE_DISCONNECTED is true, create separate update_disconnected
and patch_disconnected targets which have ALWAYS set to false.
Make the configure step depend on patch_disconnected in this case too.
This ensures the configure, build, install and test steps are not
executed unnecessarily when updates are disconnected.
Make the update and patch commands depend on the details of those
steps. This ensures they are re-executed when any of those details
change, even if updates are disconnected.
Allow updates to occur even if UPDATE_DISCONNECTED is true, but don't
contact the remote in that case. If asked to update to a ref that isn't known
locally, that is now detected and causes a fatal error when updates are
disconnected. Previously, the build would have silently and erroneously
continued to use the old ref.
Fixes: #16419, #19703, #21146
1689e0a118 ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
bdaa9e1e4e ci: use Fedora 38 images and environments
b69c63d3aa ci: update Linux image to Fedora 38
9c388fb064 ci: Remove nlohmann-json from Fedora base image
d9d061d19f ci: Disable sccache in clang-analyzer job
fad150d314 clang-tidy module: Update to build against LLVM/Clang 16
ce3ec02bb2 clang-tidy module: Drop unused variable
2c27968619 clang-tidy: ignore warnings new in version 16
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8502