diff options
author | Brad King <brad.king@kitware.com> | 2011-01-04 20:45:51 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2011-01-04 20:45:51 (GMT) |
commit | 45b61209f972cc6f1f644f14739a67c6fc530da7 (patch) | |
tree | 371c54e4541207d30f49c7e4b76742310a9c13df | |
parent | 2bb193a7f2c5b9144ee1b5fdde8de801e2baf037 (diff) | |
parent | b29eadd8f38fcfd7b0635501f5e1429e7cb69865 (diff) | |
download | CMake-45b61209f972cc6f1f644f14739a67c6fc530da7.zip CMake-45b61209f972cc6f1f644f14739a67c6fc530da7.tar.gz CMake-45b61209f972cc6f1f644f14739a67c6fc530da7.tar.bz2 |
Merge topic 'vs-force-multiple-include'
b29eadd Map multiple /FI flags for VS < 10 (#11649)
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 2 | ||||
-rw-r--r-- | Tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/ForceInclude/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/ForceInclude/foo.c | 7 | ||||
-rw-r--r-- | Tests/ForceInclude/foo1.h | 1 | ||||
-rw-r--r-- | Tests/ForceInclude/foo2.h | 1 |
6 files changed, 21 insertions, 1 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index b22c429..418b8b4 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -427,7 +427,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] = // The YX and Yu options are in a per-global-generator table because // their values differ based on the VS IDE version. {"ForcedIncludeFiles", "FI", "Forced include files", "", - cmVS7FlagTable::UserValueRequired}, + cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SemicolonAppendable}, // boolean flags {"BufferSecurityCheck", "GS", "Buffer security check", "TRUE", 0}, diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 464fe2a..6c937b0 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1057,6 +1057,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDir") IF(CMAKE_TEST_MSVC) + ADD_TEST_MACRO(ForceInclude foo) ADD_TEST_MACRO(PrecompiledHeader foo) ADD_TEST_MACRO(ModuleDefinition example_exe) ENDIF(CMAKE_TEST_MSVC) diff --git a/Tests/ForceInclude/CMakeLists.txt b/Tests/ForceInclude/CMakeLists.txt new file mode 100644 index 0000000..5c02ebb --- /dev/null +++ b/Tests/ForceInclude/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 2.8.3.20110103) +project(ForceInclude C) + +# Make sure the proper compiler is in use. +if(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$") + message(FATAL_ERROR "The ForceInclude test works only with MSVC or Intel") +endif() + +add_executable(foo foo.c) +set_property(SOURCE foo.c PROPERTY COMPILE_FLAGS "/FIfoo1.h /FIfoo2.h") diff --git a/Tests/ForceInclude/foo.c b/Tests/ForceInclude/foo.c new file mode 100644 index 0000000..af898f4 --- /dev/null +++ b/Tests/ForceInclude/foo.c @@ -0,0 +1,7 @@ +#ifndef FOO_1 +# error "foo1.h not included by /FI" +#endif +#ifndef FOO_2 +# error "foo2.h not included by /FI" +#endif +int main(void) { return 0; } diff --git a/Tests/ForceInclude/foo1.h b/Tests/ForceInclude/foo1.h new file mode 100644 index 0000000..2c1cb7b --- /dev/null +++ b/Tests/ForceInclude/foo1.h @@ -0,0 +1 @@ +#define FOO_1 diff --git a/Tests/ForceInclude/foo2.h b/Tests/ForceInclude/foo2.h new file mode 100644 index 0000000..e47524d --- /dev/null +++ b/Tests/ForceInclude/foo2.h @@ -0,0 +1 @@ +#define FOO_2 |