2012-08-13 21:47:32 +04:00
|
|
|
set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
|
2006-02-10 22:11:12 +03:00
|
|
|
|
|
|
|
|
2012-08-13 21:47:32 +04:00
|
|
|
macro(AddCMakeTest TestName PreArgs)
|
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
|
2013-11-13 12:50:56 +04:00
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY)
|
2013-01-25 02:15:13 +04:00
|
|
|
add_test(NAME CMake.${TestName}
|
|
|
|
COMMAND ${CMAKE_EXECUTABLE} ${PreArgs}
|
2008-03-04 16:18:34 +03:00
|
|
|
-P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
|
2012-08-13 21:50:14 +04:00
|
|
|
endmacro()
|
2006-02-10 22:11:12 +03:00
|
|
|
|
2008-03-04 16:18:34 +03:00
|
|
|
|
2006-02-10 22:11:12 +03:00
|
|
|
AddCMakeTest(List "")
|
2007-04-11 23:13:05 +04:00
|
|
|
AddCMakeTest(VariableWatch "")
|
ENH: merge CMake-CrossCompileBasic to HEAD
-add a RESULT_VARIABLE to INCLUDE()
-add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain
-have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system)
-use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to
run the executables if they have a different suffix because they are
probably crosscompiled, but nevertheless it should be able to find them
-make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE
-support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.)
-move ranlib on OSX from the file command to a command in executed in cmake_install.cmake
-add support for stripping during install in cmake_install.cmake
-split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools
-remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms
-create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these
-add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a
list of directories which will be prepended to all search directories, right
now as a cmake variable, turning it into a global cmake property may need
some more work
-remove cmTestTestHandler::TryExecutable(), it's unused
-split cmFileCommand::HandleInstall() into slightly smaller functions
Alex
2007-05-17 21:20:44 +04:00
|
|
|
AddCMakeTest(Include "")
|
|
|
|
AddCMakeTest(FindBase "")
|
|
|
|
AddCMakeTest(Toolchain "")
|
2009-02-09 17:23:55 +03:00
|
|
|
AddCMakeTest(GetFilenameComponentRealpath "")
|
2009-03-05 23:17:07 +03:00
|
|
|
AddCMakeTest(Version "")
|
2009-03-06 18:04:06 +03:00
|
|
|
AddCMakeTest(Message "")
|
2009-04-29 21:13:58 +04:00
|
|
|
AddCMakeTest(File "")
|
2009-09-16 23:09:58 +04:00
|
|
|
AddCMakeTest(ConfigureFile "")
|
2009-07-14 18:15:47 +04:00
|
|
|
AddCMakeTest(SeparateArguments "")
|
2009-07-23 18:07:39 +04:00
|
|
|
AddCMakeTest(ImplicitLinkInfo "")
|
2009-10-01 22:12:19 +04:00
|
|
|
AddCMakeTest(ModuleNotices "")
|
2012-03-04 16:43:23 +04:00
|
|
|
AddCMakeTest(GetProperty "")
|
2009-10-27 16:08:12 +03:00
|
|
|
AddCMakeTest(If "")
|
2009-10-02 22:51:43 +04:00
|
|
|
AddCMakeTest(String "")
|
2009-10-06 00:50:21 +04:00
|
|
|
AddCMakeTest(Math "")
|
|
|
|
AddCMakeTest(CMakeMinimumRequired "")
|
2010-02-01 17:03:05 +03:00
|
|
|
AddCMakeTest(CompilerIdVendor "")
|
2013-01-25 02:15:13 +04:00
|
|
|
AddCMakeTest(ProcessorCount "-DKWSYS_TEST_EXE=$<TARGET_FILE:cmsysTestsCxx>")
|
2011-07-08 00:07:16 +04:00
|
|
|
AddCMakeTest(PushCheckState "")
|
2012-03-02 00:12:55 +04:00
|
|
|
AddCMakeTest(While "")
|
2013-06-15 09:38:23 +04:00
|
|
|
AddCMakeTest(CMakeHostSystemInformation "")
|
2008-03-04 16:18:34 +03:00
|
|
|
|
2010-05-27 20:21:56 +04:00
|
|
|
AddCMakeTest(FileDownload "")
|
|
|
|
set_property(TEST CMake.FileDownload PROPERTY
|
|
|
|
PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum"
|
|
|
|
)
|
|
|
|
|
2011-02-23 21:53:53 +03:00
|
|
|
AddCMakeTest(FileUpload "")
|
|
|
|
|
2009-10-27 21:01:31 +03:00
|
|
|
if(HAVE_ELF_H)
|
|
|
|
AddCMakeTest(ELF "")
|
|
|
|
endif()
|
|
|
|
|
2012-08-13 21:47:32 +04:00
|
|
|
set(EndStuff_PreArgs
|
2009-10-06 22:45:19 +04:00
|
|
|
"-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
|
|
|
|
)
|
|
|
|
AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
|
|
|
|
|
2012-08-13 21:47:32 +04:00
|
|
|
set(GetPrerequisites_PreArgs
|
2008-10-24 19:39:10 +04:00
|
|
|
"-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
|
|
|
|
)
|
|
|
|
AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
|
2009-07-24 23:58:23 +04:00
|
|
|
|
2013-08-28 07:47:36 +04:00
|
|
|
if(GIT_EXECUTABLE)
|
|
|
|
set(PolicyCheck_PreArgs
|
|
|
|
"-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
|
|
|
|
"-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
|
|
|
|
"-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
|
|
|
|
)
|
|
|
|
AddCMakeTest(PolicyCheck "${PolicyCheck_PreArgs}")
|
|
|
|
endif()
|
|
|
|
|
2009-07-24 23:58:23 +04:00
|
|
|
# Run CheckSourceTree as the very last test in the CMake/CTest/CPack test
|
|
|
|
# suite. It detects if any changes have been made to the CMake source tree
|
|
|
|
# by any previous configure, build or test steps.
|
|
|
|
#
|
2012-03-02 19:24:43 +04:00
|
|
|
if(GIT_EXECUTABLE)
|
2010-02-10 19:23:07 +03:00
|
|
|
string(REPLACE "\\" "/" ENV_HOME "$ENV{HOME}")
|
2009-07-24 23:58:23 +04:00
|
|
|
set(CheckSourceTree_PreArgs
|
2009-07-27 20:04:03 +04:00
|
|
|
"-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
|
2009-07-24 23:58:23 +04:00
|
|
|
"-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
|
2010-05-27 22:38:53 +04:00
|
|
|
"-DGIT_EXECUTABLE:STRING=${GIT_EXECUTABLE}"
|
2010-02-10 19:23:07 +03:00
|
|
|
"-DHOME:STRING=${ENV_HOME}"
|
2009-07-24 23:58:23 +04:00
|
|
|
)
|
|
|
|
AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
|
2012-03-02 19:24:43 +04:00
|
|
|
endif()
|