# a macro for tests that have a simple format where the name matches the
# directory and project
MACRO ( ADD_TEST_MACRO NAME COMMAND )
STRING ( REPLACE "." "/" dir "${NAME}" )
STRING ( REGEX REPLACE "[^.]*\\." "" proj "${NAME}" )
ADD_TEST ( ${ NAME } ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / $ { d i r } "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / $ { d i r } "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t $ { p r o j }
$ { $ { N A M E } _ E X T R A _ O P T I O N S }
- - t e s t - c o m m a n d $ { C O M M A N D } $ { A R G N } )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${dir}" )
ENDMACRO ( ADD_TEST_MACRO )
# Fake a user home directory to avoid polluting the real one.
IF ( DEFINED ENV{HOME} AND NOT CTEST_NO_TEST_HOME )
SET ( TEST_HOME "${CMake_BINARY_DIR}/Tests/CMakeFiles/TestHome" )
FILE ( MAKE_DIRECTORY "${TEST_HOME}" )
FILE ( WRITE "${TEST_HOME}/.cvspass" ":pserver:anoncvs@www.cmake.org:/cvsroot/KWSys A\n" )
SET ( TEST_HOME_ENV_CODE " # Fake a user home directory to avoid polluting the real one.
# But provide original ENV{HOME} value in ENV{CTEST_REAL_HOME} for tests that
# need access to the real HOME directory.
SET ( ENV{CTEST_REAL_HOME} \"\$ENV{HOME}\")
SET ( ENV{HOME} \"${TEST_HOME}\")
" )
ENDIF ( )
# Choose a default configuration for CTest tests.
SET ( CTestTest_CONFIG Debug )
IF ( NOT CMAKE_CONFIGURATION_TYPES AND CMAKE_BUILD_TYPE )
SET ( CTestTest_CONFIG ${ CMAKE_BUILD_TYPE } )
ENDIF ( )
CONFIGURE_FILE ( ${ CMake_SOURCE_DIR } /Tests/EnforceConfig.cmake.in
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / E n f o r c e C o n f i g . c m a k e @ O N L Y )
# Testing
IF ( BUILD_TESTING )
IF ( "${CMAKE_TEST_GENERATOR}" MATCHES "Unix Makefiles" )
SET ( TEST_CompileCommandOutput 1 )
ENDIF ( )
ADD_SUBDIRECTORY ( CMakeLib )
# Collect a list of all test build directories.
SET ( TEST_BUILD_DIRS )
# Should the long tests be run?
OPTION ( CMAKE_RUN_LONG_TESTS
" S h o u l d t h e l o n g t e s t s b e run ( such as Bootstrap ) . " O N )
MARK_AS_ADVANCED ( CMAKE_RUN_LONG_TESTS )
IF ( CMAKE_RUN_LONG_TESTS )
OPTION ( CTEST_TEST_CTEST
" S h o u l d t h e t e s t s t h a t r u n a f u l l s u b c t e s t p r o c e s s b e r u n ? "
O F F )
MARK_AS_ADVANCED ( CTEST_TEST_CTEST )
OPTION ( TEST_KDE4_STABLE_BRANCH
" S h o u l d t h e K D E 4 s t a b l e b r a n c h t e s t b e r u n ? "
O F F )
MARK_AS_ADVANCED ( TEST_KDE4_STABLE_BRANCH )
ENDIF ( CMAKE_RUN_LONG_TESTS )
# Should tests that use CVS be run?
#
set ( do_cvs_tests 0 )
if ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
find_package ( CVS QUIET )
else ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
find_program ( CVS_EXECUTABLE NAMES cvs )
endif ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
if ( CVS_EXECUTABLE )
set ( do_cvs_tests 1 )
endif ( CVS_EXECUTABLE )
if ( do_cvs_tests AND NOT UNIX )
if ( "${CVS_EXECUTABLE}" MATCHES "cygwin" )
set ( do_cvs_tests 0 )
endif ( "${CVS_EXECUTABLE}" MATCHES "cygwin" )
endif ( do_cvs_tests AND NOT UNIX )
# Should CPack tests be run? By default, yes, but...
#
# Disable packaging test on Apple 10.3 and below. PackageMaker starts
# DiskManagementTool as root and disowns it
# (http://lists.apple.com/archives/installer-dev/2005/Jul/msg00005.html).
# It is left holding open pipe handles and preventing ProcessUNIX from
# detecting end-of-data even after its immediate child exits. Then
# the test hangs until it times out and is killed. This is a
# well-known bug in kwsys process execution that I would love to get
# time to fix.
#
OPTION ( CTEST_TEST_CPACK
" S h o u l d t h e t e s t s t h a t u s e ' - - b u i l d - t a r g e t p a c k a g e ' b e r u n ? "
O N )
MARK_AS_ADVANCED ( CTEST_TEST_CPACK )
SET ( CTEST_TEST_OSX_ARCH 0 )
IF ( APPLE )
EXECUTE_PROCESS (
C O M M A N D s w _ v e r s - p r o d u c t V e r s i o n
O U T P U T _ V A R I A B L E O S X _ V E R S I O N
O U T P U T _ S T R I P _ T R A I L I N G _ W H I T E S P A C E
)
IF ( OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]" )
MESSAGE ( STATUS "Forcing CTEST_TEST_CPACK=OFF on OSX < 10.4" )
MESSAGE ( STATUS "OSX_VERSION='${OSX_VERSION}'" )
SET ( CTEST_TEST_CPACK OFF )
ELSE ( OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]" )
SET ( CTEST_TEST_OSX_ARCH 1 )
ENDIF ( OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]" )
ENDIF ( APPLE )
# Use 1500 or CTEST_TEST_TIMEOUT for long test timeout value,
# whichever is greater.
SET ( CMAKE_LONG_TEST_TIMEOUT 1500 )
IF ( CTEST_TEST_TIMEOUT )
SET ( CMAKE_LONG_TEST_TIMEOUT ${ CTEST_TEST_TIMEOUT } )
ENDIF ( CTEST_TEST_TIMEOUT )
IF ( CMAKE_LONG_TEST_TIMEOUT LESS 1500 )
SET ( CMAKE_LONG_TEST_TIMEOUT 1500 )
ENDIF ( CMAKE_LONG_TEST_TIMEOUT LESS 1500 )
# add a bunch of standard build-and-test style tests
ADD_TEST_MACRO ( CommandLineTest CommandLineTest )
ADD_TEST_MACRO ( FindPackageTest FindPackageTest )
ADD_TEST_MACRO ( FindModulesExecuteAll FindModulesExecuteAll )
ADD_TEST_MACRO ( StringFileTest StringFileTest )
ADD_TEST_MACRO ( TryCompile TryCompile )
ADD_TEST_MACRO ( TarTest TarTest )
ADD_TEST_MACRO ( SystemInformation SystemInformation )
ADD_TEST_MACRO ( MathTest MathTest )
# assume no resources building to test
SET ( TEST_RESOURCES FALSE )
# for windows and cygwin assume we have resources
IF ( WIN32 OR CYGWIN )
SET ( TEST_RESOURCES TRUE )
ENDIF ( )
# for borland and watcom there is no resource support
IF ( "${CMAKE_TEST_GENERATOR}" MATCHES "WMake" OR
" $ { C M A K E _ T E S T _ G E N E R A T O R } " M A T C H E S " B o r l a n d " )
SET ( TEST_RESOURCES FALSE )
ENDIF ( )
IF ( TEST_RESOURCES )
ADD_TEST_MACRO ( VSResource VSResource )
ENDIF ( )
ADD_TEST_MACRO ( Simple Simple )
ADD_TEST_MACRO ( PreOrder PreOrder )
ADD_TEST_MACRO ( MissingSourceFile MissingSourceFile )
SET_TESTS_PROPERTIES ( MissingSourceFile PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " C M a k e E r r o r a t C M a k e L i s t s . t x t : 3 \ \ ( a d d _ e x e c u t a b l e \ \ ) : [ \ r \ n ] * C a n n o t f i n d s o u r c e f i l e : [ \ r \ n ] * D o e s N o t E x i s t / M i s s i n g S o u r c e F i l e . c " )
ADD_TEST_MACRO ( COnly COnly )
ADD_TEST_MACRO ( CxxOnly CxxOnly )
ADD_TEST_MACRO ( IPO COnly/COnly )
ADD_TEST_MACRO ( OutDir runtime/OutDir )
ADD_TEST_MACRO ( NewlineArgs NewlineArgs )
ADD_TEST_MACRO ( SetLang SetLang )
ADD_TEST_MACRO ( ExternalOBJ ExternalOBJ )
ADD_TEST_MACRO ( LoadCommand LoadedCommand )
ADD_TEST_MACRO ( LinkDirectory bin/LinkDirectory )
ADD_TEST_MACRO ( LinkLanguage LinkLanguage )
ADD_TEST_MACRO ( LinkLine LinkLine )
ADD_TEST_MACRO ( MacroTest miniMacroTest )
ADD_TEST_MACRO ( FunctionTest miniFunctionTest )
ADD_TEST_MACRO ( ReturnTest ReturnTest )
ADD_TEST_MACRO ( Properties Properties )
ADD_TEST_MACRO ( Assembler HelloAsm )
ADD_TEST_MACRO ( SourceGroups SourceGroups )
ADD_TEST_MACRO ( Preprocess Preprocess )
ADD_TEST_MACRO ( ExportImport ExportImport )
ADD_TEST_MACRO ( Unset Unset )
ADD_TEST_MACRO ( PolicyScope PolicyScope )
ADD_TEST_MACRO ( EmptyLibrary EmptyLibrary )
SET_TESTS_PROPERTIES ( EmptyLibrary PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " C M a k e E r r o r : C M a k e c a n n o t d e t e r m i n e l i n k e r l a n g u a g e f o r t a r g e t : t e s t " )
ADD_TEST_MACRO ( CrossCompile CrossCompile )
SET_TESTS_PROPERTIES ( CrossCompile PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " T R Y _ R U N . . i n v o k e d i n c r o s s - c o m p i l i n g m o d e " )
IF ( "${CMAKE_TEST_GENERATOR}" MATCHES "Make" )
ADD_TEST_MACRO ( Policy0002 Policy0002 )
ENDIF ( "${CMAKE_TEST_GENERATOR}" MATCHES "Make" )
IF ( CTEST_TEST_OSX_ARCH )
ADD_TEST_MACRO ( Architecture Architecture )
SET_TESTS_PROPERTIES ( Architecture PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " ( f i l e i s n o t o f r e q u i r e d a r c h i t e c t u r e | d o e s n o t m a t c h c p u t y p e | n o t t h e a r c h i t e c t u r e b e i n g l i n k e d ) " )
ENDIF ( CTEST_TEST_OSX_ARCH )
LIST ( APPEND TEST_BUILD_DIRS ${ CMake_TEST_INSTALL_PREFIX } )
# run test for BundleUtilities on supported platforms/compilers
if ( MSVC OR
C M A K E _ S Y S T E M _ N A M E M A T C H E S " L i n u x " O R
C M A K E _ S Y S T E M _ N A M E M A T C H E S " D a r w i n " )
if ( NOT "${CMAKE_TEST_GENERATOR}" STREQUAL "Watcom WMake" )
ADD_TEST ( BundleUtilities ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / B u n d l e U t i l i t i e s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u n d l e U t i l i t i e s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t B u n d l e U t i l i t i e s
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleUtilities" )
endif ( )
endif ( )
SET ( CMAKE_BUILD_TEST_SOURCE_DIR "${CMake_SOURCE_DIR}/Tests/COnly" )
SET ( CMAKE_BUILD_TEST_BINARY_DIR "${CMake_BINARY_DIR}/Tests/CMakeBuildCOnly" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CMakeBuildTest.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e B u i l d T e s t . c m a k e " @ O N L Y )
ADD_TEST ( CMakeBuildTest ${ CMAKE_CMAKE_COMMAND } -P
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e B u i l d T e s t . c m a k e " )
LIST ( APPEND TEST_BUILD_DIRS ${ CMAKE_BUILD_TEST_BINARY_DIR } )
ADD_TEST_MACRO ( Module.CheckTypeSize CheckTypeSize )
ADD_TEST ( LinkFlags-prepare
$ { C M A K E _ C T E S T _ C O M M A N D } - C \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L i n k F l a g s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i n k F l a g s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t L i n k F l a g s
- - b u i l d - t a r g e t L i n k F l a g s
- - b u i l d - o p t i o n s - D T E S T _ C O N F I G = \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkFlags" )
MACRO ( ADD_LINK_FLAGS_TEST name depends )
ADD_TEST ( LinkFlags- ${ name }
$ { C M A K E _ C M A K E _ C O M M A N D } - - b u i l d " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i n k F l a g s "
- - t a r g e t L i n k F l a g s _ $ { n a m e } - - c o n f i g \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
)
SET_TESTS_PROPERTIES ( LinkFlags- ${ name } PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " B A D F L A G " D E P E N D S L i n k F l a g s - $ { d e p e n d s } )
ENDMACRO ( )
ADD_LINK_FLAGS_TEST ( lib prepare )
ADD_LINK_FLAGS_TEST ( dll lib )
ADD_LINK_FLAGS_TEST ( exe dll )
ADD_LINK_FLAGS_TEST ( lib_config exe )
ADD_LINK_FLAGS_TEST ( dll_config lib_config )
ADD_LINK_FLAGS_TEST ( exe_config dll_config )
# If we are running right now with a UnixMakefiles based generator,
# build the "Simple" test with the ExtraGenerators, if available
# This doesn't test whether the generated project files work (unfortunately),
# mainly it tests that cmake doesn't crash when generating these project files.
IF ( ${ CMAKE_TEST_GENERATOR } MATCHES "Unix Makefiles" OR ${ CMAKE_TEST_GENERATOR } MATCHES "KDevelop" )
# check which generators we have
EXEC_PROGRAM ( ${ CMAKE_CMAKE_COMMAND } ARGS --help OUTPUT_VARIABLE cmakeOutput )
# check for the Eclipse generator
IF ( "${cmakeOutput}" MATCHES Eclipse )
ADD_TEST ( Simple_EclipseGenerator ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e _ E c l i p s e G e n e r a t o r "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r " E c l i p s e C D T 4 - U n i x M a k e f i l e s "
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S i m p l e
- - t e s t - c o m m a n d S i m p l e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator" )
ENDIF ( "${cmakeOutput}" MATCHES Eclipse )
# check for the CodeBlocks generator
IF ( "${cmakeOutput}" MATCHES CodeBlocks )
ADD_TEST ( Simple_CodeBlocksGenerator ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e _ C o d e B l o c k s G e n e r a t o r "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r " C o d e B l o c k s - U n i x M a k e f i l e s "
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S i m p l e
- - t e s t - c o m m a n d S i m p l e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator" )
ENDIF ( "${cmakeOutput}" MATCHES CodeBlocks )
# check for the KDevelop3 generator
IF ( "${cmakeOutput}" MATCHES KDevelop3 )
ADD_TEST ( Simple_KDevelop3Generator ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e _ K D e v e l o p 3 G e n e r a t o r "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r " K D e v e l o p 3 - U n i x M a k e f i l e s "
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S i m p l e
- - t e s t - c o m m a n d S i m p l e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator" )
ENDIF ( "${cmakeOutput}" MATCHES KDevelop3 )
ENDIF ( ${ CMAKE_TEST_GENERATOR } MATCHES "Unix Makefiles" OR ${ CMAKE_TEST_GENERATOR } MATCHES "KDevelop" )
# test for correct sub-project generation
# not implemented in VS6 or Xcode
IF ( NOT MSVC60 AND NOT XCODE AND NOT MSVC70 )
# run cmake and configure all of SubProject
# but only build the independent executable car
ADD_TEST ( SubProject ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S u b P r o j e c t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b P r o j e c t "
- - b u i l d - p r o j e c t S u b P r o j e c t
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t a r g e t c a r
- - t e s t - c o m m a n d c a r
)
# For stage 2, do not run cmake again.
# Then build the foo sub project which should build
# the bar library which should be referenced because
# foo links to the static library bar, but bar is not
# directly in the foo sub project
ADD_TEST ( SubProject-Stage2 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S u b P r o j e c t / f o o "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b P r o j e c t / f o o "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c m a k e
- - b u i l d - p r o j e c t f o o
- - b u i l d - t a r g e t f o o
- - t e s t - c o m m a n d f o o
)
SET_TESTS_PROPERTIES ( SubProject-Stage2 PROPERTIES DEPENDS SubProject )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubProject" )
ENDIF ( NOT MSVC60 AND NOT XCODE AND NOT MSVC70 )
IF ( CMAKE_STRICT )
ADD_TEST_MACRO ( DocTest DocTest )
ENDIF ( CMAKE_STRICT )
# macro to add a test that will build a nightly release
# of CMake for given platform using the release scripts
MACRO ( ADD_NIGHTLY_BUILD_TEST name script )
SET ( _TEST_DIR "${CMake_BINARY_DIR}/Tests/${name}" )
FILE ( MAKE_DIRECTORY "${_TEST_DIR}" )
FILE ( WRITE "${_TEST_DIR}/nightly-cmake.sh"
" c d $ { _ T E S T _ D I R }
$ { C M a k e _ B I N A R Y _ D I R } / b i n / c m a k e - D C M A K E _ C R E A T E _ V E R S I O N = n i g h t l y - P $ { C M a k e _ S O U R C E _ D I R } / U t i l i t i e s / R e l e a s e / $ { s c r i p t }
$ { C M a k e _ B I N A R Y _ D I R } / b i n / c m a k e - D V E R S I O N = m a s t e r - P $ { C M a k e _ S O U R C E _ D I R } / U t i l i t i e s / R e l e a s e / u p l o a d _ r e l e a s e . c m a k e
" )
ADD_TEST ( ${ name } /bin/sh ${ _TEST_DIR } /nightly-cmake.sh )
IF ( COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY )
SET_TESTS_PROPERTIES ( ${ name } PROPERTIES TIMEOUT ${ CMAKE_LONG_TEST_TIMEOUT } )
ENDIF ( COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY )
ENDMACRO ( ADD_NIGHTLY_BUILD_TEST )
IF ( CMAKE_BUILD_NIGHTLY_RELEASES )
ADD_NIGHTLY_BUILD_TEST ( CMakeNightlyWindows
d a s h 2 w i n 6 4 _ r e l e a s e . c m a k e )
ADD_NIGHTLY_BUILD_TEST ( CMakeNightlyMac
d a s h m a c m i n i 2 _ r e l e a s e . c m a k e )
ADD_NIGHTLY_BUILD_TEST ( CMakeNightlyLinux
m a g r a t h e a _ r e l e a s e . c m a k e )
ENDIF ( CMAKE_BUILD_NIGHTLY_RELEASES )
# add tests with more complex invocations
ADD_TEST ( Framework ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / F r a m e w o r k "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / F r a m e w o r k "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t F r a m e w o r k
- - b u i l d - o p t i o n s
" - D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / F r a m e w o r k / I n s t a l l "
- - t e s t - c o m m a n d b a r )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Framework" )
ADD_TEST ( TargetName ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T a r g e t N a m e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T a r g e t N a m e "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t T a r g e t N a m e
- - t e s t - c o m m a n d $ { C M A K E _ C M A K E _ C O M M A N D } - E c o m p a r e _ f i l e s
$ { C M a k e _ S O U R C E _ D I R } / T e s t s / T a r g e t N a m e / s c r i p t s / h e l l o _ w o r l d
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T a r g e t N a m e / s c r i p t s / h e l l o _ w o r l d )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TargetName" )
ADD_TEST ( LibName ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L i b N a m e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i b N a m e "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t L i b N a m e
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i b N a m e / l i b "
- - t e s t - c o m m a n d f o o b a r
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LibName" )
ADD_TEST ( CustComDepend ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C u s t C o m D e p e n d "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C u s t C o m D e p e n d "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t C u s t C o m D e p e n d
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C u s t C o m D e p e n d / b i n "
- - t e s t - c o m m a n d f o o b a r . c
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustComDepend" )
ADD_TEST ( ArgumentExpansion ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / A r g u m e n t E x p a n s i o n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / A r g u m e n t E x p a n s i o n "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t A r g u m e n t E x p a n s i o n
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / A r g u m e n t E x p a n s i o n / b i n "
)
SET_TESTS_PROPERTIES ( ArgumentExpansion PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " U n e x p e c t e d : " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ArgumentExpansion" )
ADD_TEST ( CustomCommand ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C u s t o m C o m m a n d "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C u s t o m C o m m a n d "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C u s t o m C o m m a n d
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C u s t o m C o m m a n d / b i n "
- - t e s t - c o m m a n d C u s t o m C o m m a n d
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommand" )
ADD_TEST ( CustomCommandWorkingDirectory ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C u s t o m C o m m a n d W o r k i n g D i r e c t o r y "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C u s t o m C o m m a n d W o r k i n g D i r e c t o r y "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t T e s t W o r k i n g D i r
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d w o r k i n g
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory" )
#ADD_TEST(SimpleExclude ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/SimpleExclude"
# "${CMake_BINARY_DIR}/Tests/SimpleExclude"
# --build-generator ${CMAKE_TEST_GENERATOR}
# --build-project SimpleExclude
# --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
# --build-two-config
# --test-command t4
#--test-command "${CMAKE_COMMAND}"
#"-DCONFIGURATION=\${CTEST_CONFIGURATION_TYPE}"
#-P "${CMake_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
#)
# ADD_TEST(SameName ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/SameName"
# "${CMake_BINARY_DIR}/Tests/SameName"
# --build-generator ${CMAKE_TEST_GENERATOR}
# --build-project SameName
# --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
# --build-two-config
# --test-command
# "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
ADD_TEST ( OutOfSource ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / O u t O f S o u r c e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / O u t O f S o u r c e "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t O u t O f S o u r c e
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - t e s t - c o m m a n d
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / O u t O f S o u r c e / S u b D i r / O u t O f S o u r c e S u b d i r / s i m p l e " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSource" )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSourceDeep" )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfBinary" )
ADD_TEST ( BuildDepends ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / B u i l d D e p e n d s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u i l d D e p e n d s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t B u i l d D e p e n d s
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BuildDepends" )
SET ( SimpleInstallInstallDir
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e I n s t a l l / I n s t a l l D i r e c t o r y " )
ADD_TEST ( SimpleInstall ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e I n s t a l l "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e I n s t a l l "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t T e s t S i m p l e I n s t a l l
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - b u i l d - o p t i o n s
" - D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { S i m p l e I n s t a l l I n s t a l l D i r } "
" - D C T E S T _ T E S T _ C P A C K : B O O L = $ { C T E S T _ T E S T _ C P A C K } "
- - t e s t - c o m m a n d $ { S i m p l e I n s t a l l I n s t a l l D i r } / M y T e s t / b i n / S i m p l e I n s t E x e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstall" )
ADD_TEST ( SimpleInstall-Stage2 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e I n s t a l l S 2 "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e I n s t a l l S 2 "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t T e s t S i m p l e I n s t a l l
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - b u i l d - o p t i o n s
" - D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { S i m p l e I n s t a l l I n s t a l l D i r } "
" - D S T A G E 2 : B O O L = 1 "
- - t e s t - c o m m a n d $ { S i m p l e I n s t a l l I n s t a l l D i r } / M y T e s t / b i n / S i m p l e I n s t E x e S 2 )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstallS2" )
# By default, run the CPackComponents test if the CTEST_TEST_CPACK
# option is ON:
#
set ( CTEST_RUN_CPackComponents ${ CTEST_TEST_CPACK } )
set ( CTEST_package_X11_TEST ${ CTEST_TEST_CPACK } )
set ( CTEST_RUN_CPackComponentsForAll ${ CTEST_TEST_CPACK } )
find_program ( NSIS_MAKENSIS_EXECUTABLE NAMES makensis
P A T H S [ H K E Y _ L O C A L _ M A C H I N E \ \ S O F T W A R E \ \ N S I S ]
D O C " m a k e n s i s p r o g r a m l o c a t i o n "
)
# But on Windows, only run the CPackComponents test if the NSIS
# installer builder is available:
#
if ( WIN32 )
if ( NSIS_MAKENSIS_EXECUTABLE )
set ( CTEST_RUN_CPackComponents ON )
else ( NSIS_MAKENSIS_EXECUTABLE )
set ( CTEST_RUN_CPackComponents OFF )
set ( CTEST_package_X11_TEST OFF )
endif ( NSIS_MAKENSIS_EXECUTABLE )
endif ( WIN32 )
IF ( CTEST_RUN_CPackComponents )
set ( CPackComponents_EXTRA_OPTIONS )
if ( APPLE )
set ( CPackComponents_EXTRA_OPTIONS -DCPACK_BINARY_DRAGNDROP:BOOL=ON )
endif ( APPLE )
if ( NSIS_MAKENSIS_EXECUTABLE )
set ( CPackComponents_EXTRA_OPTIONS ${ CPackComponents_EXTRA_OPTIONS }
- D C P A C K _ B I N A R Y _ N S I S : B O O L = O N )
endif ( NSIS_MAKENSIS_EXECUTABLE )
ADD_TEST ( CPackComponents ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k C o m p o n e n t s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k C o m p o n e n t s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C P a c k C o m p o n e n t s
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - b u i l d - t a r g e t p a c k a g e
- - b u i l d - o p t i o n s
- D C P A C K _ B I N A R Y _ D E B : B O O L = $ { C P A C K _ B I N A R Y _ D E B }
- D C P A C K _ B I N A R Y _ R P M : B O O L = $ { C P A C K _ B I N A R Y _ R P M }
$ { C P a c k C o m p o n e n t s _ E X T R A _ O P T I O N S }
- - g r a p h v i z = C P a c k C o m p o n e n t s . d o t
- - t e s t - c o m m a n d $ { C M A K E _ C M A K E _ C O M M A N D }
" - D C P a c k C o m p o n e n t s _ B I N A R Y _ D I R : P A T H = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k C o m p o n e n t s "
- P " $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k C o m p o n e n t s / V e r i f y R e s u l t . c m a k e " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponents" )
ENDIF ( CTEST_RUN_CPackComponents )
IF ( CTEST_RUN_CPackComponentsForAll )
set ( CPackComponentsForAll_EXTRA_OPTIONS )
set ( CPackRun_CPackCommand "-DCPackCommand=${CMAKE_CPACK_COMMAND}" )
# set up list of CPack generators
list ( APPEND GENLST "ZIP" )
if ( APPLE )
list ( APPEND GENLST "DragNDrop" )
endif ( APPLE )
if ( CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*" )
find_program ( RPMBUILD NAMES rpmbuild )
endif ( CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*" )
if ( RPMBUILD )
list ( APPEND GENLST "RPM" )
endif ( RPMBUILD )
if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
find_program ( DPKG NAMES dpkg )
if ( DPKG )
list ( APPEND GENLST "DEB" )
endif ( DPKG )
endif ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
# set up list of component packaging ways
list ( APPEND CWAYLST "default" )
list ( APPEND CWAYLST "OnePackPerGroup" )
list ( APPEND CWAYLST "IgnoreGroup" )
list ( APPEND CWAYLST "AllInOne" )
foreach ( CPackGen ${ GENLST } )
set ( CPackRun_CPackGen "-DCPackGen=${CPackGen}" )
foreach ( CPackComponentWay ${ CWAYLST } )
set ( CPackRun_CPackComponentWay "-DCPackComponentWay=${CPackComponentWay}" )
ADD_TEST ( CPackComponentsForAll- ${ CPackGen } - ${ CPackComponentWay } ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k C o m p o n e n t s F o r A l l "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k C o m p o n e n t s F o r A l l / b u i l d $ { C P a c k G e n } - $ { C P a c k C o m p o n e n t W a y } "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C P a c k C o m p o n e n t s F o r A l l
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - o p t i o n s
- D C P A C K _ B I N A R Y _ $ { C P a c k G e n } : B O O L = O N
$ { C P a c k R u n _ C P a c k C o m p o n e n t W a y }
$ { C P a c k C o m p o n e n t s F o r A l l _ E X T R A _ O P T I O N S }
- - g r a p h v i z = C P a c k C o m p o n e n t s F o r A l l . d o t
- - t e s t - c o m m a n d $ { C M A K E _ C M A K E _ C O M M A N D }
" - D C P a c k C o m p o n e n t s F o r A l l _ B I N A R Y _ D I R : P A T H = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k C o m p o n e n t s F o r A l l / b u i l d $ { C P a c k G e n } - $ { C P a c k C o m p o n e n t W a y } "
" $ { C P a c k R u n _ C P a c k C o m m a n d } "
" $ { C P a c k R u n _ C P a c k G e n } "
" $ { C P a c k R u n _ C P a c k C o m p o n e n t W a y } "
- P " $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k C o m p o n e n t s F o r A l l / R u n C P a c k V e r i f y R e s u l t . c m a k e " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponentsForAll/build${CPackGen}-${CPackComponentWay}" )
endforeach ( CPackComponentWay )
endforeach ( CPackGen )
ENDIF ( CTEST_RUN_CPackComponentsForAll )
# By default, turn this test off (because it takes a long time...)
#
if ( NOT DEFINED CTEST_RUN_CPackTestAllGenerators )
set ( CTEST_RUN_CPackTestAllGenerators OFF )
# ...but: if it appears to be a coverage dashboard, or long tests are
# on, then set it to the generic CTEST_TEST_CPACK setting.
#
if ( CMAKE_CXX_FLAGS MATCHES "-ftest-coverage" OR
N O T " $ E N V { C O V F I L E } " S T R E Q U A L " " O R
C M A K E _ R U N _ L O N G _ T E S T S )
set ( CTEST_RUN_CPackTestAllGenerators ${ CTEST_TEST_CPACK } )
endif ( CMAKE_CXX_FLAGS MATCHES "-ftest-coverage" OR
N O T " $ E N V { C O V F I L E } " S T R E Q U A L " " O R
C M A K E _ R U N _ L O N G _ T E S T S )
endif ( NOT DEFINED CTEST_RUN_CPackTestAllGenerators )
IF ( CTEST_RUN_CPackTestAllGenerators )
ADD_TEST ( CPackTestAllGenerators ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k T e s t A l l G e n e r a t o r s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k T e s t A l l G e n e r a t o r s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C P a c k T e s t A l l G e n e r a t o r s
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d
$ { C M A K E _ C M A K E _ C O M M A N D }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C P a c k T e s t A l l G e n e r a t o r s
- D c p a c k = $ { C M A K E _ C P A C K _ C O M M A N D }
- P $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C P a c k T e s t A l l G e n e r a t o r s / R u n C P a c k . c m a k e
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackTestAllGenerators" )
ENDIF ( CTEST_RUN_CPackTestAllGenerators )
IF ( CTEST_package_X11_TEST )
SET ( X11_build_target_arg --build-target package )
ELSE ( CTEST_package_X11_TEST )
SET ( X11_build_target_arg )
ENDIF ( CTEST_package_X11_TEST )
ADD_TEST ( X11 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / X 1 1 "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / X 1 1 "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t U s e X 1 1
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
$ { X 1 1 _ b u i l d _ t a r g e t _ a r g }
- - t e s t - c o m m a n d U s e X 1 1 )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/X11" )
if ( NOT DEFINED CTEST_RUN_CMakeTestAllGenerators )
set ( CTEST_RUN_CMakeTestAllGenerators ON )
endif ( NOT DEFINED CTEST_RUN_CMakeTestAllGenerators )
IF ( CTEST_RUN_CMakeTestAllGenerators )
ADD_TEST ( CMakeTestAllGenerators ${ CMAKE_CMAKE_COMMAND }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t A l l G e n e r a t o r s
- D C M a k e _ S O U R C E _ D I R = $ { C M a k e _ S O U R C E _ D I R }
- P $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C M a k e T e s t A l l G e n e r a t o r s / R u n C M a k e . c m a k e
)
LIST ( APPEND TEST_BUILD_DIRS
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t A l l G e n e r a t o r s " )
ENDIF ( CTEST_RUN_CMakeTestAllGenerators )
if ( NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines )
set ( CTEST_RUN_CMakeTestBadCommandLines ON )
endif ( NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines )
IF ( CTEST_RUN_CMakeTestBadCommandLines )
ADD_TEST ( CMakeTestBadCommandLines ${ CMAKE_CMAKE_COMMAND }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t B a d C o m m a n d L i n e s
- D g e n = $ { C M A K E _ T E S T _ G E N E R A T O R }
- D C M a k e _ S O U R C E _ D I R = $ { C M a k e _ S O U R C E _ D I R }
- P $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C M a k e T e s t B a d C o m m a n d L i n e s / R u n C M a k e . c m a k e
)
LIST ( APPEND TEST_BUILD_DIRS
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t B a d C o m m a n d L i n e s " )
ENDIF ( CTEST_RUN_CMakeTestBadCommandLines )
if ( NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures )
set ( CTEST_RUN_CMakeTestMultipleConfigures ON )
endif ( NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures )
IF ( CTEST_RUN_CMakeTestMultipleConfigures )
ADD_TEST ( CMakeTestMultipleConfigures ${ CMAKE_CMAKE_COMMAND }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t M u l t i p l e C o n f i g u r e s
- D g e n = $ { C M A K E _ T E S T _ G E N E R A T O R }
- D C M a k e _ S O U R C E _ D I R = $ { C M a k e _ S O U R C E _ D I R }
- P $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C M a k e T e s t M u l t i p l e C o n f i g u r e s / R u n C M a k e . c m a k e
)
LIST ( APPEND TEST_BUILD_DIRS
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e T e s t M u l t i p l e C o n f i g u r e s " )
ENDIF ( CTEST_RUN_CMakeTestMultipleConfigures )
ADD_TEST ( LoadedCommandOneConfig ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L o a d C o m m a n d O n e C o n f i g "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L o a d C o m m a n d O n e C o n f i g "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t L o a d C o m m a n d
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d L o a d e d C o m m a n d
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig" )
# Como does not seem to support shared libraries.
GET_FILENAME_COMPONENT ( CMAKE_BASE_NAME ${ CMAKE_CXX_COMPILER } NAME_WE )
IF ( CMAKE_BASE_NAME MATCHES "^como$" )
SET ( COMPILER_IS_COMO 1 )
ENDIF ( CMAKE_BASE_NAME MATCHES "^como$" )
IF ( NOT COMPILER_IS_COMO )
SET ( COMPLEX_TEST_CMAKELIB 1 )
IF ( CMAKE_TEST_DIFFERENT_GENERATOR OR CMAKE_TEST_SYSTEM_LIBRARIES )
SET ( COMPLEX_TEST_CMAKELIB 0 )
ENDIF ( CMAKE_TEST_DIFFERENT_GENERATOR OR CMAKE_TEST_SYSTEM_LIBRARIES )
IF ( BORLAND )
SET ( COMPLEX_TEST_CMAKELIB 0 )
ENDIF ( BORLAND )
ADD_TEST ( complex ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C o m p l e x "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C o m p l e x "
- - b u i l d - t w o - c o n f i g
- - b u i l d - c o n f i g - s a m p l e " $ { C M A K E _ C T E S T _ C O M M A N D } "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C o m p l e x
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C o m p l e x / b i n "
- - b u i l d - o p t i o n s
- D C O M P L E X _ T E S T _ C M A K E L I B : B O O L = $ { C O M P L E X _ T E S T _ C M A K E L I B }
- D C M A K E _ B U I L D _ T Y P E : S T R I N G = $ { C M A K E _ B U I L D _ T Y P E }
- - t e s t - c o m m a n d c o m p l e x
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Complex" )
ADD_TEST ( complexOneConfig ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C o m p l e x O n e C o n f i g "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C o m p l e x O n e C o n f i g "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t C o m p l e x
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C o m p l e x O n e C o n f i g / b i n "
- - b u i l d - o p t i o n s
- D C O M P L E X _ T E S T _ C M A K E L I B : B O O L = $ { C O M P L E X _ T E S T _ C M A K E L I B }
- D C M A K E _ B U I L D _ T Y P E : S T R I N G = $ { C M A K E _ B U I L D _ T Y P E }
- - t e s t - c o m m a n d c o m p l e x )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ComplexOneConfig" )
# because of the registry write these tests depend on each other
SET_TESTS_PROPERTIES ( complex PROPERTIES DEPENDS complexOneConfig )
# This fails on VS 70
# works on Xcode and makefiles
# ADD_TEST(ConvLibrary ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/ConvLibrary"
# "${CMake_BINARY_DIR}/Tests/ConvLibrary"
# --build-two-config
# --build-generator ${CMAKE_TEST_GENERATOR}
# --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
# --build-project ConvLibrary
# --test-command bartest)
# ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
# "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
# --build-generator ${CMAKE_TEST_GENERATOR}
# --build-project complex
# --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
# --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
# --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
# --test-command complex)
ENDIF ( NOT COMPILER_IS_COMO )
ADD_TEST ( Example ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / E x a m p l e "
" $ { C M a k e _ B I N A R Y _ D I R } / E x a m p l e "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t H E L L O
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / E x a m p l e / D e m o "
- - t e s t - c o m m a n d h e l l o D e m o
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Example" )
ADD_TEST ( Environment ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / E n v i r o n m e n t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / E n v i r o n m e n t "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t E n v i r o n m e n t P r o j
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / E n v i r o n m e n t "
- - f o r c e - n e w - c t e s t - p r o c e s s
- - t e s t - c o m m a n d $ { C M A K E _ C T E S T _ C O M M A N D } - V
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Environment" )
ADD_TEST ( ExternalProject ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / E x t e r n a l P r o j e c t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / E x t e r n a l P r o j e c t "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t E x t e r n a l P r o j e c t T e s t
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / E x t e r n a l P r o j e c t "
- - f o r c e - n e w - c t e s t - p r o c e s s
- - t e s t - c o m m a n d $ { C M A K E _ C T E S T _ C O M M A N D } - V
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProject" )
SET_TESTS_PROPERTIES ( ExternalProject PROPERTIES
T I M E O U T $ { C M A K E _ L O N G _ T E S T _ T I M E O U T } )
# do each of the tutorial steps
FOREACH ( STP RANGE 1 7 )
ADD_TEST ( TutorialStep ${ STP } ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T u t o r i a l / S t e p $ { S T P } "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T u t o r i a l / S t e p $ { S T P } "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t T u t o r i a l
- - t e s t - c o m m a n d T u t o r i a l 2 5 . 0 )
ENDFOREACH ( STP )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Tutorial" )
ADD_TEST ( testing ${ CMAKE_CTEST_COMMAND } -C \${CTEST_CONFIGURATION_TYPE}
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t i n g "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t i n g "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t T e s t i n g
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d $ { C M A K E _ C T E S T _ C O M M A N D } - C \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
)
SET_TESTS_PROPERTIES ( testing PROPERTIES PASS_REGULAR_EXPRESSION "Passed" )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Testing" )
ADD_TEST ( wrapping ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / W r a p p i n g "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t W r a p p i n g
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g / b i n "
- - t e s t - c o m m a n d w r a p p i n g
)
ADD_TEST ( qtwrapping ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / W r a p p i n g "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t W r a p p i n g
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g / b i n "
- - t e s t - c o m m a n d q t w r a p p i n g
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Wrapping" )
ADD_TEST ( testdriver1 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t D r i v e r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t D r i v e r "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g / b i n "
- - b u i l d - p r o j e c t T e s t D r i v e r T e s t
- - t e s t - c o m m a n d T e s t D r i v e r T e s t t e s t 1
)
ADD_TEST ( testdriver2 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t D r i v e r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t D r i v e r "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g / b i n "
- - b u i l d - p r o j e c t T e s t D r i v e r T e s t
- - t e s t - c o m m a n d T e s t D r i v e r T e s t t e s t 2
)
ADD_TEST ( testdriver3 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t D r i v e r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t D r i v e r "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W r a p p i n g / b i n "
- - b u i l d - p r o j e c t T e s t D r i v e r T e s t
- - t e s t - c o m m a n d T e s t D r i v e r T e s t s u b d i r / t e s t 3
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestDriver" )
ADD_TEST ( Dependency ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / D e p e n d e n c y "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / D e p e n d e n c y "
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / D e p e n d e n c y / E x e c "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t D e p e n d e n c y
- - t e s t - c o m m a n d e x e c
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Dependency" )
IF ( "${CMAKE_SYSTEM_NAME}" MATCHES syllable )
# RPATH isn't supported under Syllable, so the tests don't
# find their libraries. In order to fix that LIBRARY_OUTPUT_DIR
# in the tests would have to be adjusted to ${EXECUTABLE_OUTPUT_DIR}/lib .
# For now we just require on Syllable that the user adjusts the DLL_PATH
# environment variable, so except the two tests below all other tests will succeed.
SET ( _DLL_PATH "$ENV{DLL_PATH}" )
IF ( NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$" )
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 " )
ENDIF ( NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$" )
IF ( NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$" )
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 " )
ENDIF ( NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$" )
ELSE ( "${CMAKE_SYSTEM_NAME}" MATCHES syllable )
ADD_TEST ( JumpWithLibOut ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / J u m p "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / W i t h L i b O u t "
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / W i t h L i b O u t / E x e c u t a b l e "
- - b u i l d - p r o j e c t J u m p
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - o p t i o n s
- D L I B R A R Y _ O U T P U T _ P A T H : P A T H = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / W i t h L i b O u t / L i b
- - t e s t - c o m m a n d j u m p E x e c u t a b l e
)
ADD_TEST ( JumpNoLibOut ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / J u m p "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / N o L i b O u t "
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / N o L i b O u t / E x e c u t a b l e "
- - b u i l d - r u n - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J u m p / N o L i b O u t / E x e c u t a b l e "
- - b u i l d - p r o j e c t J u m p
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d j u m p E x e c u t a b l e
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Jump" )
ADD_TEST ( Plugin ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / P l u g i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / P l u g i n "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t P l u g i n
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - t e s t - c o m m a n d b i n / e x a m p l e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Plugin" )
IF ( CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG )
ADD_TEST_MACRO ( RuntimePath RuntimePath )
ENDIF ( CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG )
ENDIF ( "${CMAKE_SYSTEM_NAME}" MATCHES syllable )
ADD_TEST ( linkorder1 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L i n k L i n e O r d e r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i n k L i n e O r d e r "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t L i n k L i n e O r d e r
- - t e s t - c o m m a n d E x e c 1
)
ADD_TEST ( linkorder2 ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L i n k L i n e O r d e r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i n k L i n e O r d e r "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t L i n k L i n e O r d e r
- - t e s t - c o m m a n d E x e c 2
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkLineOrder" )
SET_TESTS_PROPERTIES ( qtwrapping PROPERTIES DEPENDS wrapping )
SET_TESTS_PROPERTIES ( testdriver1 PROPERTIES DEPENDS qtwrapping )
SET_TESTS_PROPERTIES ( testdriver2 PROPERTIES DEPENDS testdriver1 )
SET_TESTS_PROPERTIES ( testdriver3 PROPERTIES DEPENDS testdriver2 )
SET_TESTS_PROPERTIES ( linkorder2 PROPERTIES DEPENDS linkorder1 )
SET_TESTS_PROPERTIES ( SimpleInstall-Stage2 PROPERTIES DEPENDS SimpleInstall )
# Test static linking on toolchains known to support it.
IF ( "${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU)$"
A N D N O T APPLE A N D N O T WIN32 A N D N O T CYGWIN
A N D E X I S T S " / u s r / l i b / l i b m . a " )
ADD_TEST ( LinkStatic ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / L i n k S t a t i c "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / L i n k S t a t i c "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t L i n k S t a t i c
- - b u i l d - o p t i o n s - D M A T H _ L I B R A R Y : F I L E P A T H = / u s r / l i b / l i b m . a
- - t e s t - c o m m a n d L i n k S t a t i c
)
ENDIF ( )
IF ( NOT CMAKE_TEST_DIFFERENT_GENERATOR )
ADD_TEST ( kwsys ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / S o u r c e / k w s y s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / k w s y s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t k w s y s
- - t e s t - c o m m a n d k w s y s T e s t s C x x t e s t I O S
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/kwsys" )
ENDIF ( NOT CMAKE_TEST_DIFFERENT_GENERATOR )
SET ( MAKE_IS_GNU )
IF ( ${ CMAKE_TEST_MAKEPROGRAM } MATCHES make )
EXEC_PROGRAM (
$ { C M A K E _ T E S T _ M A K E P R O G R A M } A R G S n o _ s u c h _ t a r g e t - - v e r s i o n
R E T U R N _ V A L U E r e s O U T P U T _ V A R I A B L E o u t
)
IF ( "${res}" EQUAL 0 )
IF ( "${out}" MATCHES "GNU" )
SET ( MAKE_IS_GNU 1 )
ENDIF ( "${out}" MATCHES "GNU" )
ENDIF ( "${res}" EQUAL 0 )
ENDIF ( ${ CMAKE_TEST_MAKEPROGRAM } MATCHES make )
# only add this test on platforms that support it
# some old versions of make simply cannot handle spaces in paths
IF ( MAKE_IS_GNU OR
" $ { C M A K E _ T E S T _ M A K E P R O G R A M } " M A T C H E S " n m a k e | g m a k e | w m a k e " O R
" $ { C M A K E _ T E S T _ G E N E R A T O R } " M A T C H E S " V i s u a l S t u d i o | X C o d e | B o r l a n d " )
ADD_TEST ( SubDirSpaces ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S u b D i r S p a c e s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r S p a c e s "
- - b u i l d - e x e - d i r
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r S p a c e s / E x e c u t a b l e S o u r c e s "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S U B D I R
- - t e s t - c o m m a n d t e s t
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r S p a c e s / S h o u l d B e H e r e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r S p a c e s / t e s t f r o m s u b d i r . o b j "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDirSpaces" )
ENDIF ( MAKE_IS_GNU OR
" $ { C M A K E _ T E S T _ M A K E P R O G R A M } " M A T C H E S " n m a k e | g m a k e | w m a k e " O R
" $ { C M A K E _ T E S T _ G E N E R A T O R } " M A T C H E S " V i s u a l S t u d i o | X C o d e | B o r l a n d " )
IF ( WIN32 )
ADD_TEST ( SubDir ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S u b D i r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r "
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / E x e c u t a b l e "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S U B D I R
- - t e s t - c o m m a n d t e s t
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / S h o u l d B e H e r e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / t e s t f r o m s u b d i r . o b j "
)
ELSE ( WIN32 )
ADD_TEST ( SubDir ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S u b D i r "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r "
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / E x e c u t a b l e "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t S U B D I R
- - t e s t - c o m m a n d t e s t
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / S h o u l d B e H e r e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S u b D i r / t e s t f r o m s u b d i r . o "
)
ENDIF ( WIN32 )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDir" )
IF ( CMAKE_TEST_MSVC )
ADD_TEST_MACRO ( ForceInclude foo )
ADD_TEST_MACRO ( PrecompiledHeader foo )
ENDIF ( )
IF ( CMAKE_TEST_MSVC OR
" $ { C M A K E _ T E S T _ G E N E R A T O R } " M A T C H E S " ( M S Y S | M i n G W ) M a k e f i l e s " )
ADD_TEST_MACRO ( ModuleDefinition example_exe )
ENDIF ( )
ADD_TEST_MACRO ( CheckCompilerRelatedVariables CheckCompilerRelatedVariables )
IF ( "${CMAKE_TEST_GENERATOR}" MATCHES "Makefile" )
ADD_TEST ( MakeClean ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / M a k e C l e a n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / M a k e C l e a n "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t M a k e C l e a n
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / M a k e C l e a n "
- - t e s t - c o m m a n d c h e c k _ c l e a n
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MakeClean" )
ENDIF ( "${CMAKE_TEST_GENERATOR}" MATCHES "Makefile" )
IF ( ${ CMAKE_TEST_GENERATOR } MATCHES "Visual Studio" )
ADD_TEST ( VSExternalInclude ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V S E x t e r n a l I n c l u d e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / V S E x t e r n a l I n c l u d e "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t V S E x t e r n a l I n c l u d e
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d V S E x t e r n a l I n c l u d e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExternalInclude" )
ADD_TEST ( VSMidl ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V S M i d l "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / V S M i d l "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t V S M i d l
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d V S M i d l )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSMidl" )
ENDIF ( ${ CMAKE_TEST_GENERATOR } MATCHES "Visual Studio" )
IF ( APPLE AND CMAKE_COMPILER_IS_GNUCXX )
SET ( BundleTestInstallDir
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u n d l e T e s t / I n s t a l l D i r e c t o r y " )
ADD_TEST ( BundleTest ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / B u n d l e T e s t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u n d l e T e s t "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t B u n d l e T e s t
- - b u i l d - t a r g e t i n s t a l l
# --build-target package
- - b u i l d - o p t i o n s " - D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { B u n d l e T e s t I n s t a l l D i r } "
" - D C M a k e _ S O U R C E _ D I R : P A T H = $ { C M a k e _ S O U R C E _ D I R } "
- - t e s t - c o m m a n d
$ { B u n d l e T e s t I n s t a l l D i r } / A p p l i c a t i o n s / S e c o n d B u n d l e E x e . a p p / C o n t e n t s / M a c O S / S e c o n d B u n d l e E x e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleTest" )
ADD_TEST ( CFBundleTest ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C F B u n d l e T e s t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C F B u n d l e T e s t "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t C F B u n d l e T e s t
- - t e s t - c o m m a n d
$ { C M A K E _ C M A K E _ C O M M A N D } - D C T E S T _ C O N F I G U R A T I O N _ T Y P E = \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C F B u n d l e T e s t
- D g e n = $ { C M A K E _ T E S T _ G E N E R A T O R }
- P $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C F B u n d l e T e s t / V e r i f y R e s u l t . c m a k e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CFBundleTest" )
ADD_TEST_MACRO ( ObjC++ ObjC++ )
ENDIF ( APPLE AND CMAKE_COMPILER_IS_GNUCXX )
IF ( APPLE AND CTEST_TEST_CPACK )
ADD_TEST ( BundleGeneratorTest ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / B u n d l e G e n e r a t o r T e s t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u n d l e G e n e r a t o r T e s t "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - p r o j e c t B u n d l e G e n e r a t o r T e s t
- - b u i l d - t a r g e t p a c k a g e
- - b u i l d - o p t i o n s " - D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B u n d l e G e n e r a t o r T e s t / I n s t a l l D i r e c t o r y "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleGeneratorTest" )
ENDIF ( APPLE AND CTEST_TEST_CPACK )
ADD_TEST ( WarnUnusedUnusedViaSet ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V a r i a b l e U n u s e d V i a S e t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W a r n U n u s e d U n u s e d V i a S e t "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c l e a n
- - b u i l d - p r o j e c t W a r n U n u s e d U n u s e d V i a S e t
- - b u i l d - o p t i o n s " - - w a r n - u n u s e d - v a r s " )
SET_TESTS_PROPERTIES ( WarnUnusedUnusedViaSet PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " u n u s e d v a r i a b l e \ \ ( c h a n g i n g d e f i n i t i o n \ \ ) ' U N U S E D _ V A R I A B L E ' " )
SET_TESTS_PROPERTIES ( WarnUnusedUnusedViaSet PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " u n u s e d v a r i a b l e \ \ ( u n s e t t i n g \ \ ) ' U N U S E D _ V A R I A B L E ' " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaSet" )
ADD_TEST ( WarnUnusedUnusedViaUnset ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V a r i a b l e U n u s e d V i a U n s e t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W a r n U n u s e d U n u s e d V i a U n s e t "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c l e a n
- - b u i l d - p r o j e c t W a r n U n u s e d U n u s e d V i a U n s e t
- - b u i l d - o p t i o n s " - - w a r n - u n u s e d - v a r s " )
SET_TESTS_PROPERTIES ( WarnUnusedUnusedViaUnset PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " C M a k e W a r n i n g . * : 7 \ \ ( s e t \ \ ) : " )
SET_TESTS_PROPERTIES ( WarnUnusedUnusedViaUnset PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " C M a k e W a r n i n g . * : 5 \ \ ( s e t \ \ ) : " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaUnset" )
ADD_TEST ( WarnUnusedCliUnused ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V a r i a b l e U s a g e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W a r n U n u s e d C l i U n u s e d "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c l e a n
- - b u i l d - p r o j e c t W a r n U n u s e d C l i U n u s e d
- - b u i l d - o p t i o n s " - D U N U S E D _ C L I _ V A R I A B L E = U n u s e d " )
SET_TESTS_PROPERTIES ( WarnUnusedCliUnused PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " C M a k e W a r n i n g : . * M a n u a l l y - s p e c i f i e d v a r i a b l e s w e r e n o t u s e d b y t h e p r o j e c t : . * U N U S E D _ C L I _ V A R I A B L E " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUnused" )
ADD_TEST ( WarnUnusedCliUsed ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V a r i a b l e U s a g e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W a r n U n u s e d C l i U s e d "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c l e a n
- - b u i l d - p r o j e c t W a r n U n u s e d C l i U s e d
- - b u i l d - o p t i o n s " - D U S E D _ V A R I A B L E = U s a g e p r o v e n " )
SET_TESTS_PROPERTIES ( WarnUnusedCliUsed PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " U s a g e p r o v e n " )
SET_TESTS_PROPERTIES ( WarnUnusedCliUsed PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " C M a k e W a r n i n g : T h e v a r i a b l e , ' U S E D _ V A R I A B L E ' " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUsed" )
ADD_TEST ( WarnUninitialized ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / V a r i a b l e U s a g e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / W a r n U n i n i t i a l i z e d "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - n o c l e a n
- - b u i l d - p r o j e c t W a r n U n i n i t i a l i z e d
- - b u i l d - o p t i o n s " - - w a r n - u n i n i t i a l i z e d " )
SET_TESTS_PROPERTIES ( WarnUninitialized PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " u n i n i t i a l i z e d v a r i a b l e ' U S E D _ V A R I A B L E ' " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUninitialized" )
ADD_TEST ( TestsWorkingDirectory ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t s W o r k i n g D i r e c t o r y "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t s W o r k i n g D i r e c t o r y "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t T e s t s W o r k i n g D i r e c t o r y P r o j
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - e x e - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t s W o r k i n g D i r e c t o r y "
- - f o r c e - n e w - c t e s t - p r o c e s s
- - t e s t - c o m m a n d $ { C M A K E _ C T E S T _ C O M M A N D } - V - C \ $ { C T E S T _ C O N F I G U R A T I O N _ T Y P E }
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestsWorkingDirectory" )
# Make sure CTest can handle a test with no newline in output.
ADD_TEST ( CTest.NoNewline
$ { C M A K E _ C M A K E _ C O M M A N D } - E e c h o _ a p p e n d " T h i s l i n e h a s n o n e w l i n e ! " )
# A simple test for ctest in script mode
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t S c r i p t M o d e / C T e s t T e s t S c r i p t M o d e . c m a k e " @ O N L Y )
# ADD_TEST(CTest.ScriptMode ${CMAKE_CTEST_COMMAND}
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
# )
SET ( CTEST_TEST_UPDATE 1 )
IF ( CTEST_TEST_UPDATE )
# Test CTest Update with Subversion
FIND_PACKAGE ( Subversion QUIET )
IF ( Subversion_FOUND )
GET_FILENAME_COMPONENT ( _Subversion_BIN_DIR
$ { S u b v e r s i o n _ S V N _ E X E C U T A B L E } P A T H )
FIND_PROGRAM ( Subversion_SVNADMIN_EXECUTABLE svnadmin
H I N T S $ { _ S u b v e r s i o n _ B I N _ D I R }
)
MARK_AS_ADVANCED ( Subversion_SVNADMIN_EXECUTABLE )
IF ( NOT Subversion_SVNADMIN_EXECUTABLE )
SET ( Subversion_FOUND FALSE )
ENDIF ( NOT Subversion_SVNADMIN_EXECUTABLE )
ENDIF ( Subversion_FOUND )
IF ( Subversion_FOUND )
SET ( CTestUpdateSVN_DIR "CTest UpdateSVN" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateSVN.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e S V N . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateSVN ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e S V N . c m a k e "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateSVN_DIR}" )
ENDIF ( Subversion_FOUND )
# Test CTest Update with CVS
IF ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
FIND_PACKAGE ( CVS QUIET )
ELSE ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
FIND_PROGRAM ( CVS_EXECUTABLE NAMES cvs )
SET ( CVS_FOUND ${ CVS_EXECUTABLE } )
ENDIF ( EXISTS ${ CMAKE_ROOT } /Modules/FindCVS.cmake )
SET ( CTEST_TEST_UPDATE_CVS ${ CVS_FOUND } )
IF ( CTEST_TEST_UPDATE_CVS AND NOT UNIX )
IF ( "${CVS_EXECUTABLE}" MATCHES "cygwin" )
MESSAGE ( STATUS "No CTest.UpdateCVS test with cygwin cvs.exe outside cygwin!" )
SET ( CTEST_TEST_UPDATE_CVS 0 )
ENDIF ( "${CVS_EXECUTABLE}" MATCHES "cygwin" )
ENDIF ( CTEST_TEST_UPDATE_CVS AND NOT UNIX )
IF ( CTEST_TEST_UPDATE_CVS )
SET ( CTestUpdateCVS_DIR "CTest UpdateCVS" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e C V S . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateCVS ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e C V S . c m a k e "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}" )
ENDIF ( CTEST_TEST_UPDATE_CVS )
# Test CTest Update with BZR
FIND_PROGRAM ( BZR_EXECUTABLE NAMES bzr )
MARK_AS_ADVANCED ( BZR_EXECUTABLE )
SET ( CTEST_TEST_UPDATE_BZR 0 )
IF ( BZR_EXECUTABLE )
IF ( NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
SET ( CTEST_TEST_UPDATE_BZR 1 )
ENDIF ( NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
ENDIF ( BZR_EXECUTABLE )
IF ( CTEST_TEST_UPDATE_BZR )
# Check if xmloutput plugin is there
EXECUTE_PROCESS ( COMMAND ${ BZR_EXECUTABLE } xmlplugins RESULT_VARIABLE xmlplugres
O U T P U T _ Q U I E T E R R O R _ Q U I E T )
IF ( NOT ${ xmlplugres } )
SET ( CTestUpdateBZR_DIR "CTest UpdateBZR" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e B Z R . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateBZR ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e B Z R . c m a k e "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}" )
SET ( CTestUpdateBZR_DIR "CTest UpdateBZR_CLocale" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e B Z R _ C L o c a l e . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateBZR.CLocale ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e B Z R _ C L o c a l e . c m a k e "
)
SET_TESTS_PROPERTIES ( CTest.UpdateBZR.CLocale PROPERTIES ENVIRONMENT LC_ALL=C )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}" )
ENDIF ( NOT ${ xmlplugres } )
ENDIF ( CTEST_TEST_UPDATE_BZR )
# Test CTest Update with GIT
FIND_PROGRAM ( GIT_EXECUTABLE NAMES git )
MARK_AS_ADVANCED ( GIT_EXECUTABLE )
SET ( CTEST_TEST_UPDATE_GIT 0 )
IF ( GIT_EXECUTABLE )
IF ( NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
SET ( CTEST_TEST_UPDATE_GIT 1 )
ENDIF ( NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
ENDIF ( GIT_EXECUTABLE )
IF ( CTEST_TEST_UPDATE_GIT )
SET ( CTestUpdateGIT_DIR "CTest UpdateGIT" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateGIT.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e G I T . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateGIT ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e G I T . c m a k e "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}" )
ENDIF ( CTEST_TEST_UPDATE_GIT )
# Test CTest Update with HG
FIND_PROGRAM ( HG_EXECUTABLE NAMES hg )
MARK_AS_ADVANCED ( HG_EXECUTABLE )
SET ( CTEST_TEST_UPDATE_HG 0 )
IF ( HG_EXECUTABLE )
IF ( NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
SET ( CTEST_TEST_UPDATE_HG 1 )
ENDIF ( NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX )
ENDIF ( HG_EXECUTABLE )
IF ( CTEST_TEST_UPDATE_HG )
SET ( CTestUpdateHG_DIR "CTest UpdateHG" )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestUpdateHG.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e H G . c m a k e " @ O N L Y )
ADD_TEST ( CTest.UpdateHG ${ CMAKE_CMAKE_COMMAND }
- P " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t U p d a t e H G . c m a k e "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateHG_DIR}" )
ENDIF ( CTEST_TEST_UPDATE_HG )
ENDIF ( CTEST_TEST_UPDATE )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o B u i l d . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o B u i l d . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestNoBuild ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o B u i l d . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t O u t 1 . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestNoBuild PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " E r r o r " W I L L _ F A I L t r u e )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o E x e . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o E x e . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestNoExe ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t N o E x e . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l u r e / t e s t O u t 2 . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestNoExe PROPERTIES DEPENDS CTestTestNoBuild
P A S S _ R E G U L A R _ E X P R E S S I O N " C o u l d n o t f i n d e x e c u t a b l e "
F A I L _ R E G U L A R _ E X P R E S S I O N " S e g F a u l t " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t U p l o a d / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t U p l o a d / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestUpload ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t U p l o a d / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t U p l o a d / t e s t O u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestUpload PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " U p l o a d \ \ . x m l " )
# Use macro, not function so that build can still be driven by CMake 2.4.
# After 2.6 is required, this could be a function without the extra 'set'
# calls.
#
macro ( add_config_tests cfg )
set ( cfg "${cfg}" )
set ( base "${CMake_BINARY_DIR}/Tests/CTestConfig" )
# Test -S script with a -C config arg to ctest:
configure_file (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t C o n f i g / s c r i p t . c m a k e . i n "
" $ { b a s e } / $ { c f g } - s c r i p t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
add_test ( CTestConfig.Script. ${ cfg } ${ CMAKE_CTEST_COMMAND }
- C $ { c f g }
- S " $ { b a s e } / $ { c f g } - s c r i p t . c m a k e " - V V
- - o u t p u t - l o g " $ { b a s e } / $ { c f g } - s c r i p t . l o g "
)
# Test -D dashboard with a -C config arg to ctest.
# (Actual commands inside a cmake -P script because we need to be able to set
# the working directory reliably...)
configure_file (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t C o n f i g / d a s h b o a r d . c m a k e . i n "
" $ { b a s e } / $ { c f g } - d a s h b o a r d . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
add_test ( CTestConfig.Dashboard. ${ cfg } ${ CMAKE_CMAKE_COMMAND }
- P " $ { b a s e } / $ { c f g } - d a s h b o a r d . c m a k e " - V V
)
endmacro ( )
add_config_tests ( Debug )
add_config_tests ( MinSizeRel )
add_config_tests ( Release )
add_config_tests ( RelWithDebInfo )
add_test ( CMakeCommands.build_command ${ CMAKE_CMAKE_COMMAND }
- D C M a k e _ S O U R C E _ D I R = $ { C M a k e _ S O U R C E _ D I R }
- D d i r = $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e C o m m a n d s / b u i l d _ c o m m a n d
- D g e n = $ { C M A K E _ T E S T _ G E N E R A T O R }
- P " $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C M a k e C o m m a n d s / b u i l d _ c o m m a n d / R u n C M a k e . c m a k e "
)
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t C r a s h / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C r a s h / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestCrash ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C r a s h / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C r a s h / t e s t O u t p u t . l o g "
)
# with watcom the SEGFAULT is not found, it just fails
IF ( CMAKE_TEST_GENERATOR MATCHES "Watcom WMake" )
SET_TESTS_PROPERTIES ( CTestTestCrash PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " F a i l e d " )
ELSE ( CMAKE_TEST_GENERATOR MATCHES "Watcom WMake" )
SET_TESTS_PROPERTIES ( CTestTestCrash PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " S e g F a u l t " )
ENDIF ( CMAKE_TEST_GENERATOR MATCHES "Watcom WMake" )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t B a d E x e / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t B a d E x e / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestBadExe ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t B a d E x e / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t B a d E x e / t e s t O u t p u t . l o g "
)
SET ( CTestTestBadExe_REGEX "BAD_COMMAND" )
# some cygwin can not be made to produce a BAD_COMMAND error
# the best we can get from it is a failed test
IF ( CYGWIN )
SET ( CTestTestBadExe_REGEX "(\\*\\*\\*Failed)|BAD_COMMAND" )
ENDIF ( )
SET_TESTS_PROPERTIES ( CTestTestBadExe PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " $ { C T e s t T e s t B a d E x e _ R E G E X } " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t P a r a l l e l / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t P a r a l l e l / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestParallel ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t P a r a l l e l / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t P a r a l l e l / t e s t O u t p u t . l o g "
)
ADD_TEST ( CTestTestPrintLabels ${ CMAKE_CTEST_COMMAND } --print-labels )
SET_TESTS_PROPERTIES ( CTestTestPrintLabels PROPERTIES LABELS "Label1;Label2" )
SET_TESTS_PROPERTIES ( CTestTestPrintLabels PROPERTIES PASS_REGULAR_EXPRESSION
" A l l L a b e l s : . * L a b e l 1 . * L a b e l 2 " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t R e s o u r c e L o c k / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R e s o u r c e L o c k / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestResourceLock ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R e s o u r c e L o c k / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R e s o u r c e L o c k / o u t p u t . l o g "
)
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t S c h e d u l e r / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S c h e d u l e r / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestScheduler ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S c h e d u l e r / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S c h e d u l e r / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestScheduler PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " S t a r t 1 . * S t a r t 2 . * S t a r t 3 . * S t a r t 4 . * S t a r t 4 . * S t a r t 3 . * S t a r t 2 . * S t a r t 1 "
R E S O U R C E _ L O C K " C o s t D a t a " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t C o s t S e r i a l / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C o s t S e r i a l / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestCostSerial ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C o s t S e r i a l / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C o s t S e r i a l / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestCostSerial PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " S t a r t 2 . * S t a r t 3 . * S t a r t 1 . * S t a r t 2 . * S t a r t 3 . * S t a r t 1 "
R E S O U R C E _ L O C K " C o s t D a t a " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / G e t D a t e . c m a k e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / G e t D a t e . c m a k e "
C O P Y O N L Y )
ADD_TEST ( CTestTestStopTime ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S t o p T i m e / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestStopTime PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " T h e s t o p t i m e h a s b e e n p a s s e d " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t S u b d i r / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S u b d i r / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestSubdir ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S u b d i r / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t S u b d i r / t e s t O u t p u t . l o g "
)
#make sure all 3 subdirs were added
SET_TESTS_PROPERTIES ( CTestTestSubdir PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " 0 t e s t s f a i l e d o u t o f 3 " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t T i m e o u t / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t T i m e o u t / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestTimeout ${ CMAKE_CTEST_COMMAND }
- C " \ $ { C T e s t T e s t _ C O N F I G } "
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t T i m e o u t / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t T i m e o u t / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestTimeout PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " T e s t T i m e o u t * \ \ . + * \ \ * \ \ * \ \ * T i m e o u t . * C h e c k C h i l d * \ \ . + * P a s s e d " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t Z e r o T i m e o u t / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t Z e r o T i m e o u t / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestZeroTimeout ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t Z e r o T i m e o u t / t e s t . c m a k e " - V
- - o u t p u t - l o g
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t Z e r o T i m e o u t / t e s t O u t p u t . l o g " )
SET_TESTS_PROPERTIES ( CTestTestZeroTimeout PROPERTIES
F A I L _ R E G U L A R _ E X P R E S S I O N " \ \ * \ \ * \ \ * T i m e o u t " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t D e p e n d s / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t D e p e n d s / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestDepends ${ CMAKE_CTEST_COMMAND }
- C " \ $ { C T e s t T e s t _ C O N F I G } "
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t D e p e n d s / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t D e p e n d s / t e s t O u t p u t . l o g "
)
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t C y c l e / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C y c l e / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestCycle ${ CMAKE_CTEST_COMMAND }
- C " \ $ { C T e s t T e s t _ C O N F I G } "
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C y c l e / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C y c l e / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestCycle PROPERTIES
P A S S _ R E G U L A R _ E X P R E S S I O N " a c y c l e e x i s t s i n t h e t e s t d e p e n d e n c y g r a p h " )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / t e s t . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
CONFIGURE_FILE (
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / h e l l o . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / h e l l o . c m a k e "
@ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestRunScript ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t R u n S c r i p t / t e s t O u t p u t . l o g "
)
ADD_TEST ( CTestTestShowOnly ${ CMAKE_CTEST_COMMAND } -N )
ADD_TEST ( CTestBatchTest ${ CMAKE_CTEST_COMMAND } -B )
# Use macro, not function so that build can still be driven by CMake 2.4.
# After 2.6 is required, this could be a function without the extra 'set'
# calls.
#
macro ( add_failed_submit_test name source build in out log regex )
# Have variables named source, build and drop_method because the
# configure_file call expects those variables to be defined.
#
set ( source "${source}" )
set ( build "${build}" )
configure_file ( "${in}" "${out}" @ONLY )
add_test ( ${ name } ${ CMAKE_CTEST_COMMAND } -S "${out}" -V --output-log "${log}" )
set_tests_properties ( ${ name } PROPERTIES PASS_REGULAR_EXPRESSION "${regex}" )
endmacro ( )
set ( regex "(Problems when submitting via S*CP" )
set ( regex "${regex}|Error message was: " )
set ( regex "${regex}([Cc]ould *n.t resolve host" )
set ( regex "${regex}|[Cc]ould *n.t connect to host" )
set ( regex "${regex}|Empty reply from server" )
set ( regex "${regex}|The requested URL returned error" )
set ( regex "${regex}|libcurl was built with SSL disabled. https: not supported)" )
set ( regex "${regex}|Submission method .xmlrpc. not compiled into CTest" )
set ( regex "${regex}|Submission problem" )
set ( regex "${regex}|Submission successful)" )
set ( ctest_coverage_labels_args "" )
foreach ( drop_method cp ftp http https scp xmlrpc )
# Cycle through these values each time through the loop:
if ( ctest_coverage_labels_args STREQUAL "" )
set ( ctest_coverage_labels_args "LABELS Everything" )
elseif ( ctest_coverage_labels_args STREQUAL "LABELS Everything" )
set ( ctest_coverage_labels_args "LABELS 0ArgTest" )
else ( )
set ( ctest_coverage_labels_args "" )
endif ( )
add_failed_submit_test ( CTestTestFailedSubmit- ${ drop_method }
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t / S m a l l A n d F a s t "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l e d S u b m i t s / $ { d r o p _ m e t h o d } "
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / C T e s t T e s t F a i l e d S u b m i t s / t e s t . c m a k e . i n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l e d S u b m i t s / t e s t - $ { d r o p _ m e t h o d } . c m a k e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t F a i l e d S u b m i t s / t e s t - $ { d r o p _ m e t h o d } . l o g "
" $ { r e g e x } "
)
endforeach ( )
IF ( CMAKE_TESTS_CDASH_SERVER )
SET ( regex "^([^:]+)://([^/]+)(/.*)$" )
IF ( "${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}" )
SET ( protocol "${CMAKE_MATCH_1}" )
SET ( server "${CMAKE_MATCH_2}" )
SET ( path "${CMAKE_MATCH_3}" )
ELSE ( "${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}" )
SET ( protocol "http" )
SET ( server "www.cdash.org" )
SET ( path "/CDash" )
MESSAGE ( "warning: CMAKE_TESTS_CDASH_SERVER does not match expected regex..." )
MESSAGE ( " ...using default url='${protocol}://${server}${path}' for CTestTest[23]" )
ENDIF ( "${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}" )
ENDIF ( CMAKE_TESTS_CDASH_SERVER )
IF ( CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS AND CMAKE_TESTS_CDASH_SERVER )
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t / t e s t . c m a k e " @ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTest ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t / t e s t O u t p u t . l o g "
)
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t 2 / t e s t . c m a k e " @ O N L Y E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTest2 ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t 2 / t e s t . c m a k e " - V
- - o u t p u t - l o g " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t 2 / t e s t O u t p u t . l o g "
)
CONFIGURE_FILE ( "${CMake_SOURCE_DIR}/Tests/CTestTestChecksum/test.cmake.in"
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C h e c k s u m / t e s t . c m a k e " @ O N L Y
E S C A P E _ Q U O T E S )
ADD_TEST ( CTestTestChecksum ${ CMAKE_CTEST_COMMAND }
- S " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C h e c k s u m / t e s t . c m a k e " - V
- - o u t p u t - l o g
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C T e s t T e s t C h e c k s u m / t e s t O u t p u t . l o g "
)
SET_TESTS_PROPERTIES ( CTestTestChecksum PROPERTIES PASS_REGULAR_EXPRESSION
" S u b m i s s i o n f a i l e d : C h e c k s u m f a i l e d f o r f i l e " )
# these tests take a long time, make sure they have it
# if timeouts have not already been set
GET_TEST_PROPERTY ( CTestTest TIMEOUT PREVIOUS_TIMEOUT )
IF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
SET_TESTS_PROPERTIES ( CTestTest
P R O P E R T I E S T I M E O U T $ { C M A K E _ L O N G _ T E S T _ T I M E O U T } )
ENDIF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
GET_TEST_PROPERTY ( CTestTest2 TIMEOUT PREVIOUS_TIMEOUT )
IF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
SET_TESTS_PROPERTIES ( CTestTest2
P R O P E R T I E S T I M E O U T $ { C M A K E _ L O N G _ T E S T _ T I M E O U T } )
ENDIF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
ENDIF ( CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS AND CMAKE_TESTS_CDASH_SERVER )
IF ( CMAKE_RUN_LONG_TESTS AND TEST_KDE4_STABLE_BRANCH )
IF ( UNIX )
IF ( NOT QT4_FOUND )
FIND_PACKAGE ( Qt4 )
ENDIF ( NOT QT4_FOUND )
SET ( TRY_BUILD_KDE4 TRUE )
IF ( QT4_FOUND )
# check whether it's Qt 4.5 in a cmake 2.4. compatible way:
IF ( NOT EXISTS "${QT_QTNETWORK_INCLUDE_DIR}/QAbstractNetworkCache" )
SET ( TRY_BUILD_KDE4 FALSE )
ENDIF ( NOT EXISTS "${QT_QTNETWORK_INCLUDE_DIR}/QAbstractNetworkCache" )
ELSE ( QT4_FOUND )
SET ( TRY_BUILD_KDE4 FALSE )
ENDIF ( QT4_FOUND )
FIND_PACKAGE ( Perl )
IF ( NOT PERL_FOUND )
SET ( TRY_BUILD_KDE4 FALSE )
ENDIF ( NOT PERL_FOUND )
FIND_PACKAGE ( ZLIB )
IF ( NOT ZLIB_FOUND )
SET ( TRY_BUILD_KDE4 FALSE )
ENDIF ( NOT ZLIB_FOUND )
IF ( TRY_BUILD_KDE4 )
FILE ( MAKE_DIRECTORY ${ CMake_BINARY_DIR } /Tests/KDE4StableBranchTest )
SET ( TEST_KDE4_BASE_DIR ${ CMake_BINARY_DIR } /Tests/KDE4StableBranchTest )
CONFIGURE_FILE ( ${ CMake_SOURCE_DIR } /Tests/KDE4StableBranchTest/test_kde4.sh.in ${ CMake_BINARY_DIR } /Tests/KDE4StableBranchTest/test_kde4.sh @ONLY )
EXECUTE_PROCESS ( COMMAND chmod 755 ${ CMake_BINARY_DIR } /Tests/KDE4StableBranchTest/test_kde4.sh )
ADD_TEST ( KDE4StableBranchTest ${ CMake_BINARY_DIR } /Tests/KDE4StableBranchTest/test_kde4.sh )
ENDIF ( TRY_BUILD_KDE4 )
ENDIF ( UNIX )
ENDIF ( CMAKE_RUN_LONG_TESTS AND TEST_KDE4_STABLE_BRANCH )
IF ( "${CMAKE_TEST_GENERATOR}" MATCHES Xcode )
SET ( CMAKE_SKIP_BOOTSTRAP_TEST 1 )
ENDIF ( "${CMAKE_TEST_GENERATOR}" MATCHES Xcode )
IF ( EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt" )
# If there is CMakeLists.txt in the binary tree, assume in-source build
SET ( CMAKE_SKIP_BOOTSTRAP_TEST 1 )
ENDIF ( EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt" )
SET ( bootstrap "" )
IF ( CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST )
IF ( UNIX )
SET ( bootstrap ${ CMake_SOURCE_DIR } /bootstrap )
ELSEIF ( MSYS )
CONFIGURE_FILE ( ${ CMAKE_CURRENT_SOURCE_DIR } /bootstrap.bat.in
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / b o o t s t r a p . b a t @ O N L Y )
SET ( bootstrap ${ CMAKE_CURRENT_BINARY_DIR } /bootstrap.bat )
ENDIF ( )
ENDIF ( )
IF ( bootstrap )
ADD_TEST ( BootstrapTest ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
$ { C M a k e _ S O U R C E _ D I R }
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B o o t s t r a p T e s t
- - b u i l d - n o c m a k e
- - b u i l d - n o c l e a n
- - b u i l d - m a k e p r o g r a m $ { b o o t s t r a p }
- - b u i l d - g e n e r a t o r " $ { C M A K E _ T E S T _ G E N E R A T O R } "
- - t e s t - c o m m a n d
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / B o o t s t r a p T e s t / B o o t s t r a p . c m k / c m a k e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BootstrapTest" )
# Make this test run early during parallel execution
SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES COST 5000 )
# provide more time for the bootstrap test
GET_TEST_PROPERTY ( BootstrapTest TIMEOUT PREVIOUS_TIMEOUT )
IF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
SET_TESTS_PROPERTIES ( BootstrapTest
P R O P E R T I E S T I M E O U T 5 4 0 0 )
ENDIF ( "${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND )
ENDIF ( )
# fortran does not work for IDE builds because
# CMAKE_STANDARD_LIBRARIES needs to be per language
IF ( CMAKE_TEST_GENERATOR MATCHES "Make|KDevelop" )
INCLUDE ( ${ CMAKE_CURRENT_SOURCE_DIR } /CheckFortran.cmake )
IF ( CMAKE_Fortran_COMPILER )
ADD_TEST ( Fortran ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / F o r t r a n "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / F o r t r a n "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t t e s t f
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - t e s t - c o m m a n d t e s t f )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Fortran" )
# FortranCInterface tests.
IF ( UNIX )
CONFIGURE_FILE ( ${ CMAKE_CURRENT_SOURCE_DIR } /FortranC/Flags.cmake.in
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / F o r t r a n C / F l a g s . c m a k e @ O N L Y )
ADD_TEST ( FortranC.Flags ${ CMAKE_CMAKE_COMMAND } -P
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / F o r t r a n C / F l a g s . c m a k e )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranC/Flags" )
ENDIF ( )
ENDIF ( )
ENDIF ( )
find_package ( Java QUIET )
IF ( JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW
A N D N O T " $ { C M A K E _ T E S T _ G E N E R A T O R } " M A T C H E S " X c o d e " )
GET_FILENAME_COMPONENT ( JNIPATH ${ JAVA_COMPILE } PATH )
FIND_FILE ( JNI_H jni.h
" $ { J N I P A T H } / . . / i n c l u d e "
" $ { J N I P A T H } / . . / j a v a / i n c l u d e " )
IF ( JNI_H AND EXISTS "${JNI_H}" ) # in case jni.h is a broken symlink
FILE ( READ "${JNI_H}" JNI_FILE )
IF ( "${JNI_FILE}" MATCHES "JDK1_2" )
ADD_TEST ( Java ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / J a v a "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J a v a "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t h e l l o
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - t w o - c o n f i g
- - b u i l d - r u n - d i r " $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / J a v a / "
- - t e s t - c o m m a n d $ { J A V A _ R U N T I M E } - c l a s s p a t h h e l l o . j a r H e l l o W o r l d )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Java" )
ENDIF ( "${JNI_FILE}" MATCHES "JDK1_2" )
ENDIF ( )
ENDIF ( )
# add some cross compiler tests, for now only with makefile based generators
IF ( CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop" )
# if sdcc is found, build the SimpleCOnly project with sdcc
FIND_PROGRAM ( SDCC_EXECUTABLE sdcc )
MARK_AS_ADVANCED ( SDCC_EXECUTABLE )
IF ( SDCC_EXECUTABLE )
ADD_TEST ( SimpleCOnly_sdcc ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e C O n l y "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e C O n l y _ s d c c "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t S i m p l e C
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - o p t i o n s
" - D C M A K E _ S Y S T E M _ N A M E = G e n e r i c "
" - D C M A K E _ C _ C O M P I L E R = $ { S D C C _ E X E C U T A B L E } " )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleCOnly_sdcc" )
ENDIF ( SDCC_EXECUTABLE )
# If a Linux -> MinGW cross compiler is found then try it
FIND_PROGRAM ( MINGW_CC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-gcc )
FIND_PROGRAM ( MINGW_CXX_LINUX2WIN_EXECUTABLE i586-mingw32msvc-g++ )
FIND_PROGRAM ( MINGW_RC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-windres )
MARK_AS_ADVANCED ( MINGW_CC_LINUX2WIN_EXECUTABLE MINGW_CXX_LINUX2WIN_EXECUTABLE MINGW_RC_LINUX2WIN_EXECUTABLE )
IF ( MINGW_CC_LINUX2WIN_EXECUTABLE AND MINGW_CXX_LINUX2WIN_EXECUTABLE AND MINGW_RC_LINUX2WIN_EXECUTABLE )
ADD_TEST ( Simple_Mingw_Linux2Win ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / S i m p l e "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / S i m p l e _ M i n g w _ L i n u x 2 W i n "
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t S i m p l e
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - b u i l d - o p t i o n s
" - D C M A K E _ S Y S T E M _ N A M E = W i n d o w s "
" - D C M A K E _ C _ C O M P I L E R = $ { M I N G W _ C C _ L I N U X 2 W I N _ E X E C U T A B L E } "
" - D C M A K E _ C X X _ C O M P I L E R = $ { M I N G W _ C X X _ L I N U X 2 W I N _ E X E C U T A B L E } "
" - D C M A K E _ R C _ C O M P I L E R = $ { M I N G W _ R C _ L I N U X 2 W I N _ E X E C U T A B L E } "
)
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_Mingw_Linux2Win" )
ENDIF ( )
ENDIF ( CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop" )
IF ( UNIX )
STRING ( COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
P R E F I X _ I S _ F O R _ T E S T )
IF ( PREFIX_IS_FOR_TEST )
CONFIGURE_FILE (
$ { C M a k e _ S O U R C E _ D I R } / T e s t s / T e s t I n s t a l l . s h . i n
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / T e s t S h e l l I n s t a l l / T e s t I n s t a l l . s h
@ O N L Y I M M E D I A T E
)
ADD_TEST ( ShellInstall /bin/sh ${ CMake_BINARY_DIR } /Tests/TestShellInstall/TestShellInstall.sh )
ENDIF ( PREFIX_IS_FOR_TEST )
ENDIF ( UNIX )
IF ( CMAKE_TEST_PROJECT_CSE_DIR )
SET ( script "${CMAKE_TEST_PROJECT_CSE_DIR}/BuildProjectCSE.cmake" )
IF ( NOT EXISTS "${script}" )
SET ( script "${CMAKE_TEST_PROJECT_CSE_DIR}/cse_build.cmake" )
ENDIF ( NOT EXISTS "${script}" )
IF ( NOT EXISTS "${script}" )
MESSAGE ( "warning: CMAKE_TEST_PROJECT_CSE_DIR set, but no build script found..." )
ENDIF ( NOT EXISTS "${script}" )
ADD_TEST ( BuildCSE ${ CMAKE_CTEST_COMMAND } -V -S "${script}" )
SET_TESTS_PROPERTIES ( BuildCSE PROPERTIES TIMEOUT 5400 )
ENDIF ( CMAKE_TEST_PROJECT_CSE_DIR )
IF ( CMAKE_TEST_PLPLOT_DIR )
ADD_TEST ( plplot ${ CMAKE_CTEST_COMMAND } -V -S ${ CMAKE_TEST_PLPLOT_DIR } /../../EasyDashboardScripts/plplot.cmake )
SET_TESTS_PROPERTIES ( plplot PROPERTIES TIMEOUT 5400 )
ENDIF ( CMAKE_TEST_PLPLOT_DIR )
IF ( CMAKE_TEST_CHICKEN_DIR )
ADD_TEST ( Chicken ${ CMAKE_CTEST_COMMAND } -V -S ${ CMAKE_TEST_CHICKEN_DIR } /../../EasyDashboardScripts/Chicken.cmake )
SET_TESTS_PROPERTIES ( Chicken PROPERTIES TIMEOUT 5400 )
ENDIF ( CMAKE_TEST_CHICKEN_DIR )
IF ( CMAKE_TEST_KDELIBS_ALPHA_1_DIR )
ADD_TEST ( KDELibsAlpha1 ${ CMAKE_CTEST_COMMAND } -V -S ${ CMAKE_TEST_KDELIBS_ALPHA_1_DIR } /../../EasyDashboardScripts/kdelibs.cmake )
SET_TESTS_PROPERTIES ( KDELibsAlpha1 PROPERTIES TIMEOUT 5400 )
ENDIF ( CMAKE_TEST_KDELIBS_ALPHA_1_DIR )
# If this is not an in-source build, provide a target to wipe out
# all the test build directories.
IF ( NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt" )
CONFIGURE_FILE ( ${ CMake_SOURCE_DIR } /Tests/test_clean.cmake.in
$ { C M a k e _ B I N A R Y _ D I R } / T e s t s / t e s t _ c l e a n . c m a k e @ O N L Y )
ADD_CUSTOM_TARGET ( test_clean
C O M M A N D $ { C M A K E _ C O M M A N D } - P $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / t e s t _ c l e a n . c m a k e
C O M M E N T " R e m o v i n g t e s t b u i l d d i r e c t o r i e s . "
)
ENDIF ( NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt" )
ADD_TEST ( CMakeWizardTest ${ CMAKE_CMAKE_COMMAND }
- D b u i l d _ d i r : S T R I N G = $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / C M a k e W i z a r d T e s t
- D s o u r c e _ d i r : S T R I N G = $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / T u t o r i a l / S t e p 3
- D C M A K E _ C T E S T _ C O M M A N D : S T R I N G = $ { C M A K E _ C T E S T _ C O M M A N D }
- P $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / C M a k e W i z a r d T e s t . c m a k e )
# If the cache variable CMAKE_CONTRACT_PROJECTS is set
# then the dashboard will run a contract with CMake test of that
# name. For example CMAKE_CONTRACT_PROJECTS = vtk542 would run
# the vtk542 contract test.
# For each Contract test, the project should provide a directory
# with at least one CMakeLists.txt file that uses ExternalProject
# to download and configure the project. The directory should also
# contain a RunTest.cmake file that has a single set of the format:
# SET(project_RUN_TEST testToRun)
# The testToRun should be a test executable that can be run to
# smoke test the build.
FOREACH ( project ${ CMAKE_CONTRACT_PROJECTS } )
INCLUDE ( Contracts/ ${ project } /RunTest.cmake )
ADD_TEST_MACRO ( Contracts. ${ project }
$ { $ { p r o j e c t } _ R U N _ T E S T } )
# Contract test timeout in seconds.
# Default to 6 hours.
IF ( DEFINED ${ project } _TEST_TIMEOUT )
SET ( timeout ${ ${project } _TEST_TIMEOUT} )
ELSEIF ( CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT )
SET ( timeout ${ CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT } )
ELSE ( )
SET ( timeout 21600 )
ENDIF ( )
SET_TESTS_PROPERTIES ( Contracts. ${ project } PROPERTIES TIMEOUT ${ timeout } )
ENDFOREACH ( )
IF ( TEST_CompileCommandOutput )
SET ( CompileCommandOutput_EXTRA_OPTIONS
- - b u i l d - o p t i o n s - D M A K E _ S U P P O R T S _ S P A C E S = $ { M A K E _ I S _ G N U } )
ADD_TEST_MACRO ( CompileCommandOutput
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / C M a k e L i b / r u n c o m p i l e c o m m a n d s " )
ENDIF ( )
ADD_TEST ( IncludeDirectories ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / I n c l u d e D i r e c t o r i e s "
" $ { C M a k e _ B I N A R Y _ D I R } / T e s t s / I n c l u d e D i r e c t o r i e s "
- - b u i l d - t w o - c o n f i g
- - b u i l d - g e n e r a t o r $ { C M A K E _ T E S T _ G E N E R A T O R }
- - b u i l d - p r o j e c t I n c l u d e D i r e c t o r i e s
- - b u i l d - m a k e p r o g r a m $ { C M A K E _ T E S T _ M A K E P R O G R A M }
- - t e s t - c o m m a n d I n c l u d e D i r e c t o r i e s )
LIST ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/IncludeDirectories" )
ENDIF ( BUILD_TESTING )
SUBDIRS ( CMakeTests )