|
|
|
|
|
|
|
#ifndef CMAKE_IS_FUN
|
|
|
|
# error Expect CMAKE_IS_FUN definition
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if CMAKE_IS != Fun
|
|
|
|
# error Expect CMAKE_IS=Fun definition
|
|
|
|
#endif
|
|
|
|
|
|
|
|
template <bool test>
|
|
|
|
struct CMakeStaticAssert;
|
|
|
|
|
|
|
|
template <>
|
|
|
|
struct CMakeStaticAssert<true>
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
static const char fun_string[] = CMAKE_IS_;
|
|
|
|
#ifndef NO_SPACES_IN_DEFINE_VALUES
|
|
|
|
static const char very_fun_string[] = CMAKE_IS_REALLY;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
StringLiteralTest1 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>),
|
|
|
|
#ifndef NO_SPACES_IN_DEFINE_VALUES
|
|
|
|
StringLiteralTest2 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>),
|
|
|
|
#endif
|
|
|
|
#ifdef TEST_GENERATOR_EXPRESSIONS
|
|
|
|
StringLiteralTest3 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(LETTER_LIST1) == sizeof("A,B,C,D")>),
|
|
|
|
StringLiteralTest4 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(LETTER_LIST2) == sizeof("A,,B,,C,,D")>),
|
|
|
|
StringLiteralTest5 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(LETTER_LIST3) == sizeof("A,-B,-C,-D")>),
|
|
|
|
StringLiteralTest6 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(LETTER_LIST4) == sizeof("A-,-B-,-C-,-D")>),
|
|
|
|
StringLiteralTest7 =
|
|
|
|
sizeof(CMakeStaticAssert<sizeof(LETTER_LIST5) == sizeof("A-,B-,C-,D")>)
|
|
|
|
#endif
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef TEST_GENERATOR_EXPRESSIONS
|
|
|
|
# ifndef CMAKE_IS_DECLARATIVE
|
|
|
|
# error Expect declarative definition
|
|
|
|
# endif
|
|
|
|
# ifdef GE_NOT_DEFINED
|
|
|
|
# error Expect not defined generator expression
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# ifndef ARGUMENT
|
|
|
|
# error Expected define expanded from list
|
|
|
|
# endif
|
|
|
|
# ifndef LIST
|
|
|
|
# error Expected define expanded from list
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# ifndef PREFIX_DEF1
|
|
|
|
# error Expect PREFIX_DEF1
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# ifndef PREFIX_DEF2
|
|
|
|
# error Expect PREFIX_DEF2
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# ifndef LINK_CXX_DEFINE
|
|
|
|
# error Expected LINK_CXX_DEFINE
|
|
|
|
# endif
|
|
|
|
# ifndef LINK_LANGUAGE_IS_CXX
|
|
|
|
# error Expected LINK_LANGUAGE_IS_CXX
|
|
|
|
# endif
|
|
|
|
|
|
|
|
# ifdef LINK_C_DEFINE
|
|
|
|
# error Unexpected LINK_C_DEFINE
|
|
|
|
# endif
|
|
|
|
# ifdef LINK_LANGUAGE_IS_C
|
|
|
|
# error Unexpected LINK_LANGUAGE_IS_C
|
|
|
|
# endif
|
|
|
|
|
|
|
|
// TEST_GENERATOR_EXPRESSIONS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef BUILD_IS_DEBUG
|
|
|
|
# error "BUILD_IS_DEBUG not defined!"
|
|
|
|
#endif
|
|
|
|
#ifndef BUILD_IS_NOT_DEBUG
|
|
|
|
# error "BUILD_IS_NOT_DEBUG not defined!"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Check per-config definitions.
|
|
|
|
#ifdef TEST_CONFIG_DEBUG
|
|
|
|
# if !BUILD_IS_DEBUG
|
|
|
|
# error "BUILD_IS_DEBUG false with TEST_CONFIG_DEBUG!"
|
|
|
|
# endif
|
|
|
|
# if BUILD_IS_NOT_DEBUG
|
|
|
|
# error "BUILD_IS_NOT_DEBUG true with TEST_CONFIG_DEBUG!"
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
# if BUILD_IS_DEBUG
|
|
|
|
# error "BUILD_IS_DEBUG true without TEST_CONFIG_DEBUG!"
|
|
|
|
# endif
|
|
|
|
# if !BUILD_IS_NOT_DEBUG
|
|
|
|
# error "BUILD_IS_NOT_DEBUG false without TEST_CONFIG_DEBUG!"
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
int main(int argc, char** argv)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|