summaryrefslogtreecommitdiff
path: root/Tests/SimpleInstallS2
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-05-25 11:41:37 -0400
committerBrad King <brad.king@kitware.com>2007-05-25 11:41:37 -0400
commita99c60b0edde8fc71def63c88c5a736e67fdde0a (patch)
tree78e79769451d53ddebe204a519ab00eaac387abc /Tests/SimpleInstallS2
parent3124c60938626f19a8767e1e4a155a348ca954c9 (diff)
downloadcmake-a99c60b0edde8fc71def63c88c5a736e67fdde0a.tar.gz
ENH: Added testing of REGEX option to INSTALL(DIRECTORY). Added tests to cover all forms of old-style install commands.
Diffstat (limited to 'Tests/SimpleInstallS2')
-rw-r--r--Tests/SimpleInstallS2/CMakeLists.txt55
-rw-r--r--Tests/SimpleInstallS2/inst.cxx2
-rw-r--r--Tests/SimpleInstallS2/scripts/CMakeLists.txt1
3 files changed, 42 insertions, 16 deletions
diff --git a/Tests/SimpleInstallS2/CMakeLists.txt b/Tests/SimpleInstallS2/CMakeLists.txt
index 93154c041d..36ca945d42 100644
--- a/Tests/SimpleInstallS2/CMakeLists.txt
+++ b/Tests/SimpleInstallS2/CMakeLists.txt
@@ -84,11 +84,6 @@ IF(STAGE2)
ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
# Check for failure of directory installation.
- IF(WIN32 AND NOT CYGWIN)
- SET(BAT .bat)
- ELSE(WIN32 AND NOT CYGWIN)
- SET(BAT)
- ENDIF(WIN32 AND NOT CYGWIN)
IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
MESSAGE(FATAL_ERROR "Directory installation did not install TSD.h")
ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
@@ -98,17 +93,32 @@ IF(STAGE2)
IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
MESSAGE(FATAL_ERROR "Directory installation installed CVS directory.")
ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- EXECUTE_PROCESS(
- COMMAND "${CMAKE_INSTALL_PREFIX}/MyTest/share/sample_script${BAT}"
- RESULT_VARIABLE SAMPLE_SCRIPT_RESULT
- OUTPUT_VARIABLE SAMPLE_SCRIPT_OUTPUT
- )
- IF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- MESSAGE(FATAL_ERROR "Sample script failed: [${SAMPLE_SCRIPT_RESULT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- IF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
- MESSAGE(FATAL_ERROR "Bad sample script output: [${SAMPLE_SCRIPT_OUTPUT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
+ IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
+ MESSAGE(FATAL_ERROR "Directory installation installed CMakeLists.txt.")
+ ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
+
+ # Check that scripts properly installed.
+ IF(WIN32 AND NOT CYGWIN)
+ SET(BAT .bat)
+ ELSE(WIN32 AND NOT CYGWIN)
+ SET(BAT)
+ ENDIF(WIN32 AND NOT CYGWIN)
+ FOREACH(loc share share/old1 share/old2 share/old3)
+ SET(CUR_SCRIPT "${CMAKE_INSTALL_PREFIX}/MyTest/${loc}/sample_script${BAT}")
+ EXECUTE_PROCESS(
+ COMMAND ${CUR_SCRIPT}
+ RESULT_VARIABLE SAMPLE_SCRIPT_RESULT
+ OUTPUT_VARIABLE SAMPLE_SCRIPT_OUTPUT
+ )
+ IF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
+ MESSAGE(FATAL_ERROR
+ "Sample script [${CUR_SCRIPT}] failed: [${SAMPLE_SCRIPT_RESULT}]")
+ ENDIF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
+ IF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
+ MESSAGE(FATAL_ERROR
+ "Bad sample script [${CUR_SCRIPT}] output: [${SAMPLE_SCRIPT_OUTPUT}]")
+ ENDIF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
+ ENDFOREACH(loc)
# Check for failure of empty directory installation.
IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
@@ -125,6 +135,9 @@ IF(STAGE2)
INSTALL_TARGETS(/MyTest/bin SimpleInstallS2)
ELSE(STAGE2)
+ # Wipe out the install directory to do a fresh test.
+ FILE(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/MyTest)
+
# this is stage 1, so create libraries and modules and install everything
ADD_LIBRARY(test1 STATIC lib1.cxx)
ADD_LIBRARY(test2 SHARED lib2.cxx)
@@ -167,7 +180,16 @@ ELSE(STAGE2)
PERMISSIONS OWNER_READ OWNER_WRITE
RENAME lib2renamed.h
)
+
+ # Test old-style install commands.
INSTALL_FILES(/MyTest/include FILES lib3.h)
+ INSTALL_FILES(/MyTest/include/old .h lib3)
+ INSTALL_FILES(/MyTest/include/old "^lib2.h$")
+ INSTALL_PROGRAMS(/MyTest/share/old1 FILES
+ scripts/sample_script scripts/sample_script.bat)
+ INSTALL_PROGRAMS(/MyTest/share/old2
+ scripts/sample_script scripts/sample_script.bat)
+ ADD_SUBDIRECTORY(scripts)
# Test optional installation.
INSTALL(FILES does_not_exist.h DESTINATION MyTest/include/foo OPTIONAL)
@@ -186,6 +208,7 @@ ELSE(STAGE2)
INSTALL(
DIRECTORY TestSubDir scripts/ DESTINATION MyTest/share
PATTERN "CVS" EXCLUDE
+ REGEX "\\.txt$" EXCLUDE
PATTERN "scripts/*" PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
)
diff --git a/Tests/SimpleInstallS2/inst.cxx b/Tests/SimpleInstallS2/inst.cxx
index 3faf924baa..7f2962d00b 100644
--- a/Tests/SimpleInstallS2/inst.cxx
+++ b/Tests/SimpleInstallS2/inst.cxx
@@ -4,6 +4,8 @@
# include <foo/lib1.h>
# include <foo/lib2renamed.h>
# include <lib3.h>
+# include <old/lib2.h>
+# include <old/lib3.h>
#else
# include "lib1.h"
# include "lib2.h"
diff --git a/Tests/SimpleInstallS2/scripts/CMakeLists.txt b/Tests/SimpleInstallS2/scripts/CMakeLists.txt
new file mode 100644
index 0000000000..d46c1652e4
--- /dev/null
+++ b/Tests/SimpleInstallS2/scripts/CMakeLists.txt
@@ -0,0 +1 @@
+INSTALL_PROGRAMS(/MyTest/share/old3 "^sample_script(\\.bat)?$")