| |
| #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; |
| } |