Initial commit.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Tests / MacroTest / CMakeLists.txt
blob86937a9e70b3017dc5161aa73d8bfdd154498495
1 # a simple C only test case
2 PROJECT (MacroTest)
4 SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
6 MACRO(FAILED testname)
7   MESSAGE(SEND_ERROR "${testname} failed ${ARGN}")
8 ENDMACRO(FAILED)
10 MACRO(PASS testname)
11   MESSAGE("${testname} passed ${ARGN}")
12 ENDMACRO(PASS)
14 # test ARGC
15 MACRO(weird_name)
16   IF("${ARGC}" EQUAL "3")
17     PASS("ARGC")
18   ELSE("${ARGC}" EQUAL "3")
19     FAILED("ARGC" "Got: ${ARGC}")
20   ENDIF("${ARGC}" EQUAL "3")
21 ENDMACRO(weird_name)
22 WeIrD_nAmE(a1 a2 a3)
24 # test ARGN
25 MACRO(test_argn_macro argument)
26   IF("${ARGN}" EQUAL "3")
27     PASS("ARGN")
28   ELSE("${ARGN}" EQUAL "3")
29     FAILED("ARGN" "Got: ${ARGN}")
30   ENDIF("${ARGN}" EQUAL "3")
31 ENDMACRO(test_argn_macro)
32 Test_Argn_Macro(ignored 3)
34 # case test
35 MACRO(strange_macro m)
36   SET("${m}" strange_macro)
37 ENDMACRO(strange_macro m)
38 STRANGE_MACRO(var)
39 set(second_var "second_var")
40 IF("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
41   PASS("Case Test" "(${var} ${second_var})")
42 ELSE("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
43   FAILED("Case test" "(${var} ${second_var})")
44 ENDIF("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
46 # test backing up command
47 MACRO(ADD_EXECUTABLE exec)
48   _ADD_EXECUTABLE("mini${exec}" ${ARGN})
49 ENDMACRO(ADD_EXECUTABLE)
51 INCLUDE(CheckCSourceCompiles)
52 Check_C_Source_Compiles(
54 #include <stdio.h>
55 #ifdef __CLASSIC_C__
56 int main(){
57   int ac;
58   char*av[];
59 #else
60 int main(int ac, char*av[]){
61 #endif
62   if(ac > 1000){return *av[0];}
63   return 0;
65 SOME_CHECK)
66 IF(SOME_CHECK)
67   MESSAGE("CheckCSourceCompiles works")
68 ELSE(SOME_CHECK)
69   MESSAGE(FATAL_ERROR "CheckCSourceCompiles does not work")
70 ENDIF(SOME_CHECK)
72 INCLUDE(CheckCXXSourceCompiles)
73 Check_CXX_Source_Compiles(
75 #include <stdio.h>
76 int main(int ac, char*av[]){
77   if(ac > 1000){return *av[0];}
78   return 0;
80 SOME_CHECK)
81 IF(SOME_CHECK)
82   MESSAGE("CheckCXXSourceCompiles works")
83 ELSE(SOME_CHECK)
84   MESSAGE(FATAL_ERROR "CheckCXXSourceCompiles does not work")
85 ENDIF(SOME_CHECK)
87 ADD_EXECUTABLE(MacroTest macroTest.c)