ENH: Added Install test. It is enabled when the CMAKE_INSTALL_PREFIX is CMake_BINARY_DIR/InstallTest.
This commit is contained in:
parent
ea6a84cc64
commit
26fce5a402
|
@ -359,6 +359,18 @@ IF(BUILD_TESTING)
|
||||||
${CMake_BINARY_DIR}/Tests/Objc++
|
${CMake_BINARY_DIR}/Tests/Objc++
|
||||||
objc++)
|
objc++)
|
||||||
ENDIF (APPLE)
|
ENDIF (APPLE)
|
||||||
|
|
||||||
|
IF(UNIX)
|
||||||
|
IF("x${CMAKE_INSTALL_PREFIX}" MATCHES "^x${CMake_BINARY_DIR}/InstallTest$")
|
||||||
|
CONFIGURE_FILE(
|
||||||
|
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
|
||||||
|
${CMake_BINARY_DIR}/Tests/TestInstall/TestInstall.sh
|
||||||
|
@ONLY IMMEDIATE
|
||||||
|
)
|
||||||
|
ADD_TEST(Install /bin/sh ${CMake_BINARY_DIR}/Tests/TestInstall/TestInstall.sh)
|
||||||
|
ENDIF("x${CMAKE_INSTALL_PREFIX}" MATCHES "^x${CMake_BINARY_DIR}/InstallTest$")
|
||||||
|
ENDIF(UNIX)
|
||||||
|
|
||||||
ENDIF(BUILD_TESTING)
|
ENDIF(BUILD_TESTING)
|
||||||
|
|
||||||
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
CMAKE_COMMAND="@CMAKE_INSTALL_PREFIX@/bin/cmake"
|
||||||
|
CMake_SOURCE_DIR="@CMake_SOURCE_DIR@"
|
||||||
|
CMake_BINARY_DIR="@CMake_BINARY_DIR@"
|
||||||
|
CMAKE_INSTALL_PREFIX="@CMAKE_INSTALL_PREFIX@"
|
||||||
|
CMAKE_BUILD_TOOL="@CMAKE_BUILD_TOOL@"
|
||||||
|
|
||||||
|
SOURCE_DIR="${CMake_SOURCE_DIR}/Tests/Simple"
|
||||||
|
BINARY_DIR="${CMake_BINARY_DIR}/Tests/TestInstall"
|
||||||
|
|
||||||
|
install()
|
||||||
|
{
|
||||||
|
echo "Erasing ${CMAKE_INSTALL_PREFIX}" &&
|
||||||
|
([ ! -d "${CMAKE_INSTALL_PREFIX}" ] || rm -rf "${CMAKE_INSTALL_PREFIX}") &&
|
||||||
|
mkdir -p "${CMAKE_INSTALL_PREFIX}" &&
|
||||||
|
echo "Running make install" &&
|
||||||
|
(
|
||||||
|
cd "${CMake_BINARY_DIR}" &&
|
||||||
|
"${CMAKE_BUILD_TOOL}" install
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
echo "Entering ${BINARY_DIR}" &&
|
||||||
|
cd "${BINARY_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
write_cache()
|
||||||
|
{
|
||||||
|
install || return 1
|
||||||
|
setup || return 1
|
||||||
|
echo "Writing CMakeCache.txt"
|
||||||
|
(
|
||||||
|
cat > CMakeCache.txt <<EOF
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
run_cmake()
|
||||||
|
{
|
||||||
|
write_cache || return 1
|
||||||
|
echo "Running CMake"
|
||||||
|
"${CMAKE_COMMAND}" "${SOURCE_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_make()
|
||||||
|
{
|
||||||
|
run_cmake || return 1
|
||||||
|
echo "Running ${CMAKE_BUILD_TOOL}"
|
||||||
|
"${CMAKE_BUILD_TOOL}"
|
||||||
|
}
|
||||||
|
|
||||||
|
run_test()
|
||||||
|
{
|
||||||
|
echo "Running ${BINARY_DIR}/simple"
|
||||||
|
(
|
||||||
|
"${BINARY_DIR}/simple"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
run_make && run_test
|
Loading…
Reference in New Issue