CMake/Source/CMakeLists.txt

1275 lines
43 KiB
CMake
Raw Normal View History

CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
2002-04-22 19:50:43 +04:00
2005-12-30 22:50:15 +03:00
INCLUDE_REGULAR_EXPRESSION("^.*$")
2005-03-04 19:38:34 +03:00
# configure the .h file
CONFIGURE_FILE(
"${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
"${CMake_BINARY_DIR}/Source/cmConfigure.h"
)
2006-01-02 07:31:17 +03:00
CONFIGURE_FILE(
"${CMake_SOURCE_DIR}/Source/CPack/cmCPackConfigure.h.in"
"${CMake_BINARY_DIR}/Source/CPack/cmCPackConfigure.h"
)
2005-03-04 19:38:34 +03:00
2006-04-21 22:26:11 +04:00
# add the include path to find the .h
INCLUDE_DIRECTORIES(
"${CMake_BINARY_DIR}/Source"
"${CMake_SOURCE_DIR}/Source"
2005-03-16 20:54:35 +03:00
${CMAKE_ZLIB_INCLUDES}
${CMAKE_EXPAT_INCLUDES}
2005-12-29 00:30:28 +03:00
${CMAKE_TAR_INCLUDES}
${CMAKE_COMPRESS_INCLUDES}
)
2005-03-04 19:38:34 +03:00
# let cmake know it is supposed to use it
ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
OPTION(CMAKE_REGENERATE_YACCLEX
"Regenerate YACC and LEXX files" OFF)
MARK_AS_ADVANCED(CMAKE_REGENERATE_YACCLEX)
IF(CMAKE_REGENERATE_YACCLEX)
SET(parsersLexers cmCommandArgument cmExpr)
FIND_PROGRAM(YACC_EXECUTABLE
NAMES yacc bison
PATHS /usr/bin
DOC "Yacc or Bison executable")
FIND_PROGRAM(FLEX_EXECUTABLE
NAMES flex
PATHS /usr/bin
DOC "Flex executable")
MARK_AS_ADVANCED(YACC_EXECUTABLE FLEX_EXECUTABLE)
IF(YACC_EXECUTABLE)
SET(BISON_FLAGS)
IF(YACC_EXECUTABLE MATCHES "bison")
SET(BISON_FLAGS "--yacc")
ENDIF(YACC_EXECUTABLE MATCHES "bison")
SET(yacc_files)
FOREACH(name ${parsersLexers})
SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
ADD_CUSTOM_COMMAND(
OUTPUT "${dst}"
DEPENDS "${src}"
COMMAND ${YACC_EXECUTABLE}
ARGS --name-prefix=${name}_yy --defines="${hdr}" -o"${dst}" "${src}")
SET(yacc_files ${yacc_files} "${dst}")
ENDFOREACH(name)
ADD_CUSTOM_TARGET(RerunYacc DEPENDS ${yacc_files})
ENDIF(YACC_EXECUTABLE)
IF(FLEX_EXECUTABLE)
SET(lex_files)
FOREACH(name ${parsersLexers})
SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
ADD_CUSTOM_COMMAND(
OUTPUT "${dst}"
DEPENDS "${src}"
COMMAND ${FLEX_EXECUTABLE}
ARGS --prefix=${name}_yy --header-file="${hdr}" -o"${dst}" "${src}")
SET(lex_files ${lex_files} "${dst}")
ENDFOREACH(name)
ADD_CUSTOM_TARGET(RerunLex DEPENDS ${lex_files})
ENDIF(FLEX_EXECUTABLE)
ENDIF(CMAKE_REGENERATE_YACCLEX)
2005-03-04 19:38:34 +03:00
#
# Sources for CMakeLib
#
SET(SRCS
2005-01-29 01:14:49 +03:00
cmBootstrapCommands.cxx
2005-01-18 21:41:23 +03:00
cmCacheManager.cxx
cmCacheManager.h
cmCommands.cxx
cmCommands.h
cmCommandArgumentLexer.cxx
cmCommandArgumentParser.cxx
cmCommandArgumentParserHelper.cxx
2005-01-18 21:41:23 +03:00
cmCustomCommand.cxx
cmCustomCommand.h
2005-01-29 01:14:49 +03:00
cmDepends.cxx
cmDepends.h
cmDependsC.cxx
cmDependsC.h
cmDependsFortran.cxx
cmDependsFortran.h
cmDependsFortranLexer.cxx
cmDependsFortranParser.cxx
2005-01-29 01:14:49 +03:00
cmDependsFortranParser.h
cmDependsJava.cxx
cmDependsJava.h
2005-01-29 01:14:49 +03:00
cmDependsJavaLexer.cxx
cmDependsJavaParser.cxx
cmDependsJavaParserHelper.cxx
cmDependsJavaParserHelper.h
2005-01-18 21:41:23 +03:00
cmDocumentation.cxx
cmDynamicLoader.cxx
cmDynamicLoader.h
cmExprLexer.cxx
cmExprParser.cxx
cmExprParserHelper.cxx
2006-12-04 19:05:23 +03:00
cmFileTimeComparison.cxx
cmFileTimeComparison.h
2005-01-18 21:41:23 +03:00
cmGeneratedFileStream.cxx
cmGlobalGenerator.cxx
cmGlobalGenerator.h
2005-05-12 18:49:56 +04:00
cmGlobalUnixMakefileGenerator3.cxx
cmGlobalUnixMakefileGenerator3.h
cmInstallGenerator.h
cmInstallGenerator.cxx
cmInstallFilesGenerator.h
cmInstallFilesGenerator.cxx
cmInstallScriptGenerator.h
cmInstallScriptGenerator.cxx
cmInstallTargetGenerator.h
cmInstallTargetGenerator.cxx
cmInstallDirectoryGenerator.h
cmInstallDirectoryGenerator.cxx
2005-01-18 21:41:23 +03:00
cmListFileCache.cxx
cmListFileCache.h
cmListFileLexer.c
cmLocalGenerator.cxx
cmLocalGenerator.h
2005-05-12 18:49:56 +04:00
cmLocalUnixMakefileGenerator3.cxx
2005-01-18 21:41:23 +03:00
cmMakeDepend.cxx
cmMakeDepend.h
cmMakefile.cxx
cmMakefile.h
cmMakefileTargetGenerator.cxx
cmMakefileExecutableTargetGenerator.cxx
cmMakefileLibraryTargetGenerator.cxx
cmMakefileUtilityTargetGenerator.cxx
cmOrderLinkDirectories.cxx
2006-12-04 19:05:23 +03:00
cmProperty.cxx
cmProperty.h
cmPropertyDefinition.cxx
cmPropertyDefinition.h
cmPropertyDefinitionMap.cxx
cmPropertyDefinitionMap.h
cmPropertyMap.cxx
cmPropertyMap.h
2005-01-18 21:41:23 +03:00
cmSourceFile.cxx
cmSourceFile.h
cmSourceGroup.cxx
cmSourceGroup.h
cmSystemTools.cxx
cmSystemTools.h
cmTarget.cxx
cmTarget.h
cmTest.cxx
cmTest.h
2005-01-18 21:41:23 +03:00
cmVariableWatch.cxx
cmVariableWatch.h
cmVersion.cxx
cmVersion.h
cmXMLParser.cxx
cmXMLParser.h
cmake.cxx
cmake.h
cmakewizard.cxx
cmakewizard.h
)
2001-06-12 21:30:13 +04:00
# Kdevelop only works on UNIX and not windows
2004-10-12 18:57:24 +04:00
IF(UNIX)
SET(SRCS ${SRCS}
cmGlobalKdevelopGenerator.cxx)
2004-10-12 18:57:24 +04:00
ENDIF(UNIX)
2005-03-14 21:23:14 +03:00
# XCode only works on apple
IF(APPLE)
SET(SRCS ${SRCS}
cmXCodeObject.cxx
2005-09-03 00:29:32 +04:00
cmXCode21Object.cxx
2005-03-14 21:23:14 +03:00
cmGlobalXCodeGenerator.cxx
cmGlobalXCodeGenerator.h
cmGlobalXCode21Generator.cxx
cmGlobalXCode21Generator.h
2005-03-14 21:23:14 +03:00
cmLocalXCodeGenerator.cxx
cmLocalXCodeGenerator.h)
ENDIF(APPLE)
2001-06-12 21:30:13 +04:00
IF (WIN32)
IF(NOT UNIX)
SET(SRCS ${SRCS}
cmGlobalBorlandMakefileGenerator.cxx
cmGlobalBorlandMakefileGenerator.h
cmGlobalMSYSMakefileGenerator.cxx
cmGlobalMinGWMakefileGenerator.cxx
cmGlobalNMakeMakefileGenerator.cxx
cmGlobalNMakeMakefileGenerator.h
cmGlobalVisualStudio6Generator.cxx
cmGlobalVisualStudio6Generator.h
cmGlobalVisualStudio71Generator.cxx
cmGlobalVisualStudio71Generator.h
cmGlobalVisualStudio7Generator.cxx
cmGlobalVisualStudio7Generator.h
cmGlobalVisualStudio8Generator.cxx
cmGlobalVisualStudio8Generator.h
cmGlobalVisualStudio8Win64Generator.cxx
cmGlobalVisualStudio8Win64Generator.h
cmGlobalWatcomWMakeGenerator.cxx
cmLocalVisualStudio6Generator.cxx
cmLocalVisualStudio6Generator.h
cmLocalVisualStudio7Generator.cxx
cmLocalVisualStudio7Generator.h
cmLocalVisualStudioGenerator.cxx
cmLocalVisualStudioGenerator.h
cmWin32ProcessExecution.cxx
cmWin32ProcessExecution.h
)
ENDIF(NOT UNIX)
2001-06-12 21:30:13 +04:00
ENDIF (WIN32)
# create a library used by the command line and the GUI
ADD_LIBRARY(CMakeLib ${SRCS})
TARGET_LINK_LIBRARIES(CMakeLib cmsys
${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
${CMAKE_TAR_LIBRARIES} ${CMAKE_COMPRESS_LIBRARIES})
# On Apple we need Carbon
IF(APPLE)
2006-10-03 23:25:58 +04:00
TARGET_LINK_LIBRARIES(CMakeLib "-framework CoreFoundation")
ENDIF(APPLE)
# On some platforms we need the rpcrt4 library for the VS 7 generators.
IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
2005-03-04 19:38:34 +03:00
#
# CTestLib
#
INCLUDE_DIRECTORIES(
"${CMAKE_SOURCE_DIR}/Source/CTest"
${CMAKE_XMLRPC_INCLUDES}
2005-06-24 17:06:26 +04:00
${CMAKE_CURL_INCLUDES}
)
2005-03-04 19:38:34 +03:00
#
# Sources for CTestLib
#
2006-04-21 22:26:11 +04:00
SET(CMTEST_SRCS cmCTest.cxx
CTest/cmCTestBuildAndTestHandler.cxx
CTest/cmCTestBuildCommand.cxx
2004-09-07 18:37:39 +04:00
CTest/cmCTestBuildHandler.cxx
CTest/cmCTestConfigureCommand.cxx
2004-09-09 16:41:05 +04:00
CTest/cmCTestConfigureHandler.cxx
CTest/cmCTestCoverageCommand.cxx
2004-09-09 16:41:05 +04:00
CTest/cmCTestCoverageHandler.cxx
2005-01-27 18:11:04 +03:00
CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
CTest/cmCTestGenericHandler.cxx
CTest/cmCTestHandlerCommand.cxx
CTest/cmCTestMemCheckCommand.cxx
CTest/cmCTestMemCheckHandler.cxx
2006-03-29 00:20:03 +04:00
CTest/cmCTestReadCustomFilesCommand.cxx
2005-01-27 18:11:04 +03:00
CTest/cmCTestRunScriptCommand.cxx
CTest/cmCTestScriptHandler.cxx
2005-01-27 18:11:04 +03:00
CTest/cmCTestSleepCommand.cxx
CTest/cmCTestStartCommand.cxx
CTest/cmCTestSubmitCommand.cxx
CTest/cmCTestSubmitHandler.cxx
CTest/cmCTestTestCommand.cxx
CTest/cmCTestTestHandler.cxx
CTest/cmCTestUpdateCommand.cxx
CTest/cmCTestUpdateHandler.cxx
2005-01-18 21:41:23 +03:00
)
2004-09-06 21:37:34 +04:00
2005-03-04 19:38:34 +03:00
# Build CTestLib
ADD_LIBRARY(CTestLib ${CMTEST_SRCS})
TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
2006-01-02 07:31:17 +03:00
#
# Sources for CPack
#
SET(CPACK_SRCS
CPack/cmCPackGenerators.cxx
CPack/cmCPackGenericGenerator.cxx
CPack/cmCPackLog.cxx
2006-01-02 07:31:17 +03:00
CPack/cmCPackNSISGenerator.cxx
CPack/cmCPackOSXX11Generator.cxx
2006-01-02 07:31:17 +03:00
CPack/cmCPackPackageMakerGenerator.cxx
CPack/cmCPackSTGZGenerator.cxx
CPack/cmCPackTGZGenerator.cxx
CPack/cmCPackTarBZip2Generator.cxx
CPack/cmCPackTarCompressGenerator.cxx
CPack/cmCPackZIPGenerator.cxx
CPack/cmCPackCygwinBinaryGenerator.cxx
CPack/cmCPackCygwinSourceGenerator.cxx
2006-01-02 07:31:17 +03:00
)
# Build CPackLib
ADD_LIBRARY(CPackLib ${CPACK_SRCS})
TARGET_LINK_LIBRARIES(CPackLib CMakeLib)
IF(APPLE)
ADD_EXECUTABLE(cmakexbuild cmakexbuild.cxx)
TARGET_LINK_LIBRARIES(cmakexbuild CMakeLib)
ADD_EXECUTABLE(OSXScriptLauncher
CPack/OSXScriptLauncher.cxx)
TARGET_LINK_LIBRARIES(OSXScriptLauncher cmsys)
TARGET_LINK_LIBRARIES(OSXScriptLauncher "-framework Carbon")
ENDIF(APPLE)
2005-03-04 19:38:34 +03:00
# Build CMake executable
ADD_EXECUTABLE(cmake cmakemain.cxx)
2002-08-21 19:57:12 +04:00
TARGET_LINK_LIBRARIES(cmake CMakeLib)
2005-03-04 19:38:34 +03:00
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
2002-08-21 19:57:12 +04:00
TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
2005-03-04 19:38:34 +03:00
# Build special executable for running programs on Windows 98
IF(WIN32)
2005-03-06 16:17:42 +03:00
IF(NOT UNIX)
ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
INSTALL_TARGETS(/bin cmw9xcom)
2005-03-06 16:17:42 +03:00
ENDIF(NOT UNIX)
2005-03-04 19:38:34 +03:00
ENDIF(WIN32)
# Build CTest executable
ADD_EXECUTABLE(ctest ctest.cxx)
TARGET_LINK_LIBRARIES(ctest CTestLib)
2002-05-02 23:10:19 +04:00
2006-01-02 07:31:17 +03:00
# Build CPack executable
ADD_EXECUTABLE(cpack CPack/cpack.cxx)
TARGET_LINK_LIBRARIES(cpack CPackLib)
2005-03-04 19:38:34 +03:00
# Curses GUI
IF(BUILD_CursesDialog)
INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
ENDIF(BUILD_CursesDialog)
2002-05-02 23:10:19 +04:00
2005-03-04 19:38:34 +03:00
# MFC GUI
# MFC libraries are only available on Visual Studio
IF(BUILD_MFCDialog)
2005-03-04 19:38:34 +03:00
SUBDIRS(MFCDialog)
ENDIF(BUILD_MFCDialog)
2005-03-04 19:38:34 +03:00
# WX Widgets GUI
OPTION(BUILD_WXDialog "Build wxWidgets dialog for CMake" FALSE)
MARK_AS_ADVANCED(BUILD_WXDialog)
IF(BUILD_WXDialog)
SUBDIRS(WXDialog)
ENDIF(BUILD_WXDialog)
2005-03-04 19:38:34 +03:00
# Testing
IF(BUILD_TESTING)
# Should the long tests be run?
OPTION(CMAKE_RUN_LONG_TESTS "Should the long tests be run (such as Bootstrap)." ON)
MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
IF (CMAKE_RUN_LONG_TESTS)
OPTION(CTEST_TEST_CTEST
"Should the tests that run a full sub ctest process be run?"
OFF)
MARK_AS_ADVANCED(CTEST_TEST_CTEST)
ENDIF (CMAKE_RUN_LONG_TESTS)
ADD_TEST(CommandLineTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CommandLineTest"
"${CMake_BINARY_DIR}/Tests/CommandLineTest"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project CommandLineTest
--test-command CommandLineTest)
2005-01-18 21:41:23 +03:00
2005-12-30 23:27:17 +03:00
ADD_TEST(TarTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-12-30 23:27:17 +03:00
"${CMake_SOURCE_DIR}/Tests/TarTest"
"${CMake_BINARY_DIR}/Tests/TarTest"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-12-30 23:27:17 +03:00
--build-project TestTar
--test-command TestTarExec)
ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TargetName"
"${CMake_BINARY_DIR}/Tests/TargetName"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-11-28 00:15:28 +03:00
--build-project TargetName
--test-command ${CMAKE_CMAKE_COMMAND} -E compare_files
${CMake_SOURCE_DIR}/Tests/TargetName/scripts/hello_world
${CMake_BINARY_DIR}/Tests/TargetName/scripts/hello_world)
2006-12-07 18:15:41 +03:00
ADD_TEST(LibName ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LibName"
"${CMake_BINARY_DIR}/Tests/LibName"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project LibName
--build-exe-dir "${CMake_BINARY_DIR}/Tests/LibName/lib"
--test-command foobar
)
ADD_TEST(CustComDepend ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CustComDepend"
"${CMake_BINARY_DIR}/Tests/CustComDepend"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project CustComDepend
--build-exe-dir "${CMake_BINARY_DIR}/Tests/CustComDepend/bin"
--test-command foo bar.c
)
ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CustomCommand"
"${CMake_BINARY_DIR}/Tests/CustomCommand"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project CustomCommand
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
--test-command CustomCommand
)
2006-02-08 18:58:36 +03:00
ADD_TEST(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2006-02-08 18:58:36 +03:00
"${CMake_SOURCE_DIR}/Tests/CustomCommandWorkingDirectory"
"${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project TestWorkingDir
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
--test-command working
)
ADD_TEST(FindPackageTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindPackageTest"
"${CMake_BINARY_DIR}/Tests/FindPackageTest"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project FindPackageTest
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command FindPackageTest)
ADD_TEST(SystemInformation ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SystemInformation"
"${CMake_BINARY_DIR}/Tests/SystemInformation"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project DumpInformation
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command DumpInformation)
ADD_TEST(StringFileTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/StringFileTest"
"${CMake_BINARY_DIR}/Tests/StringFileTest"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project StringFileTest
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command StringFileTest)
2005-01-18 21:41:23 +03:00
ADD_TEST(MathTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/MathTest"
"${CMake_BINARY_DIR}/Tests/MathTest"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project MathTest
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command MathTestExec)
ADD_TEST(TryCompile ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TryCompile"
"${CMake_BINARY_DIR}/Tests/TryCompile"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project TryCompile
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command TryCompile)
ADD_TEST(simple ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-01-18 21:41:23 +03:00
"${CMake_SOURCE_DIR}/Tests/Simple"
"${CMake_BINARY_DIR}/Tests/Simple"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Simple
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command simple)
#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}
2006-04-21 22:26:11 +04:00
# --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
2006-04-21 22:26:11 +04:00
# --test-command
# "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/OutOfSource"
"${CMake_BINARY_DIR}/Tests/OutOfSource"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project OutOfSource
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
2006-04-21 22:26:11 +04:00
--test-command
"${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-01-18 21:41:23 +03:00
"${CMake_SOURCE_DIR}/Tests/PreOrder"
"${CMake_BINARY_DIR}/Tests/PreOrder"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project PreOrder
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command simple)
ADD_TEST(conly ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/COnly"
"${CMake_BINARY_DIR}/Tests/COnly"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project conly
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command conly)
ADD_TEST(CxxOnly ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CxxOnly"
"${CMake_BINARY_DIR}/Tests/CxxOnly"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project cxxonly
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command cxxonly)
2005-06-16 22:56:28 +04:00
ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-06-16 22:56:28 +04:00
"${CMake_SOURCE_DIR}/Tests/MacroTest"
"${CMake_BINARY_DIR}/Tests/MacroTest"
--build-generator ${CMAKE_TEST_GENERATOR}
2006-04-21 22:26:11 +04:00
--build-project littleMacroTest
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-06-16 22:56:28 +04:00
--build-two-config
--test-command miniMacroTest)
2006-04-21 22:26:11 +04:00
SET(SimpleInstallInstallDir
"${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
2004-02-01 20:53:28 +03:00
ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2004-02-01 20:53:28 +03:00
"${CMake_SOURCE_DIR}/Tests/SimpleInstall"
"${CMake_BINARY_DIR}/Tests/SimpleInstall"
--build-generator ${CMAKE_TEST_GENERATOR}
2004-02-01 20:53:28 +03:00
--build-project TestSimpleInstall
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2004-02-01 20:53:28 +03:00
--build-two-config
--build-options
2005-01-18 21:41:23 +03:00
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallExe)
2004-02-08 20:04:10 +03:00
ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
2004-02-08 20:04:10 +03:00
"${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
--build-generator ${CMAKE_TEST_GENERATOR}
2004-02-08 20:04:10 +03:00
--build-project TestSimpleInstall
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2004-02-08 20:04:10 +03:00
--build-two-config
--build-options
2005-01-18 21:41:23 +03:00
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
"-DSTAGE2:BOOL=1"
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallS2)
2004-02-01 20:53:28 +03:00
ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/X11"
"${CMake_BINARY_DIR}/Tests/X11"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project UseX11
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command UseX11)
ADD_TEST(LoadedCommand ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LoadCommand"
"${CMake_BINARY_DIR}/Tests/LoadCommand"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project LoadedCommand
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command LoadedCommand)
ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
"${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project LoadedCommand
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--test-command LoadedCommand
)
# 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)
ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Complex"
"${CMake_BINARY_DIR}/Tests/Complex"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Complex
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Complex/bin"
--build-options
-DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
-DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
2006-04-21 22:26:11 +04:00
--test-command complex
)
ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
"${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Complex
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin"
--build-options
-DCMAKE_TEST_DIFFERENT_GENERATOR:BOOL=${CMAKE_TEST_DIFFERENT_GENERATOR}
-DCMAKE_TEST_SYSTEM_LIBRARIES:BOOL=${CMAKE_TEST_SYSTEM_LIBRARIES}
--test-command complex)
ADD_TEST(SetLang ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SetLang"
"${CMake_BINARY_DIR}/Tests/SetLang"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project SetLang
--test-command bar)
2007-02-20 00:34:05 +03:00
# 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)
2007-02-19 21:26:38 +03:00
2005-05-12 18:58:23 +04:00
# ADD_TEST(complexRelativePaths ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/ComplexRelativePaths"
# "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths"
# --build-generator ${CMAKE_TEST_GENERATOR}
2005-05-12 18:58:23 +04:00
# --build-project complex
# --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
# --build-exe-dir "${CMake_BINARY_DIR}/Tests/ComplexRelativePaths/bin"
2005-05-12 18:58:23 +04:00
# --build-options -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON
# --test-command complex)
ENDIF(NOT COMPILER_IS_COMO)
ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Example"
"${CMake_BINARY_DIR}/Example"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project HELLO
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
--test-command helloDemo
)
2005-11-10 18:55:34 +03:00
ADD_TEST(TutorialStep1 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-11-10 18:55:34 +03:00
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step1"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step1"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-11-10 18:55:34 +03:00
--build-project Tutorial
--test-command Tutorial 25.0)
ADD_TEST(TutorialStep2 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-11-10 18:55:34 +03:00
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step2"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step2"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-11-10 18:55:34 +03:00
--build-project Tutorial
--test-command Tutorial 25.0)
ADD_TEST(TutorialStep3 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-11-10 18:55:34 +03:00
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step3"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step3"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-11-10 18:55:34 +03:00
--build-project Tutorial
--test-command Tutorial 25.0)
ADD_TEST(TutorialStep4 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-11-10 18:55:34 +03:00
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step4"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step4"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-11-10 18:55:34 +03:00
--build-project Tutorial
--test-command Tutorial 25.0)
ADD_TEST(TutorialStep5 ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2005-11-10 18:55:34 +03:00
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step5"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step5"
2006-04-21 22:26:11 +04:00
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-11-10 18:55:34 +03:00
--build-project Tutorial
--test-command Tutorial 25.0)
ADD_TEST(testing ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Testing"
"${CMake_BINARY_DIR}/Tests/Testing"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Testing
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Testing/bin"
--test-command testing
)
2005-01-18 21:41:23 +03:00
ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Wrapping"
"${CMake_BINARY_DIR}/Tests/Wrapping"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Wrapping
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--test-command wrapping
)
# use the FindQt3.cmake from this cmake as it may not be in an older version of cmake
INCLUDE (${CMAKE_SOURCE_DIR}/Modules/FindQt3.cmake)
MARK_AS_ADVANCED(
QT_INCLUDE_PATH
QT_MOC_EXE
QT_QT_LIBRARY
QT_UIC_EXE)
IF (QT_FOUND AND QT_WRAP_UI)
ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Wrapping"
"${CMake_BINARY_DIR}/Tests/Wrapping"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project Wrapping
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--test-command qtwrapping
)
ENDIF (QT_FOUND AND QT_WRAP_UI)
ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--build-project TestDriverTest
--test-command TestDriverTest test1
)
ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--build-project TestDriverTest
--test-command TestDriverTest test2
)
ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--build-project TestDriverTest
--test-command TestDriverTest subdir/test3
)
ADD_TEST(dependency_w_libout ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
"${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
2005-01-18 21:41:23 +03:00
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
2006-04-21 22:26:11 +04:00
--build-project Dependency
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-01-18 21:41:23 +03:00
--build-options
-DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
--test-command exec
)
ADD_TEST(dependency_wo_lib_out ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
"${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-project Dependency
--test-command exec
)
ADD_TEST(dependency2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
2006-04-21 22:26:11 +04:00
"${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-project Dependency
--build-options
-DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
--test-command exec2
)
ADD_TEST(dependency3 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
"${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-project Dependency
--build-options
-DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
--test-command exec3)
ADD_TEST(dependency4 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
"${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-project Dependency
--build-options
-DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib
--test-command exec4
)
ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Jump"
"${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable"
--build-project Jump
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-options
-DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib
--test-command jumpExecutable
2005-01-18 21:41:23 +03:00
)
ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Jump"
"${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
2004-04-02 18:43:35 +04:00
--build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
2006-04-21 22:26:11 +04:00
--build-project Jump
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command jumpExecutable
2005-01-18 21:41:23 +03:00
)
ADD_TEST(linkline ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkLine"
"${CMake_BINARY_DIR}/Tests/LinkLine"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLine"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project LinkLine
--test-command Exec
)
ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
2006-04-21 22:26:11 +04:00
"${CMake_BINARY_DIR}/Tests/LinkLineOrder"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
--build-project LinkLineOrder
--test-command Exec1
)
ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
"${CMake_BINARY_DIR}/Tests/LinkLineOrder"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/LinkLineOrder"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project LinkLineOrder
--test-command Exec2
)
ADD_TEST(ExternalOBJ ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ExternalOBJ"
"${CMake_BINARY_DIR}/Tests/ExternalOBJ"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project ExternalOBJ
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/ExternalOBJ"
--test-command executable
)
IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Source/kwsys"
"${CMake_BINARY_DIR}/Tests/kwsys"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/kwsys"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project kwsys
--test-command kwsysTestsCxx testIOS
)
ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
SET(MAKE_IS_GNU )
IF(COMMAND EXECUTE_PROCESS AND ${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_MAKEPROGRAM} --version
RESULT_VARIABLE res OUTPUT_VARIABLE out
ERROR_QUIET
2007-02-22 18:31:12 +03:00
)
IF("${res}" EQUAL 0)
IF("${out}" MATCHES "GNU")
SET(MAKE_IS_GNU 1)
ENDIF("${out}" MATCHES "GNU")
ENDIF("${res}" EQUAL 0)
ENDIF(COMMAND EXECUTE_PROCESS AND ${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
"${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode")
ADD_TEST(SubDirSpaces ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDirSpaces"
"${CMake_BINARY_DIR}/Tests/SubDirSpaces"
--build-exe-dir
"${CMake_BINARY_DIR}/Tests/SubDirSpaces/Executable Sources"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project SUBDIR
--test-command test
"${CMake_BINARY_DIR}/Tests/SubDirSpaces/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDirSpaces/testfromsubdir.obj"
)
ENDIF (MAKE_IS_GNU OR
"${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode")
2005-01-18 21:41:23 +03:00
IF (WIN32)
ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDir"
"${CMake_BINARY_DIR}/Tests/SubDir"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-01-18 21:41:23 +03:00
--build-project SUBDIR
2006-04-21 22:26:11 +04:00
--test-command test
2005-01-18 21:41:23 +03:00
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
)
ELSE (WIN32)
ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDir"
"${CMake_BINARY_DIR}/Tests/SubDir"
--build-exe-dir "${CMake_BINARY_DIR}/Tests/SubDir/Executable"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-01-18 21:41:23 +03:00
--build-project SUBDIR
2006-04-21 22:26:11 +04:00
--test-command test
2005-01-18 21:41:23 +03:00
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
)
2006-04-21 22:26:11 +04:00
ENDIF (WIN32)
2004-12-03 17:25:00 +03:00
IF(CMAKE_TEST_MSVC)
ADD_TEST(PrecompiledHeader ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/PrecompiledHeader"
"${CMake_BINARY_DIR}/Tests/PrecompiledHeader"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project PrecompiledHeader
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command foo)
ENDIF(CMAKE_TEST_MSVC)
IF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/MakeClean"
"${CMake_BINARY_DIR}/Tests/MakeClean"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project MakeClean
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
--test-command check_clean
)
ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
IF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
2004-09-15 00:01:00 +04:00
ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
2004-09-15 00:01:00 +04:00
"${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
"${CMake_BINARY_DIR}/Tests/VSExternalInclude"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
2004-09-15 00:01:00 +04:00
--build-project VSExternalInclude
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2004-09-15 00:01:00 +04:00
--test-command VSExternalInclude)
ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
2006-04-21 22:26:11 +04:00
SET(BundleTestInstallDir
"${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
2005-07-13 23:49:15 +04:00
ADD_TEST(BundleTest ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/BundleTest"
"${CMake_BINARY_DIR}/Tests/BundleTest"
--build-two-config
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2005-07-13 23:49:15 +04:00
--build-project BundleTest
--build-target install
2006-03-12 17:43:30 +03:00
# --build-target package
--build-options "-DCMAKE_INSTALL_PREFIX:PATH=${BundleTestInstallDir}"
"-DCMake_SOURCE_DIR:PATH=${CMAKE_SOURCE_DIR}"
--test-command
${BundleTestInstallDir}/Application/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
2006-04-21 22:26:11 +04:00
ADD_TEST(objc++ ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ObjC++"
"${CMake_BINARY_DIR}/Tests/ObjC++"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project objc++
--test-command objc++
)
ENDIF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
2004-10-01 02:45:55 +04:00
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
2004-10-19 18:59:34 +04:00
"${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
2004-10-01 02:45:55 +04:00
ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
2004-05-11 02:06:11 +04:00
-S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
2005-06-15 16:54:56 +04:00
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
2004-02-19 18:32:17 +03:00
)
2005-05-05 18:19:09 +04:00
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
)
2006-10-25 17:54:54 +04:00
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest3/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" @ONLY ESCAPE_QUOTES)
ADD_TEST(CTestTest3 ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTest3/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest3/testOutput.log"
)
# these tests take a long time, make sure they have it
2007-01-30 19:48:17 +03:00
IF(COMMAND SET_TESTS_PROPERTIES)
# if timeouts have not already been set
GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
SET_TESTS_PROPERTIES ( CTestTest PROPERTIES TIMEOUT 1500)
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
SET_TESTS_PROPERTIES ( CTestTest2 PROPERTIES TIMEOUT 1500)
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
GET_TEST_PROPERTY(CTestTest3 TIMEOUT PREVIOUS_TIMEOUT)
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
SET_TESTS_PROPERTIES ( CTestTest3 PROPERTIES TIMEOUT 1500)
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
2007-01-30 19:48:17 +03:00
ENDIF(COMMAND SET_TESTS_PROPERTIES)
ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
IF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
2005-02-18 21:32:51 +03:00
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")
2005-02-18 21:32:51 +03:00
IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
2007-02-05 19:13:18 +03:00
2004-10-18 20:33:25 +04:00
ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
--build-and-test
${CMake_SOURCE_DIR}
${CMake_BINARY_DIR}/Tests/BootstrapTest
2006-04-21 22:26:11 +04:00
--build-nocmake
2004-10-19 01:24:12 +04:00
--build-noclean
2004-10-18 20:33:25 +04:00
--build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
--build-generator "${CMAKE_TEST_GENERATOR}"
2007-02-05 19:13:18 +03:00
--test-command
${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
# provide more time for the bootstrap test
IF (COMMAND GET_TEST_PROPERTY)
GET_TEST_PROPERTY(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOT_FOUND)
ENDIF (COMMAND GET_TEST_PROPERTY)
2005-02-18 21:32:51 +03:00
ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
2006-04-21 22:26:11 +04:00
# fortran does not work for IDE builds because
# CMAKE_STANDARD_LIBRARIES needs to be per language
IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles")
# see if we can find a fortran compiler on the machine
# if so, add the fortran test and see if it works.
2006-04-21 22:26:11 +04:00
SET(CMAKE_Fortran_COMPILER_LIST ifort ifc efc f95 pgf95
lf95 xlf95 fort gfortran f90 pgf90 xlf90
epcf90 f77 fort77 frt pgf77 xlf fl32 af77 g77 )
FIND_PROGRAM(CMAKE_Fortran_COMPILER_FULLPATH NAMES ${CMAKE_Fortran_COMPILER_LIST} )
MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_FULLPATH)
IF(CMAKE_Fortran_COMPILER_FULLPATH)
ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Fortran"
"${CMake_BINARY_DIR}/Tests/Fortran"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project testf
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command testf)
ENDIF(CMAKE_Fortran_COMPILER_FULLPATH)
ENDIF(CMAKE_TEST_GENERATOR MATCHES "Makefiles")
IF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
INCLUDE(FindJava)
2005-07-20 20:53:06 +04:00
IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
FIND_FILE(JNI_H jni.h
"${JNIPATH}/../include"
"${JNIPATH}/../java/include")
IF(JNI_H)
2004-09-27 23:11:41 +04:00
FILE(READ "${JNI_H}" JNI_FILE)
IF("${JNI_FILE}" MATCHES "JDK1_2")
ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
2006-04-21 22:26:11 +04:00
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Java"
"${CMake_BINARY_DIR}/Tests/Java"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-project hello
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
2006-04-21 22:26:11 +04:00
--build-two-config
--build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
--test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
2006-04-21 22:26:11 +04:00
ENDIF(JNI_H)
2005-07-20 20:53:06 +04:00
ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
2006-04-21 22:26:11 +04:00
IF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
# Will be set if the WX gui is on
ADD_TEST(UseWX ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/UseWX"
"${CMake_BINARY_DIR}/Tests/UseWX"
--build-generator ${CMAKE_TEST_GENERATOR}
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir ${CMake_BINARY_DIR}/Tests/UseWX
--build-project UsewxWidgets
--build-options -DwxWidgets_CONFIG_EXECUTABLE=${wxWidgets_CONFIG_EXECUTABLE}
--test-command UseWX
2005-01-18 21:41:23 +03:00
)
ENDIF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
IF(UNIX)
STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
2005-01-18 21:41:23 +03:00
PREFIX_IS_FOR_TEST)
IF(PREFIX_IS_FOR_TEST)
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
2004-02-01 20:53:28 +03:00
${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
@ONLY IMMEDIATE
)
2004-02-01 20:53:28 +03:00
ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
ENDIF(PREFIX_IS_FOR_TEST)
ENDIF(UNIX)
ENDIF(BUILD_TESTING)
2001-12-13 02:27:28 +03:00
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
2001-06-12 21:30:13 +04:00
INSTALL_TARGETS(/bin cmake)
2001-08-23 19:12:19 +04:00
INSTALL_TARGETS(/bin ctest)
2006-02-25 00:30:58 +03:00
INSTALL_TARGETS(/bin cpack)
IF(APPLE)
INSTALL_TARGETS(/bin cmakexbuild)
ENDIF(APPLE)
INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)