summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Set CMAKE_<LANG>_VERBOSE_FLAG variables for IntelBrad King2009-07-293-0/+3
| | | | | | We set the variables to contain "-v", the verbose front-end output option for Intel compilers. This enables detection of implicit link libraries and directories for these compilers.
* Recognize linker commands without pathsBrad King2009-07-291-1/+1
| | | | | | | This teaches the implicit link line parsing code to recognize link lines that do not have a full path to the linker executable. At least one version of the Intel compiler on Linux invokes the linker as just "ld" instead of "/usr/bin/ld".
* ENH: Separate option mapping from VS generatorsBrad King2009-07-295-171/+261
| | | | | Split cmVisualStudioGeneratorOptions core functionality out into a base class cmIDEOptions. It will be useful for other generators.
* ENH: Separate VS flag table typeBrad King2009-07-298-31/+56
| | | | | Move the cmVS7FlagTable type out of the VS generators and rename it to cmIDEFlagTable. It will be useful for other generators.
* 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.
* STYLE: Nightly Date StampKWSys Robot2009-07-291-1/+1
|
* ENH: remove code duplication and use cmVisualStudioGeneratorOptions for all ↵Bill Hoffman2009-07-282-379/+9
| | | | versions of vs 7 and greater.
* BUG: Do not double-initialize local generatorsBrad King2009-07-285-9/+0
| | | | | | | | | All global generator CreateLocalGenerator methods automatically initialize the local generator instances with SetGlobalGenerator. In several places we were calling SetGlobalGenerator again after receiving the return value from CreateLocalGenerator. The double-initializations leaked the resources allocated by the first call to SetGlobalGenerator. This fix removes the unnecessary calls.
* BUG: Do not filter non-library implicit link itemsBrad King2009-07-281-1/+7
| | | | | | | We list implicit link items of languages linked into a target but filter them by the implicit libraries known to be passed by the main linker language. Implicit link flags like "-z..." should not be filtered out because they are not libraries.
* BUG: Parse implicit link editor -z*extract optionsBrad King2009-07-282-3/+6
| | | | | | | | 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.
* BUG: Always pass linker flags untouchedBrad King2009-07-281-21/+23
| | | | | | | | In cmComputeLinkInformation we recognize link options that look like library file names, but pass flags starting in '-' through untouched. This fixes the ordering of the check to recognize '-' flags first in case the rest of the option looks like a library file name, as in the case of "-l:libfoo.a".
* BUG: Do not recognize ':' in a library nameBrad King2009-07-281-1/+1
| | | | | | In cmComputeLinkInformation we construct regular expressions to recognize library file names. This fixes the expressions to not allow a colon (':') in the file name so that "-l:libfoo.a" is left alone.
* STYLE: Nightly Date StampKWSys Robot2009-07-281-1/+1
|
* BUG: Enable large files only if <cstdio> worksBrad King2009-07-272-0/+13
| | | | | | | | | | | Some AIX/gcc version combinations the <cstdio> header breaks when large file support is enabled. See this GCC issue for details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20366 We work around the problem by enhancing the configuration check for large file support to include <cstdio> when available. This will cause LFS to be disabled when the above problem occurs.
* ENH: add test times and a total time to the output of command line ctestBill Hoffman2009-07-271-8/+23
|
* 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: Link runtime libraries of all languagesBrad King2009-07-274-0/+86
| | | | | | | | | | | | | | | | | | This adds implicit libraries and search directories for languages linked into a target other than the linker language to its link line. For example, when linking an executable containing both C++ and Fortran code the C++ linker is used but we need to add the Fortran libraries. The variables CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES contain the implicit libraries and directories for each language. Entries for the linker language are known to be implicit in the generated link line. Entries for other languages that do not appear in the known implicit set are listed explicitly at the end of the link line.
* 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.
* STYLE: Nightly Date StampKWSys Robot2009-07-271-1/+1
|
* ENH: try and see if using string.append instead of += will make valgrind not ↵Dave Partyka2009-07-261-4/+4
| | | | complaing that JoinPath is leaking.
* STYLE: Nightly Date StampKWSys Robot2009-07-261-1/+1
|
* 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.
* STYLE: Nightly Date StampKWSys Robot2009-07-251-1/+1
|
* 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.
* ENH: Allow empty endif() and such with CMake 2.4Brad King2009-07-241-0/+2
| | | | | This allows us to use empty endif() and similar block terminators when building with CMake 2.4. It is allowed by default with 2.6 already.
* 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: Keep variable_watch() commands in memoryBrad King2009-07-241-0/+4
| | | | | | | The "Keep only FinalPass commands in memory" commit caused instances of this command to be deleted after the InitialPass. Even though the variable_watch command does not have a final pass, it does need to stay alive because it owns the callback information.
* 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-244-6/+94
| | | | 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.
* ENH: Keep only FinalPass commands in memoryBrad King2009-07-248-1/+14
| | | | | | In cmMakefile we save all invoked commands so that FinalPass can be called on them later. Most commands have no final pass, so we should keep only the few that do.
* ENH: Install all Modules and TemplatesBrad King2009-07-244-23/+15
| | | | | | | This removes the file-wise installation rules for Modules and Templates and instead installs the whole directories. This approach is much less error-prone. The old approach was left from before CMake had the install(DIRECTORY) command.
* BUG: Install new fortran compiler id source.Brad King2009-07-241-1/+1
| | | | | The extension of the id source file was changed from .F90 to .F so this fixes the install rule.
* COMP: Fix compilation of VTK on debian/sparc (sparc is a CPU not an OS)Mathieu Malaterre2009-07-241-1/+1
|
* 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.
* STYLE: Nightly Date StampKWSys Robot2009-07-241-1/+1
|
* BUG: Skip implicit link information on XcodeBrad King2009-07-231-1/+2
| | | | | | | Xcode adds extra link directories that point at the build tree, so detection of implicit link directories is not reliable. Since Fortran is not supported in Xcode we will not need implicit link information yet anyway.
* 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-2322-1/+137
| | | | | | | | | | | | | 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: Load platform-independent per-compiler filesBrad King2009-07-233-0/+16
| | | | | | | This teaches the language configuration modules to load per-compiler information for each language using the compiler id but no system name. They look for modules named "Compiler/<id>-<lang>.cmake". Such modules may specify compiler flags that do not depend on the platform.
* BUG: Fix get_filename_component ABSOLUTE modeBrad King2009-07-231-13/+3
| | | | | | | This teaches the command to recognize full windows paths when built on UNIX. CollapseFullPath knows when the input path is relative better than FileIsFullPath because the latter is only meant for paths from the host platform.
* STYLE: Nightly Date StampKWSys Robot2009-07-231-1/+1
|
* ENH: Improve dynamic variable scope implementationBrad King2009-07-226-95/+301
| | | | | | | | | | | | Previously each new variable scope (subdirectory or function call) in the CMake language created a complete copy of the key->value definition map. This avoids the copy using transitive lookups up the scope stack. Results of queries answered by parents are stored locally to maintain locality of reference. The class cmDefinitions replaces cmMakefile::DefinitionsMap, and is aware of its enclosing scope. Each scope stores only the definitions set (or unset!) inside it relative to the enclosing scope.
* 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.