Initial commit.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Tests / CMakeLists.txt
blob8fc850f67cafaca18eb395d52b2adfdc29007e13
1 # a macro for tests that have a simple format where the name matches the
2 # directory and project
3 MACRO(ADD_TEST_MACRO NAME COMMAND)
4   ADD_TEST(${NAME} ${CMAKE_CTEST_COMMAND}
5     --build-and-test
6     "${CMake_SOURCE_DIR}/Tests/${NAME}"
7     "${CMake_BINARY_DIR}/Tests/${NAME}"
8     --build-two-config
9     --build-generator ${CMAKE_TEST_GENERATOR}
10     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
11     --build-project ${NAME}
12     --test-command ${COMMAND})
13 ENDMACRO(ADD_TEST_MACRO)
16 # Testing
17 IF(BUILD_TESTING)
18   # Should the long tests be run?
19   OPTION(CMAKE_RUN_LONG_TESTS 
20     "Should the long tests be run (such as Bootstrap)." ON)
21   MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
22   
23   IF (CMAKE_RUN_LONG_TESTS)
24     OPTION(CTEST_TEST_CTEST 
25       "Should the tests that run a full sub ctest process be run?" 
26       OFF)
27     MARK_AS_ADVANCED(CTEST_TEST_CTEST)
28   ENDIF (CMAKE_RUN_LONG_TESTS)
30   # add a bunch of standard build-and-test style tests
31   ADD_TEST_MACRO(CommandLineTest CommandLineTest)
32   ADD_TEST_MACRO(FindPackageTest FindPackageTest)
33   ADD_TEST_MACRO(StringFileTest StringFileTest)
34   ADD_TEST_MACRO(TryCompile TryCompile)
35   ADD_TEST_MACRO(TarTest TarTest)
36   ADD_TEST_MACRO(SystemInformation SystemInformation)
37   ADD_TEST_MACRO(MathTest MathTest)
38   ADD_TEST_MACRO(Simple Simple)
39   ADD_TEST_MACRO(PreOrder PreOrder)
40   ADD_TEST_MACRO(COnly COnly)
41   ADD_TEST_MACRO(CxxOnly CxxOnly)
42   ADD_TEST_MACRO(NewlineArgs NewlineArgs)
43   ADD_TEST_MACRO(SetLang SetLang)
44   ADD_TEST_MACRO(ExternalOBJ ExternalOBJ)
45   ADD_TEST_MACRO(LoadCommand LoadedCommand)
46   ADD_TEST_MACRO(LinkLine LinkLine)
47   ADD_TEST_MACRO(MacroTest miniMacroTest)
48   ADD_TEST_MACRO(FunctionTest miniFunctionTest)
49   ADD_TEST_MACRO(ReturnTest ReturnTest)
50   ADD_TEST_MACRO(Properties Properties)
51   ADD_TEST_MACRO(Assembler HelloAsm)
52   ADD_TEST_MACRO(SourceGroups SourceGroups)
53   ADD_TEST_MACRO(Preprocess Preprocess)
54   ADD_TEST_MACRO(ExportImport ExportImport)
56   # test for correct sub-project generation
57   # not implemented in VS6 or Xcode
58   IF(NOT MSVC60 AND NOT XCODE AND NOT MSVC70)
59     # run cmake and configure all of SubProject
60     # but only build the independent executable car
61     ADD_TEST(SubProject ${CMAKE_CTEST_COMMAND}
62       --build-and-test
63       "${CMake_SOURCE_DIR}/Tests/SubProject"
64       "${CMake_BINARY_DIR}/Tests/SubProject"
65       --build-project SubProject
66       --build-generator ${CMAKE_TEST_GENERATOR}
67       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
68       --build-target car
69       --test-command car
70       )
71     # For stage 2, do not run cmake again.
72     # Then build the foo sub project which should build
73     # the bar library which should be referenced because
74     # foo links to the static library bar, but bar is not
75     # directly in the foo sub project
76     ADD_TEST(SubProject-Stage2  ${CMAKE_CTEST_COMMAND}
77       --build-and-test
78       "${CMake_SOURCE_DIR}/Tests/SubProject/foo"
79       "${CMake_BINARY_DIR}/Tests/SubProject/foo" 
80       --build-generator ${CMAKE_TEST_GENERATOR}
81       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
82       --build-nocmake 
83       --build-project foo
84       --build-target foo
85       --test-command foo
86       )
87   ENDIF(NOT MSVC60 AND NOT XCODE AND NOT MSVC70)
89   IF (CMAKE_STRICT)
90     ADD_TEST_MACRO(DocTest DocTest)
91   ENDIF (CMAKE_STRICT)
92     
93   IF(CMAKE_BUILD_NIGHTLY_WINDOWS_TEST)
94     FILE(MAKE_DIRECTORY "${CMake_BINARY_DIR}/Tests/CMake-CVS")
95     FILE(WRITE "${CMake_BINARY_DIR}/Tests/CMake-CVS/nightly-cmake.sh"
96 "cd ${CMake_BINARY_DIR}/Tests/CMake-CVS
97 ${CMake_BINARY_DIR}/bin/cmake -DCMAKE_VERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Release/vogon_release.cmake
98 ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Release/upload_release.cmake
100     ADD_TEST(NightlyCMakeBuild 
101       /bin/sh ${CMake_BINARY_DIR}/Tests/CMake-CVS/nightly-cmake.sh)
102     IF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
103       SET_TESTS_PROPERTIES ( NightlyCMakeBuild PROPERTIES TIMEOUT 3500)
104     ENDIF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
105   ENDIF(CMAKE_BUILD_NIGHTLY_WINDOWS_TEST)
108   # add tests with more complex invocations
109   ADD_TEST(Framework ${CMAKE_CTEST_COMMAND}
110     --build-and-test
111     "${CMake_SOURCE_DIR}/Tests/Framework"
112     "${CMake_BINARY_DIR}/Tests/Framework"
113     --build-two-config
114     --build-generator ${CMAKE_TEST_GENERATOR}
115     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
116     --build-project Framework
117     --build-options
118     "-DCMAKE_INSTALL_PREFIX:PATH=${CMake_BINARY_DIR}/Tests/Framework/Install"
119     --test-command bar)
121   ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}
122     --build-and-test
123     "${CMake_SOURCE_DIR}/Tests/TargetName"
124     "${CMake_BINARY_DIR}/Tests/TargetName"
125     --build-two-config
126     --build-generator ${CMAKE_TEST_GENERATOR}
127     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
128     --build-project TargetName
129     --test-command ${CMAKE_CMAKE_COMMAND} -E compare_files 
130     ${CMake_SOURCE_DIR}/Tests/TargetName/scripts/hello_world
131     ${CMake_BINARY_DIR}/Tests/TargetName/scripts/hello_world)
133   ADD_TEST(LibName ${CMAKE_CTEST_COMMAND}
134     --build-and-test
135     "${CMake_SOURCE_DIR}/Tests/LibName"
136     "${CMake_BINARY_DIR}/Tests/LibName"
137     --build-two-config
138     --build-generator ${CMAKE_TEST_GENERATOR}
139     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
140     --build-project LibName 
141     --build-exe-dir "${CMake_BINARY_DIR}/Tests/LibName/lib"
142     --test-command foobar
143     )
145   ADD_TEST(CustComDepend ${CMAKE_CTEST_COMMAND}
146     --build-and-test
147     "${CMake_SOURCE_DIR}/Tests/CustComDepend"
148     "${CMake_BINARY_DIR}/Tests/CustComDepend"
149     --build-two-config
150     --build-generator ${CMAKE_TEST_GENERATOR}
151     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
152     --build-project CustComDepend 
153     --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustComDepend/bin"
154     --test-command foo bar.c
155     )
157   ADD_TEST(CustomCommand  ${CMAKE_CTEST_COMMAND}
158     --build-and-test
159     "${CMake_SOURCE_DIR}/Tests/CustomCommand"
160     "${CMake_BINARY_DIR}/Tests/CustomCommand"
161     --build-two-config
162     --build-generator ${CMAKE_TEST_GENERATOR}
163     --build-project CustomCommand
164     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
165     --build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
166     --test-command CustomCommand
167     )
169   ADD_TEST(CustomCommandWorkingDirectory  ${CMAKE_CTEST_COMMAND}
170     --build-and-test
171     "${CMake_SOURCE_DIR}/Tests/CustomCommandWorkingDirectory"
172     "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
173     --build-two-config
174     --build-generator ${CMAKE_TEST_GENERATOR}
175     --build-project TestWorkingDir
176     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
177     --test-command working
178     )
180    #ADD_TEST(SimpleExclude ${CMAKE_CTEST_COMMAND}
181    #  --build-and-test
182    #  "${CMake_SOURCE_DIR}/Tests/SimpleExclude"
183    #  "${CMake_BINARY_DIR}/Tests/SimpleExclude"
184    #  --build-generator ${CMAKE_TEST_GENERATOR}
185    #  --build-project SimpleExclude
186    #  --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
187    #  --build-two-config
188    #  --test-command t4
189    #--test-command "${CMAKE_COMMAND}"
190    #"-DCONFIGURATION=\${CTEST_CONFIGURATION_TYPE}"
191    #-P "${CMAKE_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
192    #)
194 #  ADD_TEST(SameName  ${CMAKE_CTEST_COMMAND}
195 #    --build-and-test
196 #    "${CMake_SOURCE_DIR}/Tests/SameName"
197 #    "${CMake_BINARY_DIR}/Tests/SameName"
198 #    --build-generator ${CMAKE_TEST_GENERATOR}
199 #    --build-project SameName
200 #    --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
201 #    --build-two-config
202 #    --test-command
203 #    "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
205   ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
206     --build-and-test
207     "${CMake_SOURCE_DIR}/Tests/OutOfSource"
208     "${CMake_BINARY_DIR}/Tests/OutOfSource"
209     --build-generator ${CMAKE_TEST_GENERATOR}
210     --build-project OutOfSource
211     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
212     --build-two-config
213     --test-command
214     "${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
216   ADD_TEST(BuildDepends ${CMAKE_CTEST_COMMAND}
217     --build-and-test
218     "${CMake_SOURCE_DIR}/Tests/BuildDepends"
219     "${CMake_BINARY_DIR}/Tests/BuildDepends"
220     --build-generator ${CMAKE_TEST_GENERATOR}
221     --build-project BuildDepends
222     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
223     )
224   
225   SET(SimpleInstallInstallDir
226     "${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
227   ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
228     --build-and-test
229     "${CMake_SOURCE_DIR}/Tests/SimpleInstall"
230     "${CMake_BINARY_DIR}/Tests/SimpleInstall"
231     --build-generator ${CMAKE_TEST_GENERATOR}
232     --build-project TestSimpleInstall
233     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
234     --build-two-config
235     --build-options
236     "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
237     --test-command   ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstExe)
238   ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
239     --build-and-test
240     "${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
241     "${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
242     --build-generator ${CMAKE_TEST_GENERATOR}
243     --build-project TestSimpleInstall
244     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
245     --build-two-config
246     --build-options
247     "-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
248     "-DSTAGE2:BOOL=1"
249     --test-command   ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstExeS2)
251   ADD_TEST(X11  ${CMAKE_CTEST_COMMAND}
252     --build-and-test
253     "${CMake_SOURCE_DIR}/Tests/X11"
254     "${CMake_BINARY_DIR}/Tests/X11"
255     --build-generator ${CMAKE_TEST_GENERATOR}
256     --build-project UseX11
257     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
258     --build-two-config
259     --test-command  UseX11)
261   ADD_TEST(LoadedCommandOneConfig  ${CMAKE_CTEST_COMMAND}
262     --build-and-test
263     "${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
264     "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
265     --build-generator ${CMAKE_TEST_GENERATOR}
266     --build-project LoadCommand
267     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
268     --test-command  LoadedCommand
269     )
271   # Como does not seem to support shared libraries.
272   GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
273   IF(CMAKE_BASE_NAME MATCHES "^como$")
274     SET(COMPILER_IS_COMO 1)
275   ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
276   IF(NOT COMPILER_IS_COMO)
277     ADD_TEST(complex  ${CMAKE_CTEST_COMMAND}
278       --build-and-test
279       "${CMake_SOURCE_DIR}/Tests/Complex"
280       "${CMake_BINARY_DIR}/Tests/Complex"
281       --build-two-config
282       --build-config-sample "${CMAKE_CTEST_COMMAND}"
283       --build-generator ${CMAKE_TEST_GENERATOR}
284       --build-project Complex
285       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
286       --build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
287       --build-options
288       -DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
289       -DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
290       --test-command complex
291       )
293     ADD_TEST(complexOneConfig  ${CMAKE_CTEST_COMMAND}
294       --build-and-test
295       "${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
296       "${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
297       --build-generator ${CMAKE_TEST_GENERATOR}
298       --build-project Complex
299       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
300       --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
301       --build-options
302       -DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
303       -DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
304       --test-command complex)
306 # This fails on VS 70
307 # works on Xcode and makefiles
308 #      ADD_TEST(ConvLibrary ${CMAKE_CTEST_COMMAND}
309 #        --build-and-test
310 #        "${CMake_SOURCE_DIR}/Tests/ConvLibrary"
311 #        "${CMake_BINARY_DIR}/Tests/ConvLibrary"
312 #        --build-two-config
313 #        --build-generator ${CMAKE_TEST_GENERATOR}
314 #        --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
315 #        --build-project ConvLibrary
316 #        --test-command bartest)
319 #    ADD_TEST(complexRelativePaths  ${CMAKE_CTEST_COMMAND}
320 #      --build-and-test
321 #      "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
322 #      "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
323 #      --build-generator ${CMAKE_TEST_GENERATOR}
324 #      --build-project complex
325 #      --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
326 #      --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
327 #      --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
328 #      --test-command complex)
330   ENDIF(NOT COMPILER_IS_COMO)
332   ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
333     --build-and-test
334     "${CMake_SOURCE_DIR}/Example"
335     "${CMake_BINARY_DIR}/Example"
336     --build-generator ${CMAKE_TEST_GENERATOR}
337     --build-project HELLO
338     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
339     --build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
340     --test-command helloDemo
341     )
343   # do each of the tutorial steps
344   FOREACH(STP RANGE 1 7)
345     ADD_TEST(TutorialStep${STP} ${CMAKE_CTEST_COMMAND}
346       --build-and-test
347       "${CMake_SOURCE_DIR}/Tests/Tutorial/Step${STP}"
348       "${CMake_BINARY_DIR}/Tests/Tutorial/Step${STP}"
349       --build-two-config
350       --build-generator ${CMAKE_TEST_GENERATOR}
351       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
352       --build-project Tutorial
353       --test-command Tutorial 25.0)
354   ENDFOREACH(STP)
356   ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
357     --build-and-test
358     "${CMake_SOURCE_DIR}/Tests/Testing"
359     "${CMake_BINARY_DIR}/Tests/Testing"
360     --build-generator ${CMAKE_TEST_GENERATOR}
361     --build-project Testing
362     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
363     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
364     --test-command testing
365     )
367   ADD_TEST(wrapping  ${CMAKE_CTEST_COMMAND}
368     --build-and-test
369     "${CMake_SOURCE_DIR}/Tests/Wrapping"
370     "${CMake_BINARY_DIR}/Tests/Wrapping"
371     --build-generator ${CMAKE_TEST_GENERATOR}
372     --build-project Wrapping
373     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
374     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
375     --test-command wrapping
376     )
377   ADD_TEST(qtwrapping  ${CMAKE_CTEST_COMMAND}
378     --build-and-test
379     "${CMake_SOURCE_DIR}/Tests/Wrapping"
380     "${CMake_BINARY_DIR}/Tests/Wrapping"
381     --build-generator ${CMAKE_TEST_GENERATOR}
382     --build-project Wrapping
383     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
384     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
385       --test-command qtwrapping
386       )
388   ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
389     --build-and-test
390     "${CMake_SOURCE_DIR}/Tests/TestDriver"
391     "${CMake_BINARY_DIR}/Tests/TestDriver"
392     --build-generator ${CMAKE_TEST_GENERATOR}
393     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
394     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
395     --build-project TestDriverTest
396     --test-command TestDriverTest test1
397     )
399   ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
400     --build-and-test
401     "${CMake_SOURCE_DIR}/Tests/TestDriver"
402     "${CMake_BINARY_DIR}/Tests/TestDriver"
403     --build-generator ${CMAKE_TEST_GENERATOR}
404     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
405     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
406     --build-project TestDriverTest
407     --test-command TestDriverTest test2
408     )
410   ADD_TEST(testdriver3  ${CMAKE_CTEST_COMMAND}
411     --build-and-test
412     "${CMake_SOURCE_DIR}/Tests/TestDriver"
413     "${CMake_BINARY_DIR}/Tests/TestDriver"
414     --build-generator ${CMAKE_TEST_GENERATOR}
415     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
416     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
417     --build-project TestDriverTest
418     --test-command TestDriverTest subdir/test3
419     )
421   ADD_TEST(dependency_w_libout  ${CMAKE_CTEST_COMMAND}
422     --build-and-test
423     "${CMake_SOURCE_DIR}/Tests/Dependency"
424     "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
425     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
426     --build-project Dependency
427     --build-generator ${CMAKE_TEST_GENERATOR}
428     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
429     --build-options
430     -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
431     --test-command exec
432     )
434   ADD_TEST(dependency_wo_lib_out   ${CMAKE_CTEST_COMMAND}
435     --build-and-test
436     "${CMake_SOURCE_DIR}/Tests/Dependency"
437     "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
438     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
439     --build-generator ${CMAKE_TEST_GENERATOR}
440     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
441     --build-project Dependency
442     --test-command exec
443     )
445   ADD_TEST(dependency2  ${CMAKE_CTEST_COMMAND}
446     --build-and-test
447     "${CMake_SOURCE_DIR}/Tests/Dependency"
448     "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
449     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
450     --build-generator ${CMAKE_TEST_GENERATOR}
451     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
452     --build-project Dependency
453     --build-options
454     -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
455     --test-command exec2
456     )
458   ADD_TEST(dependency3  ${CMAKE_CTEST_COMMAND}
459     --build-and-test
460     "${CMake_SOURCE_DIR}/Tests/Dependency"
461     "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
462     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
463     --build-generator ${CMAKE_TEST_GENERATOR}
464     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
465     --build-project Dependency
466     --build-options
467     -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
468     --test-command exec3)
470   ADD_TEST(dependency4   ${CMAKE_CTEST_COMMAND}
471     --build-and-test
472     "${CMake_SOURCE_DIR}/Tests/Dependency"
473     "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
474     --build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
475     --build-generator ${CMAKE_TEST_GENERATOR}
476     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
477     --build-project Dependency
478     --build-options
479     -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
480     --test-command exec4
481     )
483   IF("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
485 # RPATH isn't supported under Syllable, so the tests don't
486 # find their libraries. In order to fix that LIBRARY_OUTPUT_DIR
487 # in the tests would have to be adjusted to ${EXECUTABLE_OUTPUT_DIR}/lib .
488 # For now we just require on Syllable that the user adjusts the DLL_PATH 
489 # environment variable, so except the two tests below all other tests will succeed.
491     SET(_DLL_PATH "$ENV{DLL_PATH}")
492     IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$")
493       MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/.\" to the DLL_PATH environment variable")
494     ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$")
495     IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$")
496       MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/../lib\" to the DLL_PATH environment variable")
497     ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$")
499   ELSE("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
501     ADD_TEST(JumpWithLibOut  ${CMAKE_CTEST_COMMAND}
502       --build-and-test
503       "${CMake_SOURCE_DIR}/Tests/Jump"
504       "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
505       --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
506       --build-project Jump
507       --build-generator ${CMAKE_TEST_GENERATOR}
508       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
509       --build-options
510       -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
511       --test-command jumpExecutable
512       )
514     ADD_TEST(JumpNoLibOut  ${CMAKE_CTEST_COMMAND}
515       --build-and-test
516       "${CMake_SOURCE_DIR}/Tests/Jump"
517       "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
518       --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
519       --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
520       --build-project Jump
521       --build-generator ${CMAKE_TEST_GENERATOR}
522       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
523       --test-command jumpExecutable
524       )
526     ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND}
527       --build-and-test
528       "${CMake_SOURCE_DIR}/Tests/Plugin"
529       "${CMake_BINARY_DIR}/Tests/Plugin"
530       --build-generator ${CMAKE_TEST_GENERATOR}
531       --build-project Plugin
532       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
533       --build-two-config
534       --test-command bin/example)
536     IF(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
537       ADD_TEST_MACRO(RuntimePath RuntimePath)
538     ENDIF(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
539   ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
541   ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
542     --build-and-test
543     "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
544     "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
545     --build-generator ${CMAKE_TEST_GENERATOR}
546     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
547     --build-project LinkLineOrder
548     --test-command Exec1
549     )
551   ADD_TEST(linkorder2  ${CMAKE_CTEST_COMMAND}
552     --build-and-test
553     "${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
554     "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
555     --build-generator ${CMAKE_TEST_GENERATOR}
556     --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
557     --build-project LinkLineOrder
558     --test-command Exec2
559     )
561   IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
562     ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
563       --build-and-test
564       "${CMake_SOURCE_DIR}/Source/kwsys"
565       "${CMake_BINARY_DIR}/Tests/kwsys"
566       --build-generator ${CMAKE_TEST_GENERATOR}
567       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
568       --build-project kwsys
569       --test-command kwsysTestsCxx testIOS
570       )
571   ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
572   SET(MAKE_IS_GNU )
573   IF(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
574     EXEC_PROGRAM(
575       ${CMAKE_TEST_MAKEPROGRAM} ARGS no_such_target --version
576       RETURN_VALUE res OUTPUT_VARIABLE out
577       )
578     IF("${res}" EQUAL 0)
579       IF("${out}" MATCHES "GNU")
580         SET(MAKE_IS_GNU 1)
581       ENDIF("${out}" MATCHES "GNU")
582     ENDIF("${res}" EQUAL 0)
583   ENDIF(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
585   # only add this test on platforms that support it
586   # some old versions of make simply cannot handle spaces in paths
587   IF (MAKE_IS_GNU OR 
588       "${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
589       "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
590     ADD_TEST(SubDirSpaces ${CMAKE_CTEST_COMMAND}
591       --build-and-test
592       "${CMake_SOURCE_DIR}/Tests/SubDirSpaces"
593       "${CMake_BINARY_DIR}/Tests/SubDirSpaces"
594       --build-exe-dir 
595       "${CMake_BINARY_DIR}/Tests/SubDirSpaces/Executable Sources"
596       --build-generator ${CMAKE_TEST_GENERATOR}
597       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
598       --build-project SUBDIR
599       --test-command test
600       "${CMake_BINARY_DIR}/Tests/SubDirSpaces/ShouldBeHere"
601       "${CMake_BINARY_DIR}/Tests/SubDirSpaces/testfromsubdir.obj"
602       )
603   ENDIF (MAKE_IS_GNU OR
604     "${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
605     "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
607   IF (WIN32)
608     ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
609       --build-and-test
610       "${CMake_SOURCE_DIR}/Tests/SubDir"
611       "${CMake_BINARY_DIR}/Tests/SubDir"
612       --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
613       --build-generator ${CMAKE_TEST_GENERATOR}
614       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
615       --build-project SUBDIR
616       --test-command test
617       "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
618       "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
619       )
620   ELSE (WIN32)
621     ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
622       --build-and-test
623       "${CMake_SOURCE_DIR}/Tests/SubDir"
624       "${CMake_BINARY_DIR}/Tests/SubDir"
625       --build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
626       --build-generator ${CMAKE_TEST_GENERATOR}
627       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
628       --build-project SUBDIR
629       --test-command test
630       "${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
631       "${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
632       )
633   ENDIF (WIN32)
635   IF(CMAKE_TEST_MSVC)
636     ADD_TEST_MACRO(PrecompiledHeader foo)
637   ENDIF(CMAKE_TEST_MSVC)
639   IF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
640     ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
641       --build-and-test
642       "${CMake_SOURCE_DIR}/Tests/MakeClean"
643       "${CMake_BINARY_DIR}/Tests/MakeClean"
644       --build-generator ${CMAKE_TEST_GENERATOR}
645       --build-project MakeClean
646       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
647       --build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
648       --test-command check_clean
649       )
650   ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
652   IF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
653     ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
654       --build-and-test
655       "${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
656       "${CMake_BINARY_DIR}/Tests/VSExternalInclude"
657       --build-two-config
658       --build-generator ${CMAKE_TEST_GENERATOR}
659       --build-project VSExternalInclude
660       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
661       --test-command VSExternalInclude)
662   ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
664   IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
665     SET(BundleTestInstallDir
666       "${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
667     ADD_TEST(BundleTest ${CMAKE_CTEST_COMMAND}
668       --build-and-test
669       "${CMake_SOURCE_DIR}/Tests/BundleTest"
670       "${CMake_BINARY_DIR}/Tests/BundleTest"
671       --build-two-config
672       --build-generator ${CMAKE_TEST_GENERATOR}
673       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
674       --build-project BundleTest
675       --build-target install
676 #     --build-target package
677       --build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
678        "-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
679       --test-command
680       ${BundleTestInstallDir}/Applications/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
682     ADD_TEST_MACRO(ObjC++ ObjC++)
683   ENDIF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
685   IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
686     CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
687       "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
688     ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
689       -S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
690       --output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
691       )
692     CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
693       "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
694     ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
695       -S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
696       --output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
697       )
698     CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest3/test.cmake.in"
699       "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" @ONLY ESCAPE_QUOTES)
700     ADD_TEST(CTestTest3 ${CMAKE_CTEST_COMMAND}
701       -S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
702       --output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
703       )
704     # these tests take a long time, make sure they have it
705     IF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
706       # if timeouts have not already been set
707       GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
708       IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
709         SET_TESTS_PROPERTIES ( CTestTest PROPERTIES TIMEOUT 1500)
710       ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
712       GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
713       IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
714         SET_TESTS_PROPERTIES ( CTestTest2 PROPERTIES TIMEOUT 1500)
715       ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
717       GET_TEST_PROPERTY(CTestTest3 TIMEOUT PREVIOUS_TIMEOUT)
718       IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
719         SET_TESTS_PROPERTIES ( CTestTest3 PROPERTIES TIMEOUT 1500)
720       ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
721     ENDIF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
722   ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
723   
724   IF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
725     SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
726   ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
727   IF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
728     # If there is CMakeLists.txt in the binary tree, assume in-source build
729     SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
730   ENDIF(EXISTS "${CMAKE_BINARY_DIR}/CMakeLists.txt")
731   IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
734     ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
735       --build-and-test
736       ${CMake_SOURCE_DIR}
737       ${CMake_BINARY_DIR}/Tests/BootstrapTest
738       --build-nocmake
739       --build-noclean
740       --build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
741       --build-generator "${CMAKE_TEST_GENERATOR}"
742       --test-command 
743       ${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
745     # provide more time for the bootstrap test
746     IF (COMMAND GET_TEST_PROPERTY)
747       GET_TEST_PROPERTY(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
748       IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
749         SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
750       ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
751     ENDIF (COMMAND GET_TEST_PROPERTY)
752       
753   ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
755   # fortran does not work for IDE builds because
756   # CMAKE_STANDARD_LIBRARIES needs to be per language
757   IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles"
758      OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
759     # see if we can find a fortran compiler on the machine
760     # if so, add the fortran test and see if it works.
761     SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
762       lf95 xlf95 fort gfortran f90  pgf90   xlf90
763       epcf90 f77  fort77 frt pgf77  xlf  fl32 af77 g77  )
764     FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES 
765       ${CMAKE_Fortran_COMPILER_LIST} )
766     MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
767     IF(CMAKE_Fortran_COMPILER_FULLPATH)
768       ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
769         --build-and-test
770         "${CMake_SOURCE_DIR}/Tests/Fortran"
771         "${CMake_BINARY_DIR}/Tests/Fortran"
772         --build-generator ${CMAKE_TEST_GENERATOR}
773         --build-project testf
774         --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
775         --build-two-config
776         --test-command testf)
777     ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
778   ENDIF(CMAKE_TEST_GENERATOR MATCHES "Makefiles"
779      OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
781   IF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
782     INCLUDE(FindJava)
783     IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
784       GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
785       FIND_FILE(JNI_H jni.h
786         "${JNIPATH}/../include"
787         "${JNIPATH}/../java/include")
788       IF(JNI_H)
789         FILE(READ "${JNI_H}" JNI_FILE)
790         IF("${JNI_FILE}" MATCHES "JDK1_2")
791           ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
792             --build-and-test
793             "${CMake_SOURCE_DIR}/Tests/Java"
794             "${CMake_BINARY_DIR}/Tests/Java"
795             --build-generator ${CMAKE_TEST_GENERATOR}
796             --build-project hello
797             --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
798             --build-two-config
799             --build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
800             --test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
801         ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
802       ENDIF(JNI_H)
803     ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
804   ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
806   # add some cross compiler tests, for now only with makefile based generators
807   IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
809     # if sdcc is found, build the SimpleCOnly project with sdcc
810     FIND_PROGRAM(SDCC_EXECUTABLE sdcc)
811     MARK_AS_ADVANCED(SDCC_EXECUTABLE)
812     IF(SDCC_EXECUTABLE)
813       ADD_TEST(SimpleCOnly_sdcc ${CMAKE_CTEST_COMMAND}
814         --build-and-test
815         "${CMake_SOURCE_DIR}/Tests/SimpleCOnly"
816         "${CMake_BINARY_DIR}/Tests/SimpleCOnly_sdcc"
817         --build-generator ${CMAKE_TEST_GENERATOR}
818         --build-project SimpleC
819         --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
820         --build-options
821         "-DCMAKE_SYSTEM_NAME=Generic"
822         "-DCMAKE_C_COMPILER=${SDCC_EXECUTABLE}")
823     ENDIF(SDCC_EXECUTABLE)
824     
825     
826     FIND_PROGRAM(MINGW_CC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-gcc)
827     FIND_PROGRAM(MINGW_CXX_LINUX2WIN_EXECUTABLE i586-mingw32msvc-g++)
828     MARK_AS_ADVANCED(MINGW_CC_LINUX2WIN_EXECUTABLE MINGW_CXX_LINUX2WIN_EXECUTABLE)
829     IF(MINGW_CC_LINUX2WIN_EXECUTABLE  AND  MINGW_CXX_LINUX2WIN_EXECUTABLE)
830       ADD_TEST(Simple_Mingw_Linux2Win ${CMAKE_CTEST_COMMAND}
831         --build-and-test
832         "${CMake_SOURCE_DIR}/Tests/Simple"
833         "${CMake_BINARY_DIR}/Tests/Simple_Mingw_Linux2Win"
834         --build-generator ${CMAKE_TEST_GENERATOR}
835         --build-project Simple
836         --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
837         --build-options
838         "-DCMAKE_SYSTEM_NAME=Windows"
839         "-DCMAKE_C_COMPILER=${MINGW_CC_LINUX2WIN_EXECUTABLE}"
840         "-DCMAKE_CXX_COMPILER=${MINGW_CXX_LINUX2WIN_EXECUTABLE}")
841     ENDIF(MINGW_CC_LINUX2WIN_EXECUTABLE  AND  MINGW_CXX_LINUX2WIN_EXECUTABLE)
842     
843     
844   ENDIF(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
846   IF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
847     # Will be set if the WX gui is on
848     ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
849       --build-and-test
850       "${CMake_SOURCE_DIR}/Tests/UseWX"
851       "${CMake_BINARY_DIR}/Tests/UseWX"
852       --build-generator ${CMAKE_TEST_GENERATOR}
853       --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
854       --build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
855       --build-project UsewxWidgets
856       --build-options -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets_CONFIG_EXECUTABLE}
857       --test-command UseWX
858       )
859   ENDIF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
861   IF(UNIX)
862     STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
863       PREFIX_IS_FOR_TEST)
864     IF(PREFIX_IS_FOR_TEST)
865       CONFIGURE_FILE(
866         ${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
867         ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
868         @ONLY IMMEDIATE
869         )
870       ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
871     ENDIF(PREFIX_IS_FOR_TEST)
872   ENDIF(UNIX)
874   IF(CMAKE_TEST_PLPLOT_DIR)
875     ADD_TEST(plplot ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_PLPLOT_DIR}/../../EasyDashboardScripts/plplot.cmake )
876     SET_TESTS_PROPERTIES ( plplot PROPERTIES TIMEOUT 5400)
877   ENDIF(CMAKE_TEST_PLPLOT_DIR)
879   IF(CMAKE_TEST_CHICKEN_DIR)
880     ADD_TEST(Chicken ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_CHICKEN_DIR}/../../EasyDashboardScripts/Chicken.cmake )
881     SET_TESTS_PROPERTIES ( Chicken PROPERTIES TIMEOUT 5400)
882   ENDIF(CMAKE_TEST_CHICKEN_DIR)
884   IF(CMAKE_TEST_KDELIBS_ALPHA_1_DIR)
885     ADD_TEST(KDELibsAlpha1 ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_KDELIBS_ALPHA_1_DIR}/../../EasyDashboardScripts/kdelibs.cmake )
886     SET_TESTS_PROPERTIES ( KDELibsAlpha1 PROPERTIES TIMEOUT 5400)
887   ENDIF(CMAKE_TEST_KDELIBS_ALPHA_1_DIR)
889 ENDIF(BUILD_TESTING)
891 SUBDIRS(CMakeTests)