Files
CMake/Tests/RunCMake/ParseImplicitData
Brad King 607bccb4ef Restore implicit include directory extraction for adaptive relative paths
Update the logic added by commit ef41d49812 (Fix implicit include
directory extraction for adaptive relative paths, 2019-04-08,
v3.14.2~5^2) to account for the new `try_compile` work directory used
for the ABI check since commit 2edf0fc6d7 (Modules: Use new
keyword-dispatched try_compile signature, 2022-09-13,
v3.25.0-rc1~144^2).

Paths relative to the work directory will now have one more `../`
in them, so update the test data to match.

Fixes: #24279
2023-01-12 12:05:42 -05:00
..

This directory contains sample input files for the implicit include
directories, and link info parsers for testing.  For each configuration
 there is one ".input" file and matching ".output" files in
ParseImplicitIncludeInfo/results and ParseImplicitLinkInfo/results.

To generate ".input" files for a system, create a temporary build
directory and chdir to it.  Then run cmake pointing to this directory.
The CMakeLists.txt file here will generate ".input" files in your
build directory.  The default set of languages is C and CXX.  This
can be changed with -DLANGUAGES=language_list.  For example:
-DLANGUAGES=Fortran will generate Fortran parser input.

The ".output" files should be generated by hand from the input files.
The test will compare the parser output to the manually generated
".output" file.  The two should match.

For compilers that support "-nostdinc"-like flags, you can generate
a test for this with a command like:
cmake -DUNAME=netbsd_nostdinc \
  -DCMAKE_C_FLAGS=-nostdinc -DCMAKE_CXX_FLAGS=-nostdinc .

Here is an example for testing the XL compiler with both -I and nostdinc:

env CC=xlc CXX=xlC cmake -DUNAME=linux_nostdinc_i \
  -DCMAKE_C_FLAGS='-qnostdinc -I/tmp/ii/test_c' \
  -DCMAKE_CXX_FLAGS='-qnostdinc -I/tmp/ii/test_c -I/tmp/ii/test_cxx' .