Fix CompileDefinitions test on Visual Studio.

Avoid testing unsupported spaces in define values.
This commit is contained in:
Stephen Kelly 2012-08-21 11:04:09 +02:00
parent 3dae652b4e
commit 733deb66c6
2 changed files with 10 additions and 1 deletions

View File

@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 2.8)
project(CompileDefinitions) project(CompileDefinitions)
if ("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 6")
add_definitions(-DNO_SPACES_IN_DEFINE_VALUES)
endif()
add_subdirectory(add_definitions_command) add_subdirectory(add_definitions_command)
add_subdirectory(target_prop) add_subdirectory(target_prop)
add_subdirectory(add_definitions_command_with_target_prop) add_subdirectory(add_definitions_command_with_target_prop)

View File

@ -15,11 +15,16 @@ template<>
struct CMakeStaticAssert<true> {}; struct CMakeStaticAssert<true> {};
static const char fun_string[] = CMAKE_IS_; static const char fun_string[] = CMAKE_IS_;
#ifndef NO_SPACES_IN_DEFINE_VALUES
static const char very_fun_string[] = CMAKE_IS_REALLY; static const char very_fun_string[] = CMAKE_IS_REALLY;
#endif
enum { enum {
StringLiteralTest1 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>), StringLiteralTest1 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>)
#ifndef NO_SPACES_IN_DEFINE_VALUES
,
StringLiteralTest2 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>) StringLiteralTest2 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>)
#endif
}; };
int main(int argc, char **argv) int main(int argc, char **argv)