Merge topic 'vs-force-multiple-include'
b29eadd
Map multiple /FI flags for VS < 10 (#11649)
This commit is contained in:
commit
45b61209f9
|
@ -427,7 +427,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] =
|
||||||
// The YX and Yu options are in a per-global-generator table because
|
// The YX and Yu options are in a per-global-generator table because
|
||||||
// their values differ based on the VS IDE version.
|
// their values differ based on the VS IDE version.
|
||||||
{"ForcedIncludeFiles", "FI", "Forced include files", "",
|
{"ForcedIncludeFiles", "FI", "Forced include files", "",
|
||||||
cmVS7FlagTable::UserValueRequired},
|
cmVS7FlagTable::UserValueRequired | cmVS7FlagTable::SemicolonAppendable},
|
||||||
|
|
||||||
// boolean flags
|
// boolean flags
|
||||||
{"BufferSecurityCheck", "GS", "Buffer security check", "TRUE", 0},
|
{"BufferSecurityCheck", "GS", "Buffer security check", "TRUE", 0},
|
||||||
|
|
|
@ -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")
|
LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDir")
|
||||||
|
|
||||||
IF(CMAKE_TEST_MSVC)
|
IF(CMAKE_TEST_MSVC)
|
||||||
|
ADD_TEST_MACRO(ForceInclude foo)
|
||||||
ADD_TEST_MACRO(PrecompiledHeader foo)
|
ADD_TEST_MACRO(PrecompiledHeader foo)
|
||||||
ADD_TEST_MACRO(ModuleDefinition example_exe)
|
ADD_TEST_MACRO(ModuleDefinition example_exe)
|
||||||
ENDIF(CMAKE_TEST_MSVC)
|
ENDIF(CMAKE_TEST_MSVC)
|
||||||
|
|
|
@ -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")
|
|
@ -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; }
|
|
@ -0,0 +1 @@
|
||||||
|
#define FOO_1
|
|
@ -0,0 +1 @@
|
||||||
|
#define FOO_2
|
Loading…
Reference in New Issue