summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Test export/import of link interface languagesBrad King2009-07-117-22/+42
| | | | | | | This extends the ExportImport test. The Export project creates a C++ static library and exports it. Then the Import project links the library into a C executable. On most platforms the executable will link only if the C++ linker is chosen correctly.
* ENH: add group support and fix borland errorBill Hoffman2009-07-112-1/+2
|
* ENH: Test transitive link languagesBrad King2009-07-104-0/+23
| | | | | | This test creates a C executable that links to a C++ static library. On most platforms the executable will not link unless the C++ linker is chosen correctly.
* ENH: Teach CTest to handle Mercurial repositoriesBrad King2009-07-102-0/+181
| | | | | | | | | | | This creates cmCTestHG to drive CTest Update handling on hg-based work trees. Currently we always update to the head of the remote tracking branch (hg pull), so the nightly start time is ignored for Nightly builds. A later change will address this. See issue #7879. Patch from Emmanuel Christophe. I modified the patch slightly for code style, to finish up some parsing details, and to fix the test.
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-103-6/+6
|
* ENH: Remove CMAKE_ANSI_CFLAGS from testsBrad King2009-07-0821-79/+0
| | | | | As of CMake 2.6 this variable is not defined, and the ANSI flags for the HP compiler are simply hard-coded in the default C flags.
* BUG: Skip CTest.Update* for cygwin tools on WindowsBrad King2009-07-011-2/+14
| | | | | These tests cannot run with cygwin tools unless testing cygwin CTest. The version control tools do not understand all Windows paths.
* BUG: Exclude svn portions of ExternalProject test when: svn client version ↵David Cole2009-07-011-0/+26
| | | | is less than 1.2 or cygwin/non-cygwin mismatch detected -- avoids ExternalProject test failures on dash5 and dash22-cygwin. Also, non-code change: allow cvslock through Windows firewall to prevent ExternalProject test failure on dash1vista32.
* BUG: Avoid running the cvs portions of the ExternalProject test on ↵David Cole2009-06-291-2/+21
| | | | non-cygwin builds that are using cygwin cvs.exe.
* BUG: Downgrade svn repository to be created with an svn 1.2 installation ↵David Cole2009-06-262-11/+13
| | | | (rather than 1.4) so that it works (hopefully) with more svn clients in the wild. Change time stamps of test projects in CMakeLists.txt to reflect times available in newly created repository. Add UPDATE_COMMAND "" for checkouts that are tag-based or date-stamp-based to avoid unnecessary update steps.
* ENH: Do not unzip the local repositories unless CVS and SVN executables are ↵David Cole2009-06-261-26/+27
| | | | available. Add 'configure' step to the repository extraction 'projects' to print the version number of CVS and SVN in the dashboard test/build output.
* ENH: Revise the ExternalProject test to use local CVS and SVN repositories ↵David Cole2009-06-261-126/+87
| | | | to avoid network activity. Also: stop building KWStyle and kwsys as part of this test to reduce the amount of time spent running the test. Instead, build TutorialStep1 as retrieved from the new local repositories with various tags, date stamps and revision numbers.
* ENH: Add *.tgz files of cvs and svn repositories containing the ↵David Cole2009-06-252-0/+0
| | | | TutorialStep1 project to test cvs and svn capabilities of ExternalProject without requiring network activity.
* BUG: Fix CTest.UpdateBZR tests to run in parallelBrad King2009-06-251-1/+5
| | | | | The UpdateBZR and UpdateBZR.CLocale tests should run in different directories so that they can be executed in parallel.
* ENH: New ExternalProject.cmake module interfaceBrad King2009-06-241-63/+61
| | | | | | | | | | This creates new module ExternalProject.cmake to replace the prototype AddExternalProject.cmake module. The interface is more refined, more flexible, and better documented than the prototype. This also converts the ExternalProject test to use the new module. The old module will be removed (it was never in a CMake release) after projects using it have been converted to the new module.
* BUG: Extend timeout of ExternalProject testBrad King2009-06-241-0/+5
| | | | | | | This test requires a long time on slower machines, so we need to extend its timeout. It is an important test, so it does not fall under the CMAKE_RUN_LONG_TESTS option. In the future we should try to shorten the test by building simpler external projects.
* ENH: fix spelling mistakeKen Martin2009-06-233-3/+3
|
* ENH: Auto-enable CTest.UpdateCVS test on WindowsBrad King2009-06-222-20/+28
| | | | | | | | | | | The test needs to create a cvs repository with 'cvs init', but the CVSNT client on Windows needs 'cvs init -n' to avoid administrator access. Previously we required users to explicitly enable CTEST_TEST_UPDATE_CVS to activate the test on Windows. This teaches the test to use the '-n' option when necessary. Now we can enable the test in all cases except when trying to use a cygwin cvs.exe without cygwin paths.
* BUG: Create an exe's implib output dir for VSBrad King2009-06-151-0/+2
| | | | | | | | If an executable marks symbols with __declspec(dllexport) then VS creates an import library for it. However, it forgets to create the directory that will contain the import library if it is different from the location of the executable. We work around this VS bug by creating a pre-build event on the executable target to make the directory.
* BUG: Parse more bzr xml output encodingsBrad King2009-05-181-0/+4
| | | | | | | The BZR xml output plugin can use some encodings that are not recognized by expat, which leads to "Error parsing bzr log xml: unknown encoding". This works around the problem by giving expat a mapping, and adds a test. Patch from Tom Vercauteren. See issue #6857.
* ENH: Teach CTest to handle Bazaar repositoriesBrad King2009-05-142-0/+164
| | | | | | | | This creates cmCTestBZR to drive CTest Update handling on bzr-based work trees. Currently we always update to the head of the remote tracking branch (bzr pull), so the nightly start time is ignored for Nightly builds. A later change will address this. Patch from Tom Vercauteren. See issue #6857.
* BUG: file(COPY) test should not make read-only dirBrad King2009-05-131-2/+2
| | | | | | | CMake directory removal code cannot remove content from read-only directories (a separate bug which will be fixed). Therefore we should not create them in the StringFileTest. This tweaks the file(COPY) call to test not giving OWNER_WRITE to files rather than directories.
* ENH: Always imply CLEAN_DIRECT_OUTPUT target propBrad King2009-05-013-3/+3
| | | | | | | | | | | | | | This property was left from before CMake always linked using full path library names for targets it builds. In order to safely link with "-lfoo" we needed to avoid having both shared and static libraries in the build tree for targets that switch on BUILD_SHARED_LIBS. This meant cleaning both shared and static names before creating the library, which led to the creation of CLEAN_DIRECT_OUTPUT to disable the behavior. Now that we always link with a full path we do not need to clean old library names left from an alternate setting of BUILD_SHARED_LIBS. This change removes the CLEAN_DIRECT_OUTPUT property and instead uses its behavior always. It removes some complexity from cmTarget internally.
* ENH: Allow more specification of target file namesBrad King2009-05-013-2/+19
| | | | | | | | | | | | | | This creates target properties ARCHIVE_OUTPUT_NAME, LIBRARY_OUTPUT_NAME, and RUNTIME_OUTPUT_NAME, and per-configuration equivalent properties ARCHIVE_OUTPUT_NAME_<CONFIG>, LIBRARY_OUTPUT_NAME_<CONFIG>, and RUNTIME_OUTPUT_NAME_<CONFIG>. They allow specification of target output file names on a per-type, per-configuration basis. For example, a .dll and its .lib import library may have different base names. For consistency and to avoid ambiguity, the old <CONFIG>_OUTPUT_NAME property is now also available as OUTPUT_NAME_<CONFIG>. See issue #8920.
* BUG: Fix CMake.File test for deep dir nameBrad King2009-04-291-1/+1
| | | | | This fixes the regex checking expected output of Copy-NoFile to account for line wrapping when the input directory name is long.
* ENH: Test file(COPY) failure casesBrad King2009-04-299-0/+58
| | | | | This tests some cases of bad arguments to the file(COPY) signature. It checks that the proper error messages are produced.
* ENH: Create file(COPY) command signatureBrad King2009-04-291-1/+10
| | | | | | | | The file(INSTALL) command has long been undocumented and used only to implement install() scripts. We now document it and provide a similar file(COPY) signature which is useful in general-purpose scripts. It provides the capabilities of install(DIRECTORY) and install(FILES) but operates immediately instead of contributing to install scripts.
* ENH: Test spaces in non-string preprocessor valuesBrad King2009-04-241-1/+1
| | | | | | | This extends the Preprocessor test to put spaces in the value of a definition that is not a quoted string. In particular this tests that VS6 supports values with spaces if they do not have '"', '$', or ';'. See issue #8779.
* ENH: Support more preprocessor values in VS6Brad King2009-04-241-2/+3
| | | | | | | | | Previously we rejected all preprocessor definition values containing spaces for the VS6 IDE generator. In fact VS6 does support spaces but not in combination with '"', '$', or ';', and only if we use the sytnax '-DNAME="value with spaces"' instead of '-D"NAME=value with spaces"'. Now we support all definition values that do not have one of these invalid pairs. See issue #8779.
* BUG: Fix CTest.UpdateGIT test for older gitBrad King2009-04-231-1/+1
| | | | | Older git versions do not support 'git init --bare', so we instead use the more proper 'git --bare init'.
* ENH: Teach CTest to handle git repositoriesBrad King2009-04-222-0/+187
| | | | | | | This creates cmCTestGIT to drive CTest Update handling on git-based work trees. Currently we always update to the head of the remote tracking branch (git pull), so the nightly start time is ignored for Nightly builds. A later change will address this. See issue #6994.
* ENH: make sure tests for cpack are run correctlyBill Hoffman2009-04-211-1/+1
|
* ENH: make sure tests for cpack are run correctlyBill Hoffman2009-04-211-2/+2
|
* ENH: make sure tests for cpack are run correctlyBill Hoffman2009-04-211-1/+1
|
* ENH: make sure tests for cpack are run correctlyBill Hoffman2009-04-211-2/+2
|
* ENH: Create file(RENAME) command modeBrad King2009-04-151-1/+3
| | | | | This creates command "file(RENAME <oldname> <newname>)" to rename a file or directory within a single disk volume.
* ENH: Allow lists in AddExternalProject argumentsBrad King2009-04-092-0/+8
| | | | | | | | | | | | | | | | | | The add_external_project function separates its arguments with ';' separators, so previously no command line argument could contain one. When specifying CMAKE_ARGS, some -D argument values may need to contain a semicolon to form lists in the external project cache. This adds add_external_project argument LIST_SEPARATOR to specify a list separator string. The separator is replaced by ';' in arguments to any command created to drive the external project. For example: add_external_project(... LIST_SEPARATOR :: CMAKE_ARGS -DSOME_LIST:STRING=A::B::C ...) passes "-DSOME_LIST:STRING=A;B;C" to CMake for the external project.
* ENH: Allow IMPORTED_IMPLIB w/o IMPORTED_LOCATIONBrad King2009-04-084-3/+36
| | | | | | Linking to a Windows shared library (.dll) requires only its import library (.lib). This teaches CMake to recognize SHARED IMPORTED library targets that set only IMPORTED_IMPLIB and not IMPORTED_LOCATION.
* ENH: Teach Update* tests to report local mod stepBrad King2009-04-082-0/+2
| | | | | The CTest.UpdateCVS/SVN tests report every step with a message. This adds a message for the local modification step.
* ENH: Make UpdateCVS test robust to 1s file time resBrad King2009-04-081-0/+7
| | | | | | | CVS clients recognize file modifications only if a file's timestamp is newer than its CVS/Entries line. This fixes intermittent failure of the test on filesystems with low timestamp resolution by delaying before creating a local modification.
* ENH: Test transitive link to subdir-imported libBrad King2009-04-066-62/+97
| | | | | This tests linking to an imported target that is not visible but is a transitive dependency of a target that is visible. See issue #8843.
* STYLE: White space only change to see if continuous is working on new ↵David Cole2009-03-311-1/+0
| | | | dashboard machine...
* STYLE: White space only change to see if continuous is working on new ↵David Cole2009-03-311-0/+1
| | | | dashboard machine...
* ENH: Generalize AddExternalProject step creationBrad King2009-03-301-1/+8
| | | | | | This creates function 'add_external_project_step' to centralize creation of external project steps. Users may call it to add custom steps to external project builds.
* BUG: Fix CMAKE_CURRENT_LIST_FILE in macrosBrad King2009-03-252-0/+15
| | | | | | | | | | | | | | | | | | | | | The value of CMAKE_CURRENT_LIST_FILE is supposed to be the list file currently being executed. Before macros were introduced this was always the context of the argument referencing the variable. Our original implementation of macros replaced the context of command arguments inside the macro with that of the arguments of the calling context. This worked recursively, but only worked when macros had at least one argument. Furthermore, it caused parsing errors of the arguments to report the wrong location (calling context instead of line with error). The commit "Improve context for errors in macros" fixed the latter bug by keeping the lexical context of command arguments in macros. It broke evaluation of CMAKE_CURRENT_LIST_FILE because the calling context was no longer preserved in the argument referencing the variable. However, since our list file processing now maintains the proper value of CMAKE_CURRENT_LIST_FILE with dynamic scope we no longer need the context of the argument and can just evaluate the variable normally.
* ENH: Support preprocessor def values in VS6Brad King2009-03-233-33/+34
| | | | | | | | | The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src properties support preprocessor definitions with values. Previously values were not supported in the VS6 generator even though the native tool supports them. It is only values with spaces that VS6 does not support. This enables support and instead complains only for values with spaces. See issue #8779.
* ENH: Add patch step for add_external_projectBrad King2009-03-182-1/+24
| | | | | | The patch step runs parallel to the update step since it does not make sense to have both. Configuration of the step requires specification of a PATCH_COMMAND argument to add_external_project.
* ENH: Improve add_external_project interfaceBrad King2009-03-181-18/+16
| | | | | | | | | | | | | | | | This rewrites the keyword/argument parsing and handling in the AddExternalProject module to use arguments more literally: - The strict keyword-value pairing is gone in favor of keywords with arbitrary non-keyword values. This avoids requiring users to escape spaces and quotes in command lines. - Customized step command lines are now specified with a single keyword <step>_COMMAND instead of putting the arguments in a separate entry (previously called <step>_ARGS). - Build step custom commands now use VERBATIM mode so that arguments are correctly escaped on the command line during builds.
* ENH: New foreach(<var> IN ...) modeBrad King2009-03-171-0/+19
| | | | | | | | This creates a new mode of the foreach command which allows precise iteration even over empty elements. This mode may be safely extended with more keyword arguments in the future. The cost now is possibly breaking scripts that iterate over a list of items beginning with 'IN', but there is no other way to extend the syntax in a readable way.
* ENH: Allow projects to disable per-rule echo linesBrad King2009-03-163-6/+6
| | | | | | | | | This creates global property RULE_MESSAGES which can be set to disbale per-rule progress and action reporting. On Windows, these reports may cause a noticable delay due to the cost of starting extra processes. This feature will allow scripted builds to avoid the cost since they do not need detailed information anyway. This replaces the RULE_PROGRESS property created earlier as it is more complete. See issue #8726.