summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/VS10Project/VsForceInclude-check.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-04-01 16:37:08 -0400
committerBrad King <brad.king@kitware.com>2022-04-01 16:37:08 -0400
commit20cd951c9f4dff5230a9b22adbc6c4dbd0d6e233 (patch)
tree7369d72633ff22ef0fef377214fa8d0f65f426b1 /Tests/RunCMake/VS10Project/VsForceInclude-check.cmake
parent6e1be5dbefab3e7317502e3d0fe4b132d0162ae5 (diff)
downloadcmake-20cd951c9f4dff5230a9b22adbc6c4dbd0d6e233.tar.gz
VS: Add compiler flag table entry for -FI followed by separate argument
The MSVC `/FI` flag accepts an attached value or a following argument. Previously our flag tables only had entries for the former. Add the latter. Fixes: #23382
Diffstat (limited to 'Tests/RunCMake/VS10Project/VsForceInclude-check.cmake')
-rw-r--r--Tests/RunCMake/VS10Project/VsForceInclude-check.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/Tests/RunCMake/VS10Project/VsForceInclude-check.cmake b/Tests/RunCMake/VS10Project/VsForceInclude-check.cmake
new file mode 100644
index 0000000000..8906e9232d
--- /dev/null
+++ b/Tests/RunCMake/VS10Project/VsForceInclude-check.cmake
@@ -0,0 +1,18 @@
+set(tgt_project "${RunCMake_TEST_BINARY_DIR}/tgt.vcxproj")
+if (NOT EXISTS "${tgt_project}")
+ set(RunCMake_TEST_FAILED "Generated project file does not exist:\n ${tgt_project}\n")
+ return()
+endif()
+
+file(STRINGS ${tgt_project} tgt_projects_strings REGEX ForcedIncludeFiles)
+
+foreach(line IN LISTS tgt_projects_strings)
+ if (line MATCHES "<ForcedIncludeFiles>force_include_1.h;force_include_2.h</ForcedIncludeFiles>")
+ set(have_FI ON)
+ endif()
+endforeach()
+
+if (NOT have_FI)
+ set(RunCMake_TEST_FAILED "Generated project does not have expected ForcedIncludeFiles.")
+ return()
+endif()