summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Test CHECK_(C|CXX)_COMPILER_FLAG macrosBrad King2009-09-171-1/+9
| | | | | This teaches the TryCompile test to check that the compiler flag check macros correctly reject a bad flag. See issue #9516.
* Create CMake.ConfigureFile test for configure_fileBrad King2009-09-166-0/+28
| | | | | This test checks that configure_file() handles input and output file arguments as documented.
* Factor out CMake.File test result check for re-useBrad King2009-09-162-35/+40
| | | | | | | The CMake.File test runs several scripts through "cmake -P" and checks the output and result against known good values. This commit factors out the checking code into a separate CMakeCheckTest module. The module may be used by new tests.
* Test add_subdirectory inside functionBrad King2009-09-161-0/+35
| | | | | | | This commit teaches the FunctionTest to check variable scope behavior when a subdirectory is added inside a function call. Any PARENT_SCOPE sets in the subdirectory should affect only the function scope which called add_subdirectory and not its parent scope.
* Test that CTest can handle missing newlinesBrad King2009-09-111-0/+4
| | | | | We create test 'CTest.NoNewline' to print output with no newline. This tests CTest's ability to handle a missing newline.
* Enable C and C++ first in Fortran testBrad King2009-09-091-1/+1
| | | | | | CMake now looks for a Fortran compiler matching any C or C++ compiler already enabled. We test this by enabling C and C++ first in the Fortran test, which is what user projects will likely do.
* Use more verbose/descriptive names for the "public API" functions in the ↵David Cole2009-09-081-21/+29
| | | | ExternalProject.cmake module. Follow the cmake function naming convention, using a ModuleFileName_ prefix. Locate stamp files under a CMAKE_CFG_INTDIR subdir of the stamp dir so that debug and release builds have separate stamp files for Visual Studio builds. If no CMAKE_GENERATOR argument is given to ExternalProject_Add, default to using the parent project's cmake generator.
* Put custom commands in topological order for VS 10Brad King2009-09-071-9/+0
| | | | | | | | | | | | | | | | Visual Studio 10 uses MSBuild to drive the build. Custom commands appear in MSBuild files inside CustomBuild elements, which appear inside ItemGroup elements. The Outputs and AdditionalInputs elements of each CustomBuild element are evaluated according to timestamps on disk. MSBuild does not use inputs/outputs to order CustomBuild steps within a single ItemGroup or across multiple ItemGroup elements. Instead we must put only unrelated CustomBuild elements in a single ItemGroup and order the item groups from top to bottom using a topological order of the custom command dependency graph. This fixes CustomCommand and ExternalProject test failures, so we remove the expectation of these failures.
* Add a test for FILE(READ ... HEX) together with a tiny binary file.Alexander Neundorf2009-09-062-0/+9
| | | | Alex
* Add test step to ExternalProject builds. Rename SVN_TAG to SVN_REVISION ↵David Cole2009-09-031-4/+13
| | | | since it is a more accurate name.
* ENH: Added PARALLEL_LEVEL option for ctest_memcheck(). Added PROCESSORS ↵Zach Mullen2009-09-031-2/+2
| | | | option to set_tests_properties (implementation to come).
* Make CTest.UpdateGIT robust to user git configBrad King2009-09-011-0/+7
| | | | | | | Part of this test does "git pull" on a dirty work tree. We need to make sure that 'branch.master.rebase' is false for the test repository. Otherwise if it is true in the user configuration then pull will refuse to rebase and the test will fail.
* Test the user package registryBrad King2009-09-015-0/+33
| | | | | | We teach the FindPackageTest to build a sample project that stores its build tree in the user package registry using export(PACKAGE), and then find it with find_package.
* Test link multiplicity export/importBrad King2009-09-019-1/+26
| | | | | | | We test that LINK_INTERFACE_MULTIPLICITY propagates through export() and install(EXPORT) into dependent projects. A simple cycle of two archives that need to be scanned three times ensures that the importing project uses the multiplicity correctly.
* Test link multiplicityBrad King2009-09-015-4/+11
| | | | | This tests the LINK_INTERFACE_MULTIPLICITY property for a cycle of three static libraries that must be scanned three times to link properly.
* Added ctest -N test. Fixed ctest working directory bug. MemCheck fix ↵Zach Mullen2009-08-281-0/+3
| | | | coming soon...
* Enforce FortranCInterface_VERIFY in Fortran testBrad King2009-08-241-2/+2
| | | | | This removes the QUIET option from FortranCInterface_VERIFY in the Fortran test to really test the detected interface everywhere.
* Create FortranCInterface_VERIFY functionBrad King2009-08-241-0/+2
| | | | | | | This function builds a simple test project using a combination of Fortran and C (and optionally C++) to verify that the compilers are compatible. The idea is to help projects report very early to users that the compilers specified cannot mix languages.
* Output command that failed, if it fails.Bill Hoffman2009-08-121-1/+2
|
* Test add_test() generator expressionsBrad King2009-08-116-0/+96
| | | | | | | This teaches the 'testing' test to try generator expressions in arguments to add_test(NAME). This test case mimics a common use-case of passing executables to test driver scripts. We excercise the syntax for per-configuration target file names.
* Rewrite FortranCInterface moduleBrad King2009-08-052-36/+38
| | | | | | | | | | | | | | | | | | | | This is a new FortranCInterface.cmake module to replace the previous prototype. All module support files lie in a FortranCInterface directory next to it. This module uses a new approach to detect Fortran symbol mangling. We build a single test project which defines symbols in a Fortran library (one per object-file) and calls them from a Fortran executable. The executable links to a C library which defines symbols encoding all known manglings (one per object-file). The C library falls back to the Fortran library for symbols it cannot provide. Therefore the executable will always link, but prefers the C-implemented symbols when they match. These symbols store string literals of the form INFO:symbol[<name>] so we can parse them out of the executable. This module also provides a simpler interface. It always detects the mangling as soon as it is included. A single macro is provided to generate mangling macros and optionally pre-mangled symbols.
* Remove WXDialog source codeBrad King2009-08-053-106/+0
| | | | | The QtDialog is our supported cross-platform GUI, so the WXDialog source is no longer needed.
* No /fast targets in try_compile project modeBrad King2009-08-044-3/+9
| | | | | | | | The try_compile command builds the cmTryCompileExec executable using the cmTryCompileExec/fast target with Makefile generators in order to save time since dependencies are not needed. However, in project mode the command builds an entire source tree that may have dependencies. Therefore we can use the /fast target approach only in one-source mode.
* Test C, C++, Fortran interface combinationsBrad King2009-08-046-11/+35
| | | | | | | | | Previously the Fortran test created a single executable containing C, C++, and Fortran sources. This commit divides the executable into three libraries corresponding to each language, and two executables testing Fortran/C only and Fortran/C/C++ together. The result tests more combinations of using the languages together, and that language requirements propagate through linking.
* Fix recursive try_compile callsBrad King2009-08-031-0/+9
| | | | | | | | When building an entire source tree with try_compile instead of just a single source file, it is possible that the CMakeLists.txt file in the try-compiled project invokes try_compile. This commit fixes propagation of language-initialization results from the outer-most project into any number of try-compile levels.
* Test try_compile project modeBrad King2009-08-032-0/+11
| | | | | | | The try_compile command project mode builds an entire source tree instead of one source file. It uses an existing CMakeLists.txt file in the given source tree instead of generating one. This commit creates a test for the mode in the TryCompile test.
* Check PGI linker lines in ImplicitLinkInfo testBrad King2009-07-291-0/+18
| | | | This adds sample linker invocation lines for the PGI compiler on Linux.
* Check Intel linker lines in ImplicitLinkInfo testBrad King2009-07-291-0/+18
| | | | | | This adds sample linker invocation lines for the Intel compiler on Linux. In particular, this exercises the case when "ld" appears without a full path.
* Test cache entry property "STRINGS"Brad King2009-07-291-1/+5
| | | | | The STRINGS property tells cmake-gui to create a drop-down selection list. This teaches the Properties test to set and verify its value.
* BUG: Parse implicit link editor -z*extract optionsBrad King2009-07-281-2/+2
| | | | | | | | The Sun Fortran compiler passes -zallextract and -zdefaultextract to the linker so that all objects from one of its archives are included in the link. This teaches the implicit options parser to recognize the flags. We need to pass them explicitly on C++ link lines when Fortran code is linked.
* ENH: Test Fortran and C++ in one executableBrad King2009-07-273-3/+9
| | | | | | | This extends the Fortran-to-C interface test to add a C++ source file. The executable can only link with the C++ linker and with the proper Fortran runtime libraries. These libraries should be detected by CMake automatically, so this tests verifies the detection functionality.
* ENH: Remove EXTRA_FORTRAN_C_LIBS Fortran test hackBrad King2009-07-271-5/+0
| | | | | | | This hack was created to help the Fortran test executables link to the implicit C libraries added by BullsEye. Now that implicit libraries from all languages are detected and included automatically the hack is no longer needed.
* ENH: Report CMake logs in SystemInformation testBrad King2009-07-271-2/+4
| | | | | | | This teaches the SystemInformation test to report the CMake log files CMakeOutput.log and CMakeError.log from the CMake build tree and from the SystemInformation test build tree. These logs may help diagnose dashboard problems remotely.
* ENH: Make the CheckSourceTree test emit a warning (but pass instead of fail) ↵David Cole2009-07-272-4/+51
| | | | when there is an in-source build on a dashboard machine.
* ENH: Require language libs in Fortran/C testBrad King2009-07-271-0/+1
| | | | | | This extends the Fortran/C interface test to require that the executable link to the fortran language runtime libraries. We must verify that the proper linker is chosen.
* ENH: Improvements to the new CheckSourceTree test: ignore Thumbs.db and ↵David Cole2009-07-251-49/+86
| | | | .DS_Store files. Force all output to stderr by not using STATUS with message. Better error text.
* BUG: Further avoid ImplicitLinkInfo case changeBrad King2009-07-251-6/+6
| | | | | | The commit "Avoid case change in ImplicitLinkInfo test" did not change all of the paths to mingw, so some case change still occurs. This changes more of them.
* BUG: One last attempt for today to get the new CheckSourceTree test running ↵David Cole2009-07-241-4/+6
| | | | on dashboards driven by CMake 2.4... Good night now.
* BUG: Close endif statements with same string as if so that it still ↵David Cole2009-07-241-1/+1
| | | | configures with CMake 2.4. One more time. Encore, encore.
* BUG: Improve CheckSourceTree test so that it ignores 'U ' output from cvs ↵David Cole2009-07-241-3/+53
| | | | update. Also: improve failure logic for dashboard runs and developer runs.
* BUG: Teach VariableWatch test to check resultsBrad King2009-07-241-0/+9
| | | | | | Previously this test was only a smoke test for manual verification. This teaches the test to actually check that the variable watch succeeds.
* BUG: Close endif statements with same string as if so that it still ↵David Cole2009-07-241-6/+9
| | | | configures with CMake 2.4 -- also check for existence of FindCVS.cmake before doing find_package(CVS QUIET) also for CMake 2.4 sake...
* BUG: Oops. Left chunk of junk at the bottom of the main Tests CMakeLists.txt ↵David Cole2009-07-241-6/+0
| | | | file with the last commit... Sorry.
* BUG: Additional fix necessary for issue #8481 so that Xcode builds do not ↵David Cole2009-07-243-6/+88
| | | | write files into the source tree. Also add a test that runs last to check for local modifications in CMake_SOURCE_DIR based on whether 'cvs -q -n up -dP' output is empty. Test fails on dashboard runs when there are local modifications. Test passes on non-dashboard runs with local modifications so that CMake developers may have mods when running the test locally.
* BUG: Avoid case change in ImplicitLinkInfo testBrad King2009-07-241-6/+6
| | | | | | Since "get_filename_component(... ABSOLUTE)" retrieves the actual case for existing paths on windows, we need to use an obscure path for mingw. Otherwise the test can fail just because the case of the paths changes.
* ENH: Create ImplicitLinkInfo testBrad King2009-07-232-0/+320
| | | | | | This tests the internal CMakeParseImplicitLinkInfo.cmake module to ensure that implicit link information is extracted correctly. The test contains many manually verified examples from a variety of systems.
* ENH: Implicit link info for C, CXX, and FortranBrad King2009-07-231-0/+7
| | | | | | | | | | | | | This teaches CMake to detect implicit link information for C, C++, and Fortran compilers. We detect the implicit linker search directories and implicit linker options for UNIX-like environments using verbose output from compiler front-ends. We store results in new variables called CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES The implicit libraries can contain linker flags as well as library names.
* ENH: Improve strictness of Function testBrad King2009-07-221-4/+14
| | | | | | The command "set(... PARENT_SCOPE)" should never affect the calling scope. This improves the Function test to check that such calls in a subdirectory scope affect the parent but not the child.
* BUG: Fix SystemInformation dump outputBrad King2009-07-211-1/+1
| | | | | | | When this test was renamed from DumpInformation to SystemInformation the configured header that points the dump executable to the directory containing information files was broken. No information has been dumped by this test for 2 years! This fixes it.
* ENH: set expected failure for testsBill Hoffman2009-07-201-0/+9
|