ENH: more cleanup of some CMakeLists files
This commit is contained in:
parent
cd0cd47416
commit
0f0a83a51f
675
CMakeLists.txt
675
CMakeLists.txt
|
@ -2,6 +2,341 @@ PROJECT(CMake)
|
|||
CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
|
||||
MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# a macro to deal with system libraries, implemented as a macro
|
||||
# simply to improve readability of the main script
|
||||
#-----------------------------------------------------------------------
|
||||
MACRO(CMAKE_HANDLE_SYSTEM_LIBRARIES)
|
||||
# Third party libraries must be something that can be found.
|
||||
IF(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
SET(CMAKE_ALLOW_SYSTEM_LIBRARIES 1)
|
||||
ELSE(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
SET(CMAKE_ALLOW_SYSTEM_LIBRARIES 0)
|
||||
ENDIF(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
|
||||
IF(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
# Options have dependencies.
|
||||
INCLUDE(CMakeDependentOption)
|
||||
|
||||
# Allow the user to enable/disable all system utility library options
|
||||
# by setting CMAKE_USE_SYSTEM_LIBRARIES on the command line.
|
||||
IF(DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES_USER 1)
|
||||
ENDIF(DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
IF(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES ON)
|
||||
ELSE(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES OFF)
|
||||
ENDIF(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
IF(CMAKE_USE_SYSTEM_LIBRARIES_USER)
|
||||
SET(CMAKE_USE_SYSTEM_CURL "${CMAKE_USE_SYSTEM_LIBRARIES}"
|
||||
CACHE BOOL "Use system-installed curl" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_EXPAT "${CMAKE_USE_SYSTEM_LIBRARIES}"
|
||||
CACHE BOOL "Use system-installed expat" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_XMLRPC "${CMAKE_USE_SYSTEM_LIBRARIES}"
|
||||
CACHE BOOL "Use system-installed xmlrpc" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_ZLIB "${CMAKE_USE_SYSTEM_LIBRARIES}"
|
||||
CACHE BOOL "Use system-installed zlib" FORCE)
|
||||
ENDIF(CMAKE_USE_SYSTEM_LIBRARIES_USER)
|
||||
|
||||
# Optionally use system utility libraries.
|
||||
OPTION(CMAKE_USE_SYSTEM_CURL "Use system-installed curl"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES})
|
||||
OPTION(CMAKE_USE_SYSTEM_XMLRPC "Use system-installed xmlrpc"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES})
|
||||
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES} "NOT CMAKE_USE_SYSTEM_XMLRPC" ON)
|
||||
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_ZLIB "Use system-installed zlib"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES} "NOT CMAKE_USE_SYSTEM_CURL" ON)
|
||||
|
||||
# There is currently no option for system tar because the upstream
|
||||
# libtar does not have our modifications to allow reentrant
|
||||
# object-oriented use of the library.
|
||||
# OPTION(CMAKE_USE_SYSTEM_TAR "Use system-installed tar" OFF)
|
||||
ELSE(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_CURL 0)
|
||||
SET(CMAKE_USE_SYSTEM_EXPAT 0)
|
||||
SET(CMAKE_USE_SYSTEM_XMLRPC 0)
|
||||
SET(CMAKE_USE_SYSTEM_ZLIB 0)
|
||||
ENDIF(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
|
||||
|
||||
# Mention to the user what system libraries are being used.
|
||||
FOREACH(util CURL EXPAT XMLRPC ZLIB)
|
||||
IF(CMAKE_USE_SYSTEM_${util})
|
||||
MESSAGE(STATUS "Using system-installed ${util}")
|
||||
ENDIF(CMAKE_USE_SYSTEM_${util})
|
||||
ENDFOREACH(util)
|
||||
|
||||
# Inform utility library header wrappers whether to use system versions.
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/cmThirdParty.h.in
|
||||
${CMake_BINARY_DIR}/Utilities/cmThirdParty.h
|
||||
@ONLY)
|
||||
|
||||
ENDMACRO(CMAKE_HANDLE_SYSTEM_LIBRARIES)
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# a macro to check for MFC and setup to build the MFC Dialog
|
||||
# simply to improve readability of the main script
|
||||
#-----------------------------------------------------------------------
|
||||
MACRO(CMAKE_TEST_FOR_MFC)
|
||||
SET(CMAKE_BUILD_ON_VISUAL_STUDIO 0)
|
||||
IF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
|
||||
SET(CMAKE_BUILD_ON_VISUAL_STUDIO 1)
|
||||
ENDIF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
|
||||
|
||||
IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
IF("CMake_HAVE_MFC" MATCHES "^CMake_HAVE_MFC$")
|
||||
SET(CHECK_INCLUDE_FILE_VAR "afxwin.h")
|
||||
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
|
||||
MESSAGE(STATUS "Looking for MFC")
|
||||
TRY_COMPILE(CMake_HAVE_MFC
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
|
||||
CMAKE_FLAGS
|
||||
-DCMAKE_MFC_FLAG:STRING=2
|
||||
-DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
IF(CMake_HAVE_MFC)
|
||||
MESSAGE(STATUS "Looking for MFC - found")
|
||||
SET(CMake_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if MFC exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
ELSE(CMake_HAVE_MFC)
|
||||
MESSAGE(STATUS "Looking for MFC - not found")
|
||||
SET(CMake_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if MFC exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
ENDIF(CMake_HAVE_MFC)
|
||||
ENDIF("CMake_HAVE_MFC" MATCHES "^CMake_HAVE_MFC$")
|
||||
|
||||
IF(CMake_HAVE_MFC)
|
||||
OPTION(BUILD_MFCDialog "Whether to build the CMakeSetup MFC dialog." ON)
|
||||
ELSE(CMake_HAVE_MFC)
|
||||
SET(BUILD_MFCDialog 0)
|
||||
ENDIF(CMake_HAVE_MFC)
|
||||
ELSE(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
SET(BUILD_MFCDialog 0)
|
||||
ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
ENDMACRO(CMAKE_TEST_FOR_MFC)
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# a macro to determine the generator and ctest executable to use
|
||||
# for testing. Simply to improve readability of the main script.
|
||||
#-----------------------------------------------------------------------
|
||||
MACRO(CMAKE_SETUP_TESTING)
|
||||
IF (NOT DART_ROOT)
|
||||
SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
|
||||
ENDIF (NOT DART_ROOT)
|
||||
|
||||
IF(BUILD_TESTING)
|
||||
SET(CMAKE_TEST_GENERATOR "" CACHE STRING
|
||||
"Generator used when running tests")
|
||||
SET(CMAKE_TEST_MAKEPROGRAM "" CACHE FILEPATH
|
||||
"Generator used when running tests")
|
||||
IF(NOT CMAKE_TEST_GENERATOR)
|
||||
SET(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
|
||||
SET(CMAKE_TEST_MAKEPROGRAM "${MAKEPROGRAM}")
|
||||
ELSE(NOT CMAKE_TEST_GENERATOR)
|
||||
SET(CMAKE_TEST_DIFFERENT_GENERATOR TRUE)
|
||||
ENDIF(NOT CMAKE_TEST_GENERATOR)
|
||||
|
||||
# Are we testing with the MSVC compiler?
|
||||
SET(CMAKE_TEST_MSVC 0)
|
||||
IF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
SET(CMAKE_TEST_MSVC 1)
|
||||
ELSE(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
IF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
|
||||
SET(CMAKE_TEST_MSVC 1)
|
||||
ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
|
||||
ENDIF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
|
||||
SET(CMAKE_TEST_SYSTEM_LIBRARIES 0)
|
||||
FOREACH(util CURL EXPAT XMLRPC ZLIB)
|
||||
IF(CMAKE_USE_SYSTEM_${util})
|
||||
SET(CMAKE_TEST_SYSTEM_LIBRARIES 1)
|
||||
ENDIF(CMAKE_USE_SYSTEM_${util})
|
||||
ENDFOREACH(util)
|
||||
|
||||
# This variable is set by cmake, however to
|
||||
# test cmake we want to make sure that
|
||||
# the ctest from this cmake is used for testing
|
||||
# and not the ctest from the cmake building and testing
|
||||
# cmake.
|
||||
SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
|
||||
SET(CMAKE_CMAKE_COMMAND "${EXECUTABLE_OUTPUT_PATH}/cmake")
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
# configure some files for testing
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CTestScript.cmake"
|
||||
@ONLY)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
|
||||
${CMake_BINARY_DIR}/Tests/.NoDartCoverage)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
|
||||
${CMake_BINARY_DIR}/Modules/.NoDartCoverage)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/CTestCustom.ctest.in
|
||||
${CMake_BINARY_DIR}/CTestCustom.ctest @ONLY)
|
||||
IF(BUILD_TESTING AND DART_ROOT)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/CMakeLogo.gif
|
||||
${CMake_BINARY_DIR}/Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY)
|
||||
ENDIF(BUILD_TESTING AND DART_ROOT)
|
||||
MARK_AS_ADVANCED(DART_ROOT)
|
||||
MARK_AS_ADVANCED(CURL_TESTING)
|
||||
ENDMACRO(CMAKE_SETUP_TESTING)
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# a macro to build the utilities used by CMake
|
||||
# Simply to improve readability of the main script.
|
||||
#-----------------------------------------------------------------------
|
||||
MACRO (CMAKE_BUILD_UTILITIES)
|
||||
#---------------------------------------------------------------------
|
||||
# Create the kwsys library for CMake.
|
||||
SET(KWSYS_NAMESPACE cmsys)
|
||||
SET(KWSYS_USE_SystemTools 1)
|
||||
SET(KWSYS_USE_Directory 1)
|
||||
SET(KWSYS_USE_RegularExpression 1)
|
||||
SET(KWSYS_USE_Base64 1)
|
||||
SET(KWSYS_USE_MD5 1)
|
||||
SET(KWSYS_USE_Process 1)
|
||||
SET(KWSYS_USE_CommandLineArguments 1)
|
||||
SET(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
|
||||
ADD_SUBDIRECTORY(Source/kwsys)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Setup third-party libraries.
|
||||
# Everything in the tree should be able to include files from the
|
||||
# Utilities directory.
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMake_SOURCE_DIR}/Utilities
|
||||
${CMake_BINARY_DIR}/Utilities
|
||||
)
|
||||
|
||||
# check for the use of system libraries versus builtin ones
|
||||
CMAKE_HANDLE_SYSTEM_LIBRARIES()
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build zlib library for Curl, CMake, and CTest.
|
||||
SET(CMAKE_ZLIB_HEADER "cm_zlib.h")
|
||||
IF(CMAKE_USE_SYSTEM_ZLIB)
|
||||
FIND_PACKAGE(ZLIB)
|
||||
IF(NOT ZLIB_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_ZLIB is ON but a zlib is not found!")
|
||||
ENDIF(NOT ZLIB_FOUND)
|
||||
SET(CMAKE_ZLIB_INCLUDES ${ZLIB_INCLUDE_DIR})
|
||||
SET(CMAKE_ZLIB_LIBRARIES ${ZLIB_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_ZLIB)
|
||||
SET(CMAKE_ZLIB_INCLUDES)
|
||||
SET(CMAKE_ZLIB_LIBRARIES cmzlib)
|
||||
ADD_SUBDIRECTORY(Utilities/cmzlib)
|
||||
ENDIF(CMAKE_USE_SYSTEM_ZLIB)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build Curl library for CTest.
|
||||
IF(CMAKE_USE_SYSTEM_CURL)
|
||||
FIND_PACKAGE(CURL)
|
||||
IF(NOT CURL_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_CURL is ON but a curl is not found!")
|
||||
ENDIF(NOT CURL_FOUND)
|
||||
SET(CMAKE_CURL_INCLUDES ${CURL_INCLUDE_DIRS})
|
||||
SET(CMAKE_CURL_LIBRARIES ${CURL_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_CURL)
|
||||
SET(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER})
|
||||
SET(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES})
|
||||
SET(CURL_SPECIAL_LIBZ ${CMAKE_ZLIB_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DCURL_STATICLIB)
|
||||
SET(CMAKE_CURL_INCLUDES)
|
||||
SET(CMAKE_CURL_LIBRARIES cmcurl)
|
||||
ADD_SUBDIRECTORY(Utilities/cmcurl)
|
||||
ENDIF(CMAKE_USE_SYSTEM_CURL)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build Tar library for CTest.
|
||||
SET(CMTAR_ZLIB_HEADER ${CMAKE_ZLIB_HEADER})
|
||||
SET(CMTAR_ZLIB_LIBRARIES ${CMAKE_ZLIB_LIBRARIES})
|
||||
SET(CMTAR_ZLIB_INCLUDE_DIRS ${CMAKE_ZLIB_INCLUDES})
|
||||
SET(CMAKE_TAR_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmtar)
|
||||
SET(CMAKE_TAR_LIBRARIES cmtar)
|
||||
ADD_SUBDIRECTORY(Utilities/cmtar)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build Compress library for CTest.
|
||||
SET(CMAKE_COMPRESS_INCLUDES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmcompress")
|
||||
SET(CMAKE_COMPRESS_LIBRARIES "cmcompress")
|
||||
ADD_SUBDIRECTORY(Utilities/cmcompress)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build expat library for CMake and CTest.
|
||||
IF(CMAKE_USE_SYSTEM_EXPAT)
|
||||
FIND_PACKAGE(EXPAT)
|
||||
IF(NOT EXPAT_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_EXPAT is ON but a expat is not found!")
|
||||
ENDIF(NOT EXPAT_FOUND)
|
||||
SET(CMAKE_EXPAT_INCLUDES ${EXPAT_INCLUDE_DIRS})
|
||||
SET(CMAKE_EXPAT_LIBRARIES ${EXPAT_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_EXPAT)
|
||||
SET(CMAKE_EXPAT_INCLUDES)
|
||||
SET(CMAKE_EXPAT_LIBRARIES cmexpat)
|
||||
ADD_SUBDIRECTORY(Utilities/cmexpat)
|
||||
ENDIF(CMAKE_USE_SYSTEM_EXPAT)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Build XMLRPC library for CMake and CTest.
|
||||
IF(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
FIND_PACKAGE(XMLRPC QUIET REQUIRED libwww-client)
|
||||
IF(NOT XMLRPC_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_XMLRPC is ON but a xmlrpc is not found!")
|
||||
ENDIF(NOT XMLRPC_FOUND)
|
||||
SET(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
|
||||
SET(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
SET(CMAKE_XMLRPC_INCLUDES)
|
||||
SET(CMAKE_XMLRPC_LIBRARIES cmXMLRPC)
|
||||
ADD_SUBDIRECTORY(Utilities/cmxmlrpc)
|
||||
ENDIF(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Use curses?
|
||||
IF (UNIX)
|
||||
FIND_PACKAGE(Curses QUIET)
|
||||
IF (CURSES_LIBRARY)
|
||||
OPTION(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" ON)
|
||||
ELSE (CURSES_LIBRARY)
|
||||
MESSAGE("Curses libraries were not found. Curses GUI for CMake will not be built.")
|
||||
SET(BUILD_CursesDialog 0)
|
||||
ENDIF (CURSES_LIBRARY)
|
||||
ELSE (UNIX)
|
||||
SET(BUILD_CursesDialog 0)
|
||||
ENDIF (UNIX)
|
||||
IF(BUILD_CursesDialog)
|
||||
ADD_SUBDIRECTORY(Source/CursesDialog/form)
|
||||
ENDIF(BUILD_CursesDialog)
|
||||
ENDMACRO (CMAKE_BUILD_UTILITIES)
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# The main section of the CMakeLists file
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
# The CMake version number.
|
||||
SET(CMake_VERSION_MAJOR 2)
|
||||
SET(CMake_VERSION_MINOR 5)
|
||||
|
@ -9,7 +344,17 @@ SET(CMake_VERSION_PATCH 0)
|
|||
SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
|
||||
SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}")
|
||||
|
||||
# Include the standard Dart testing module
|
||||
ENABLE_TESTING()
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
|
||||
|
||||
# where to write the resulting executables and libraries
|
||||
SET(BUILD_SHARED_LIBS OFF)
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${CMake_BINARY_DIR}/bin CACHE INTERNAL
|
||||
"Where to put the executables for CMake")
|
||||
SET(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL
|
||||
"Where to put the libraries for CMake")
|
||||
INCLUDE_REGULAR_EXPRESSION("^.*$")
|
||||
|
||||
# The CMake executables do not need any rpath to run in the build or
|
||||
# install tree.
|
||||
|
@ -23,331 +368,47 @@ SET(CMAKE_MAN_DIR "/man" CACHE STRING
|
|||
"Install location for man pages (relative to prefix).")
|
||||
MARK_AS_ADVANCED(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR)
|
||||
|
||||
# include special compile flags for osme compilers
|
||||
# include special compile flags for some compilers
|
||||
INCLUDE(CompileFlags.cmake)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Create the kwsys library for CMake.
|
||||
SET(KWSYS_NAMESPACE cmsys)
|
||||
SET(KWSYS_USE_SystemTools 1)
|
||||
SET(KWSYS_USE_Directory 1)
|
||||
SET(KWSYS_USE_RegularExpression 1)
|
||||
SET(KWSYS_USE_Base64 1)
|
||||
SET(KWSYS_USE_MD5 1)
|
||||
SET(KWSYS_USE_Process 1)
|
||||
SET(KWSYS_USE_CommandLineArguments 1)
|
||||
SET(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
|
||||
SUBDIRS(Source/kwsys)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Setup third-party libraries.
|
||||
|
||||
# Everything in the tree should be able to include files from the
|
||||
# Utilities directory.
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMake_SOURCE_DIR}/Utilities
|
||||
${CMake_BINARY_DIR}/Utilities
|
||||
)
|
||||
|
||||
# Third party libraries must be something that can be found.
|
||||
IF(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
SET(CMAKE_ALLOW_SYSTEM_LIBRARIES 1)
|
||||
ELSE(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
SET(CMAKE_ALLOW_SYSTEM_LIBRARIES 0)
|
||||
ENDIF(EXISTS ${CMAKE_ROOT}/Modules/FindXMLRPC.cmake)
|
||||
|
||||
IF(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
# Options have dependencies.
|
||||
INCLUDE(CMakeDependentOption)
|
||||
|
||||
# Allow the user to enable/disable all system utility library options
|
||||
# by setting CMAKE_USE_SYSTEM_LIBRARIES on the command line.
|
||||
IF(DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES_USER 1)
|
||||
ENDIF(DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
IF(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES ON)
|
||||
ELSE(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_LIBRARIES OFF)
|
||||
ENDIF(CMAKE_USE_SYSTEM_LIBRARIES)
|
||||
IF(CMAKE_USE_SYSTEM_LIBRARIES_USER)
|
||||
SET(CMAKE_USE_SYSTEM_CURL "${CMAKE_USE_SYSTEM_LIBRARIES}" CACHE BOOL "Use system-installed curl" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_EXPAT "${CMAKE_USE_SYSTEM_LIBRARIES}" CACHE BOOL "Use system-installed expat" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_XMLRPC "${CMAKE_USE_SYSTEM_LIBRARIES}" CACHE BOOL "Use system-installed xmlrpc" FORCE)
|
||||
SET(CMAKE_USE_SYSTEM_ZLIB "${CMAKE_USE_SYSTEM_LIBRARIES}" CACHE BOOL "Use system-installed zlib" FORCE)
|
||||
ENDIF(CMAKE_USE_SYSTEM_LIBRARIES_USER)
|
||||
|
||||
# Optionally use system utility libraries.
|
||||
OPTION(CMAKE_USE_SYSTEM_CURL "Use system-installed curl" ${CMAKE_USE_SYSTEM_LIBRARIES})
|
||||
OPTION(CMAKE_USE_SYSTEM_XMLRPC "Use system-installed xmlrpc" ${CMAKE_USE_SYSTEM_LIBRARIES})
|
||||
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES} "NOT CMAKE_USE_SYSTEM_XMLRPC" ON)
|
||||
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_ZLIB "Use system-installed zlib"
|
||||
${CMAKE_USE_SYSTEM_LIBRARIES} "NOT CMAKE_USE_SYSTEM_CURL" ON)
|
||||
|
||||
# There is currently no option for system tar because the upstream
|
||||
# libtar does not have our modifications to allow reentrant
|
||||
# object-oriented use of the library.
|
||||
# OPTION(CMAKE_USE_SYSTEM_TAR "Use system-installed tar" OFF)
|
||||
ELSE(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
SET(CMAKE_USE_SYSTEM_CURL 0)
|
||||
SET(CMAKE_USE_SYSTEM_EXPAT 0)
|
||||
SET(CMAKE_USE_SYSTEM_XMLRPC 0)
|
||||
SET(CMAKE_USE_SYSTEM_ZLIB 0)
|
||||
ENDIF(CMAKE_ALLOW_SYSTEM_LIBRARIES)
|
||||
|
||||
# Inform utility library header wrappers whether to use system versions.
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/cmThirdParty.h.in
|
||||
${CMake_BINARY_DIR}/Utilities/cmThirdParty.h
|
||||
@ONLY IMMEDIATE)
|
||||
|
||||
# Mention to the user what system libraries are being used.
|
||||
FOREACH(util CURL EXPAT XMLRPC ZLIB)
|
||||
IF(CMAKE_USE_SYSTEM_${util})
|
||||
MESSAGE(STATUS "Using system-installed ${util}")
|
||||
ENDIF(CMAKE_USE_SYSTEM_${util})
|
||||
ENDFOREACH(util)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build zlib library for Curl, CMake, and CTest.
|
||||
SET(CMAKE_ZLIB_HEADER "cm_zlib.h")
|
||||
IF(CMAKE_USE_SYSTEM_ZLIB)
|
||||
FIND_PACKAGE(ZLIB)
|
||||
IF(NOT ZLIB_FOUND)
|
||||
MESSAGE(FATAL_ERROR "CMAKE_USE_SYSTEM_ZLIB is ON but a zlib is not found!")
|
||||
ENDIF(NOT ZLIB_FOUND)
|
||||
SET(CMAKE_ZLIB_INCLUDES ${ZLIB_INCLUDE_DIR})
|
||||
SET(CMAKE_ZLIB_LIBRARIES ${ZLIB_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_ZLIB)
|
||||
SUBDIRS(Utilities/cmzlib)
|
||||
SET(CMAKE_ZLIB_INCLUDES)
|
||||
SET(CMAKE_ZLIB_LIBRARIES cmzlib)
|
||||
ENDIF(CMAKE_USE_SYSTEM_ZLIB)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build Curl library for CTest.
|
||||
IF(CMAKE_USE_SYSTEM_CURL)
|
||||
FIND_PACKAGE(CURL)
|
||||
IF(NOT CURL_FOUND)
|
||||
MESSAGE(FATAL_ERROR "CMAKE_USE_SYSTEM_CURL is ON but a curl is not found!")
|
||||
ENDIF(NOT CURL_FOUND)
|
||||
SET(CMAKE_CURL_INCLUDES ${CURL_INCLUDE_DIRS})
|
||||
SET(CMAKE_CURL_LIBRARIES ${CURL_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_CURL)
|
||||
SET(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER})
|
||||
SET(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES})
|
||||
SET(CURL_SPECIAL_LIBZ ${CMAKE_ZLIB_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DCURL_STATICLIB)
|
||||
SUBDIRS(Utilities/cmcurl)
|
||||
SET(CMAKE_CURL_INCLUDES)
|
||||
SET(CMAKE_CURL_LIBRARIES cmcurl)
|
||||
ENDIF(CMAKE_USE_SYSTEM_CURL)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build Tar library for CTest.
|
||||
SET(CMTAR_ZLIB_HEADER ${CMAKE_ZLIB_HEADER})
|
||||
SET(CMTAR_ZLIB_LIBRARIES ${CMAKE_ZLIB_LIBRARIES})
|
||||
SET(CMTAR_ZLIB_INCLUDE_DIRS ${CMAKE_ZLIB_INCLUDES})
|
||||
SUBDIRS(Utilities/cmtar)
|
||||
SET(CMAKE_TAR_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmtar)
|
||||
SET(CMAKE_TAR_LIBRARIES cmtar)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build Compress library for CTest.
|
||||
SUBDIRS(Utilities/cmcompress)
|
||||
SET(CMAKE_COMPRESS_INCLUDES "${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmcompress")
|
||||
SET(CMAKE_COMPRESS_LIBRARIES "cmcompress")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build expat library for CMake and CTest.
|
||||
IF(CMAKE_USE_SYSTEM_EXPAT)
|
||||
FIND_PACKAGE(EXPAT)
|
||||
IF(NOT EXPAT_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_EXPAT is ON but a expat is not found!")
|
||||
ENDIF(NOT EXPAT_FOUND)
|
||||
SET(CMAKE_EXPAT_INCLUDES ${EXPAT_INCLUDE_DIRS})
|
||||
SET(CMAKE_EXPAT_LIBRARIES ${EXPAT_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_EXPAT)
|
||||
SUBDIRS(Utilities/cmexpat)
|
||||
SET(CMAKE_EXPAT_INCLUDES)
|
||||
SET(CMAKE_EXPAT_LIBRARIES cmexpat)
|
||||
ENDIF(CMAKE_USE_SYSTEM_EXPAT)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Build XMLRPC library for CMake and CTest.
|
||||
IF(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
FIND_PACKAGE(XMLRPC QUIET REQUIRED libwww-client)
|
||||
IF(NOT XMLRPC_FOUND)
|
||||
MESSAGE(FATAL_ERROR
|
||||
"CMAKE_USE_SYSTEM_XMLRPC is ON but a xmlrpc is not found!")
|
||||
ENDIF(NOT XMLRPC_FOUND)
|
||||
SET(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
|
||||
SET(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
|
||||
ELSE(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
SUBDIRS(Utilities/cmxmlrpc)
|
||||
SET(CMAKE_XMLRPC_INCLUDES)
|
||||
SET(CMAKE_XMLRPC_LIBRARIES cmXMLRPC)
|
||||
ENDIF(CMAKE_USE_SYSTEM_XMLRPC)
|
||||
|
||||
IF (UNIX)
|
||||
FIND_PACKAGE(Curses QUIET)
|
||||
IF (CURSES_LIBRARY)
|
||||
OPTION(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" ON)
|
||||
ELSE (CURSES_LIBRARY)
|
||||
MESSAGE("Curses libraries were not found. Curses GUI for CMake will not be build.")
|
||||
SET(BUILD_CursesDialog 0)
|
||||
ENDIF (CURSES_LIBRARY)
|
||||
ELSE (UNIX)
|
||||
SET(BUILD_CursesDialog 0)
|
||||
ENDIF (UNIX)
|
||||
|
||||
IF(BUILD_CursesDialog)
|
||||
SUBDIRS(Source/CursesDialog/form)
|
||||
ENDIF(BUILD_CursesDialog)
|
||||
|
||||
# no clue why we are testing for this here
|
||||
INCLUDE(CheckSymbolExists)
|
||||
CHECK_SYMBOL_EXISTS(unsetenv "stdlib.h" HAVE_UNSETENV)
|
||||
CHECK_SYMBOL_EXISTS(environ "stdlib.h" HAVE_ENVIRON_NOT_REQUIRE_PROTOTYPE)
|
||||
|
||||
SUBDIRS(Source Modules Templates Utilities Tests/CMakeTests)
|
||||
ENABLE_TESTING()
|
||||
# build the utilities (a macro defined in this file)
|
||||
CMAKE_BUILD_UTILITIES()
|
||||
|
||||
# Include the standard Dart testing module
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
|
||||
|
||||
# add some testing dependencies
|
||||
IF(BUILD_TESTING)
|
||||
IF (DART_ROOT)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/CMakeLogo.gif ${CMake_BINARY_DIR}/Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY)
|
||||
ENDIF (DART_ROOT)
|
||||
ENDIF(BUILD_TESTING)
|
||||
MARK_AS_ADVANCED(DART_ROOT)
|
||||
MARK_AS_ADVANCED(CURL_TESTING)
|
||||
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${CMake_BINARY_DIR}/bin CACHE INTERNAL
|
||||
"Where to put the executables for CMake"
|
||||
)
|
||||
SET(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL
|
||||
"Where to put the libraries for CMake"
|
||||
)
|
||||
|
||||
INCLUDE_REGULAR_EXPRESSION("^.*$")
|
||||
|
||||
# configure some files for testing
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
|
||||
${CMake_BINARY_DIR}/Tests/.NoDartCoverage)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
|
||||
${CMake_BINARY_DIR}/Modules/.NoDartCoverage)
|
||||
CONFIGURE_FILE(${CMake_SOURCE_DIR}/CTestCustom.ctest.in
|
||||
${CMake_BINARY_DIR}/CTestCustom.ctest @ONLY)
|
||||
|
||||
SET(CMAKE_BUILD_ON_VISUAL_STUDIO 0)
|
||||
IF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
|
||||
SET(CMAKE_BUILD_ON_VISUAL_STUDIO 1)
|
||||
ENDIF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
|
||||
|
||||
IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
IF("CMake_HAVE_MFC" MATCHES "^CMake_HAVE_MFC$")
|
||||
SET(CHECK_INCLUDE_FILE_VAR "afxwin.h")
|
||||
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
|
||||
MESSAGE(STATUS "Looking for MFC")
|
||||
TRY_COMPILE(CMake_HAVE_MFC
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
|
||||
CMAKE_FLAGS
|
||||
-DCMAKE_MFC_FLAG:STRING=2
|
||||
-DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
IF(CMake_HAVE_MFC)
|
||||
MESSAGE(STATUS "Looking for MFC - found")
|
||||
SET(CMake_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if MFC exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
ELSE(CMake_HAVE_MFC)
|
||||
MESSAGE(STATUS "Looking for MFC - not found")
|
||||
SET(CMake_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
|
||||
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if MFC exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
ENDIF(CMake_HAVE_MFC)
|
||||
ENDIF("CMake_HAVE_MFC" MATCHES "^CMake_HAVE_MFC$")
|
||||
|
||||
IF(CMake_HAVE_MFC)
|
||||
OPTION(BUILD_MFCDialog "Whether to build the CMakeSetup MFC dialog." ON)
|
||||
ELSE(CMake_HAVE_MFC)
|
||||
SET(BUILD_MFCDialog 0)
|
||||
ENDIF(CMake_HAVE_MFC)
|
||||
ELSE(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
SET(BUILD_MFCDialog 0)
|
||||
ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
|
||||
# should we build the MFC dialog? (a macro defined in this file)
|
||||
CMAKE_TEST_FOR_MFC()
|
||||
|
||||
# add the uninstall support
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY)
|
||||
|
||||
@ONLY)
|
||||
ADD_CUSTOM_TARGET(uninstall
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||
|
||||
# include support for making the release
|
||||
INCLUDE (${CMake_SOURCE_DIR}/Utilities/Release/Release.cmake)
|
||||
|
||||
# include CPack Support
|
||||
INCLUDE (CMakeCPack.cmake)
|
||||
|
||||
# configure the CTestScript.cmake file into the binary directory
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CTestScript.cmake"
|
||||
@ONLY IMMEDIATE)
|
||||
# setup some Testing support (a macro defined in this file)
|
||||
CMAKE_SETUP_TESTING()
|
||||
|
||||
# Testing
|
||||
IF (NOT DART_ROOT)
|
||||
SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
|
||||
ENDIF (NOT DART_ROOT)
|
||||
# build the remaining subdirectories
|
||||
ADD_SUBDIRECTORY(Source)
|
||||
ADD_SUBDIRECTORY(Modules)
|
||||
ADD_SUBDIRECTORY(Templates)
|
||||
ADD_SUBDIRECTORY(Utilities)
|
||||
ADD_SUBDIRECTORY(Tests)
|
||||
ADD_SUBDIRECTORY(Tests/CMakeTests)
|
||||
|
||||
IF(BUILD_TESTING)
|
||||
SET(CMAKE_TEST_GENERATOR "" CACHE STRING "Generator used when running tests")
|
||||
SET(CMAKE_TEST_MAKEPROGRAM "" CACHE FILEPATH "Generator used when running tests")
|
||||
IF(NOT CMAKE_TEST_GENERATOR)
|
||||
SET(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
|
||||
SET(CMAKE_TEST_MAKEPROGRAM "${MAKEPROGRAM}")
|
||||
ELSE(NOT CMAKE_TEST_GENERATOR)
|
||||
SET(CMAKE_TEST_DIFFERENT_GENERATOR TRUE)
|
||||
ENDIF(NOT CMAKE_TEST_GENERATOR)
|
||||
|
||||
# Are we testing with the MSVC compiler?
|
||||
SET(CMAKE_TEST_MSVC 0)
|
||||
IF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
SET(CMAKE_TEST_MSVC 1)
|
||||
ELSE(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
IF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
|
||||
SET(CMAKE_TEST_MSVC 1)
|
||||
ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
|
||||
ENDIF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
|
||||
|
||||
SET(CMAKE_TEST_SYSTEM_LIBRARIES 0)
|
||||
FOREACH(util CURL EXPAT XMLRPC ZLIB)
|
||||
IF(CMAKE_USE_SYSTEM_${util})
|
||||
SET(CMAKE_TEST_SYSTEM_LIBRARIES 1)
|
||||
ENDIF(CMAKE_USE_SYSTEM_${util})
|
||||
ENDFOREACH(util)
|
||||
|
||||
# This variable is set by cmake, however to
|
||||
# test cmake we want to make sure that
|
||||
# the ctest from this cmake is used for testing
|
||||
# and not the ctest from the cmake building and testing
|
||||
# cmake.
|
||||
SET(CMAKE_CTEST_COMMAND "${EXECUTABLE_OUTPUT_PATH}/ctest")
|
||||
SET(CMAKE_CMAKE_COMMAND "${EXECUTABLE_OUTPUT_PATH}/cmake")
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
ADD_TEST(SystemInformationNew
|
||||
"${CMAKE_CMAKE_COMMAND}" --system-information
|
||||
-G "${CMAKE_TEST_GENERATOR}"
|
||||
)
|
||||
# add a test
|
||||
ADD_TEST(SystemInformationNew "${CMAKE_CMAKE_COMMAND}"
|
||||
--system-information -G "${CMAKE_TEST_GENERATOR}" )
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# End of the main section of the CMakeLists file
|
||||
#-----------------------------------------------------------------------
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
|
||||
|
||||
INCLUDE_REGULAR_EXPRESSION("^.*$")
|
||||
|
||||
# configure the .h file
|
||||
CONFIGURE_FILE(
|
||||
"${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
|
||||
|
@ -354,954 +350,6 @@ IF(BUILD_WXDialog)
|
|||
SUBDIRS(WXDialog)
|
||||
ENDIF(BUILD_WXDialog)
|
||||
|
||||
# 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}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/CommandLineTest"
|
||||
"${CMake_BINARY_DIR}/Tests/CommandLineTest"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project CommandLineTest
|
||||
--test-command CommandLineTest)
|
||||
|
||||
ADD_TEST(TarTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/TarTest"
|
||||
"${CMake_BINARY_DIR}/Tests/TarTest"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
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}
|
||||
--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
|
||||
)
|
||||
|
||||
ADD_TEST(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${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}
|
||||
--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}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
ADD_TEST(MathTest ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--build-and-test
|
||||
"${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}
|
||||
# --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}
|
||||
--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
|
||||
--test-command
|
||||
"${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
|
||||
|
||||
ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${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}
|
||||
--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)
|
||||
|
||||
ADD_TEST(NewlineArgs ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/NewlineArgs"
|
||||
"${CMake_BINARY_DIR}/Tests/NewlineArgs"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project newlineargs
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command cxxonly)
|
||||
|
||||
ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/MacroTest"
|
||||
"${CMake_BINARY_DIR}/Tests/MacroTest"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project littleMacroTest
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command miniMacroTest)
|
||||
|
||||
ADD_TEST(BuildDepends ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/BuildDepends"
|
||||
"${CMake_BINARY_DIR}/Tests/BuildDepends"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project BuildDepends
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
)
|
||||
|
||||
SET(SimpleInstallInstallDir
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
|
||||
ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/SimpleInstall"
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstall"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project TestSimpleInstall
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--build-options
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
|
||||
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallExe)
|
||||
ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project TestSimpleInstall
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--build-options
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
|
||||
"-DSTAGE2:BOOL=1"
|
||||
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallS2)
|
||||
|
||||
ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--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}
|
||||
--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}
|
||||
--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}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Complex"
|
||||
"${CMake_BINARY_DIR}/Tests/Complex"
|
||||
--build-two-config
|
||||
--build-config-sample "${CMAKE_CTEST_COMMAND}"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project Complex
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
# 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}
|
||||
--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
|
||||
)
|
||||
|
||||
ADD_TEST(TutorialStep1 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step1"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step1"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep2 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step2"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step2"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep3 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step3"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step3"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep4 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step4"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step4"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep5 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step5"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step5"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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
|
||||
)
|
||||
|
||||
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"
|
||||
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
|
||||
--build-project Dependency
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--build-project Dependency
|
||||
--test-command exec
|
||||
)
|
||||
|
||||
ADD_TEST(dependency2 ${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/Exec2"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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}
|
||||
--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
|
||||
)
|
||||
|
||||
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"
|
||||
--build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
|
||||
--build-project Jump
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--test-command jumpExecutable
|
||||
)
|
||||
|
||||
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"
|
||||
"${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
|
||||
)
|
||||
|
||||
ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Plugin"
|
||||
"${CMake_BINARY_DIR}/Tests/Plugin"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project Plugin
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command bin/example)
|
||||
|
||||
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(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
|
||||
EXEC_PROGRAM(
|
||||
${CMAKE_TEST_MAKEPROGRAM} ARGS --version
|
||||
RETURN_VALUE res OUTPUT_VARIABLE out
|
||||
)
|
||||
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
|
||||
"${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
|
||||
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|Borland")
|
||||
|
||||
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}
|
||||
--build-project SUBDIR
|
||||
--test-command test
|
||||
"${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}
|
||||
--build-project SUBDIR
|
||||
--test-command test
|
||||
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
|
||||
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
|
||||
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")
|
||||
ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
|
||||
"${CMake_BINARY_DIR}/Tests/VSExternalInclude"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project VSExternalInclude
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--test-command VSExternalInclude)
|
||||
ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
|
||||
ADD_TEST(FrameworkTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Framework"
|
||||
"${CMake_BINARY_DIR}/Tests/Framework"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Framework
|
||||
--test-command bar)
|
||||
|
||||
IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(BundleTestInstallDir
|
||||
"${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
|
||||
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}
|
||||
--build-project BundleTest
|
||||
--build-target install
|
||||
# --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)
|
||||
|
||||
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)
|
||||
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
|
||||
ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
|
||||
)
|
||||
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"
|
||||
)
|
||||
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
|
||||
IF(COMMAND SET_TESTS_PROPERTIES)
|
||||
# if timeouts have not already been set
|
||||
GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
|
||||
GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest2 PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
|
||||
GET_TEST_PROPERTY(CTestTest3 TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest3 PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
ENDIF(COMMAND SET_TESTS_PROPERTIES)
|
||||
ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
|
||||
|
||||
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")
|
||||
IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
|
||||
|
||||
|
||||
ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
${CMake_SOURCE_DIR}
|
||||
${CMake_BINARY_DIR}/Tests/BootstrapTest
|
||||
--build-nocmake
|
||||
--build-noclean
|
||||
--build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
|
||||
--build-generator "${CMAKE_TEST_GENERATOR}"
|
||||
--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 NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
ENDIF (COMMAND GET_TEST_PROPERTY)
|
||||
|
||||
ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
|
||||
|
||||
# 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.
|
||||
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}
|
||||
--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)
|
||||
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)
|
||||
FILE(READ "${JNI_H}" JNI_FILE)
|
||||
IF("${JNI_FILE}" MATCHES "JDK1_2")
|
||||
ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--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")
|
||||
ENDIF(JNI_H)
|
||||
ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
|
||||
ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
|
||||
|
||||
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
|
||||
)
|
||||
ENDIF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
|
||||
|
||||
IF(UNIX)
|
||||
STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
|
||||
PREFIX_IS_FOR_TEST)
|
||||
IF(PREFIX_IS_FOR_TEST)
|
||||
CONFIGURE_FILE(
|
||||
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
|
||||
${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
|
||||
@ONLY IMMEDIATE
|
||||
)
|
||||
ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
|
||||
ENDIF(PREFIX_IS_FOR_TEST)
|
||||
ENDIF(UNIX)
|
||||
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
||||
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
||||
|
||||
|
|
|
@ -0,0 +1,949 @@
|
|||
# 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}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/CommandLineTest"
|
||||
"${CMake_BINARY_DIR}/Tests/CommandLineTest"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project CommandLineTest
|
||||
--test-command CommandLineTest)
|
||||
|
||||
ADD_TEST(TarTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/TarTest"
|
||||
"${CMake_BINARY_DIR}/Tests/TarTest"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
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}
|
||||
--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
|
||||
)
|
||||
|
||||
ADD_TEST(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${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}
|
||||
--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}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
ADD_TEST(MathTest ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--build-and-test
|
||||
"${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}
|
||||
# --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}
|
||||
--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
|
||||
--test-command
|
||||
"${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
|
||||
|
||||
ADD_TEST(PreOrder ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${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}
|
||||
--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)
|
||||
|
||||
ADD_TEST(NewlineArgs ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/NewlineArgs"
|
||||
"${CMake_BINARY_DIR}/Tests/NewlineArgs"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project newlineargs
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command cxxonly)
|
||||
|
||||
ADD_TEST(MacroTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/MacroTest"
|
||||
"${CMake_BINARY_DIR}/Tests/MacroTest"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project littleMacroTest
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command miniMacroTest)
|
||||
|
||||
ADD_TEST(BuildDepends ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/BuildDepends"
|
||||
"${CMake_BINARY_DIR}/Tests/BuildDepends"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project BuildDepends
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
)
|
||||
|
||||
SET(SimpleInstallInstallDir
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
|
||||
ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/SimpleInstall"
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstall"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project TestSimpleInstall
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--build-options
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
|
||||
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallExe)
|
||||
ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
|
||||
"${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project TestSimpleInstall
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--build-options
|
||||
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
|
||||
"-DSTAGE2:BOOL=1"
|
||||
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstallS2)
|
||||
|
||||
ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--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}
|
||||
--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}
|
||||
--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}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Complex"
|
||||
"${CMake_BINARY_DIR}/Tests/Complex"
|
||||
--build-two-config
|
||||
--build-config-sample "${CMAKE_CTEST_COMMAND}"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project Complex
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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}
|
||||
--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)
|
||||
|
||||
# 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}
|
||||
--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
|
||||
)
|
||||
|
||||
ADD_TEST(TutorialStep1 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step1"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step1"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep2 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step2"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step2"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep3 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step3"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step3"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep4 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step4"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step4"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Tutorial
|
||||
--test-command Tutorial 25.0)
|
||||
|
||||
ADD_TEST(TutorialStep5 ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step5"
|
||||
"${CMake_BINARY_DIR}/Tests/Tutorial/Step5"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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
|
||||
)
|
||||
|
||||
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"
|
||||
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec"
|
||||
--build-project Dependency
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--build-project Dependency
|
||||
--test-command exec
|
||||
)
|
||||
|
||||
ADD_TEST(dependency2 ${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/Exec2"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--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}
|
||||
--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}
|
||||
--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
|
||||
)
|
||||
|
||||
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"
|
||||
--build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable"
|
||||
--build-project Jump
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--test-command jumpExecutable
|
||||
)
|
||||
|
||||
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"
|
||||
"${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
|
||||
)
|
||||
|
||||
ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Plugin"
|
||||
"${CMake_BINARY_DIR}/Tests/Plugin"
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project Plugin
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-two-config
|
||||
--test-command bin/example)
|
||||
|
||||
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(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
|
||||
EXEC_PROGRAM(
|
||||
${CMAKE_TEST_MAKEPROGRAM} ARGS --version
|
||||
RETURN_VALUE res OUTPUT_VARIABLE out
|
||||
)
|
||||
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
|
||||
"${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
|
||||
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
|
||||
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|Borland")
|
||||
|
||||
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}
|
||||
--build-project SUBDIR
|
||||
--test-command test
|
||||
"${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}
|
||||
--build-project SUBDIR
|
||||
--test-command test
|
||||
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
|
||||
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
|
||||
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")
|
||||
ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
|
||||
"${CMake_BINARY_DIR}/Tests/VSExternalInclude"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project VSExternalInclude
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--test-command VSExternalInclude)
|
||||
ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
|
||||
ADD_TEST(FrameworkTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Framework"
|
||||
"${CMake_BINARY_DIR}/Tests/Framework"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--build-project Framework
|
||||
--test-command bar)
|
||||
|
||||
IF (APPLE AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(BundleTestInstallDir
|
||||
"${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
|
||||
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}
|
||||
--build-project BundleTest
|
||||
--build-target install
|
||||
# --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)
|
||||
|
||||
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)
|
||||
CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
|
||||
"${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
|
||||
ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
|
||||
-S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
|
||||
)
|
||||
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"
|
||||
)
|
||||
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
|
||||
IF(COMMAND SET_TESTS_PROPERTIES)
|
||||
# if timeouts have not already been set
|
||||
GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
|
||||
GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest2 PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
|
||||
GET_TEST_PROPERTY(CTestTest3 TIMEOUT PREVIOUS_TIMEOUT)
|
||||
IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( CTestTest3 PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
ENDIF(COMMAND SET_TESTS_PROPERTIES)
|
||||
ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS)
|
||||
|
||||
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")
|
||||
IF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
|
||||
|
||||
|
||||
ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
${CMake_SOURCE_DIR}
|
||||
${CMake_BINARY_DIR}/Tests/BootstrapTest
|
||||
--build-nocmake
|
||||
--build-noclean
|
||||
--build-makeprogram ${CMake_SOURCE_DIR}/bootstrap
|
||||
--build-generator "${CMAKE_TEST_GENERATOR}"
|
||||
--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 NOTFOUND)
|
||||
SET_TESTS_PROPERTIES ( BootstrapTest PROPERTIES TIMEOUT 1500)
|
||||
ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
|
||||
ENDIF (COMMAND GET_TEST_PROPERTY)
|
||||
|
||||
ENDIF(UNIX AND CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
|
||||
|
||||
# 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.
|
||||
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}
|
||||
--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)
|
||||
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)
|
||||
FILE(READ "${JNI_H}" JNI_FILE)
|
||||
IF("${JNI_FILE}" MATCHES "JDK1_2")
|
||||
ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
|
||||
--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}
|
||||
--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")
|
||||
ENDIF(JNI_H)
|
||||
ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
|
||||
ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
|
||||
|
||||
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
|
||||
)
|
||||
ENDIF(BUILD_WXDialog AND wxWidgets_CONFIG_EXECUTABLE)
|
||||
|
||||
IF(UNIX)
|
||||
STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
|
||||
PREFIX_IS_FOR_TEST)
|
||||
IF(PREFIX_IS_FOR_TEST)
|
||||
CONFIGURE_FILE(
|
||||
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
|
||||
${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
|
||||
@ONLY IMMEDIATE
|
||||
)
|
||||
ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
|
||||
ENDIF(PREFIX_IS_FOR_TEST)
|
||||
ENDIF(UNIX)
|
||||
|
||||
ENDIF(BUILD_TESTING)
|
Loading…
Reference in New Issue