summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Introduce "generator expressions" to add_test()Brad King2009-08-116-2/+284
| | | | | | | | This introduces a new syntax called "generator expressions" to the test COMMAND option of the add_test(NAME) command mode. These expressions have a syntax like $<TARGET_FILE:mytarget> and are evaluated during build system generation. This syntax allows per-configuration target output files to be referenced in test commands and arguments.
* Create cmTarget DLL query methodsBrad King2009-08-112-3/+15
| | | | | | | We creates methods IsDLLPlatform() and HasImportLibrary(). The former returns true on Windows. The latter returns whether the target has a DLL import library. It is true on Windows for shared libraries and executables with exports.
* Record backtrace for every add_test commandBrad King2009-08-113-17/+21
| | | | | | We teach cmTest to hold a backtrace for the add_test command that created it. This will be used later to report context for errors at generate time.
* KWSys Nightly Date StampKWSys Robot2009-08-111-1/+1
|
* ENH: Patch from Alexander Neundorf to remove "KDevelop3" from list of ↵Clinton Stimpson2009-08-101-0/+9
| | | | generators. "KDevelop3 - Unix Makefiles" should be used instead.
* ENH: Allow edit on single click. Fixes #9393. Also fix row heights to be ↵Clinton Stimpson2009-08-102-4/+18
| | | | consistent.
* Cleanup test property script code generationBrad King2009-08-101-30/+4
| | | | | | | We teach cmTestGenerator::GenerateScriptConfigs to use the general cmLocalGenerator::EscapeForCMake method to write escaped test property values into test scripts. This eliminates the previous hand-coded escaping implementation.
* KWSys Nightly Date StampKWSys Robot2009-08-101-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-08-091-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-08-081-1/+1
|
* Teach compiler id about VisualAge -> XL rebrandingBrad King2009-08-0713-11/+34
| | | | | | | IBM rebranded its VisualAge compiler to XL starting at version 8.0. We use the compiler id "XL" for newer versions and "VisualAge" for older versions. We now also recognize the "z/OS" compiler, which is distinct from XL.
* Move flag to Compiler/VisualAge-Fortran moduleBrad King2009-08-074-3/+1
| | | | | | The CMAKE_Fortran_DEFINE_FLAG value applies to the IBM Fortran compilers on all platforms. This moves the setting to the platform-independent compiler information file.
* Use NetBSD to initialize OpenBSD configurationBrad King2009-08-071-2/+1
| | | | | We teach Modules/Platform/OpenBSD.cmake to load NetBSD first since the platforms are so similar. This enables RPATH support on OpenBSD.
* KWSys Nightly Date StampKWSys Robot2009-08-071-1/+1
|
* COMP: attempt to fix more 'hidden by' warnings.Dave Partyka2009-08-061-1/+1
|
* Teach FortranCInterface about g77 manglingBrad King2009-08-061-0/+1
| | | | | The old GNU g77 Fortran compiler uses the suffix '__' for symbols containing an underscore in their name.
* Sort FortranCInterface global mangling symbolsBrad King2009-08-061-2/+2
| | | | | This just cleans up the list ordering so more entries can be added while keeping everything organized.
* KWSys Nightly Date StampKWSys Robot2009-08-061-1/+1
|
* Cleanup FortranCInterface for PGI and GCC 4.2Brad King2009-08-053-8/+10
| | | | | This documents the purpose of the extra my_module_.c and mymodule.c source files, and sorts the symbols.
* Teach FortranC interface for Intel, PGI, and gcc 4.2Bill Hoffman2009-08-053-2/+8
|
* Remove AddExternalProject.cmake. ExternalProject.cmake supercedes/replaces it.David Cole2009-08-051-669/+0
|
* Overhaul GetPrerequisites and BundleUtilities: make fixup_bundle do ↵David Cole2009-08-052-132/+264
| | | | | | something useful on Windows and Linux. Formerly, fixup_bundle was useful only on the Mac for making standalone bundle applications that could be drag-n-drop moved to anyplace in the file system. fixup_bundle is not just for the Mac any more. It will now analyze executable files on Windows and Linux, too, and copy necessary non-system dlls to the same folder that the executable is in. This should work with dlls that you build as part of your build and also with 3rd-party dlls as long as you give fixup_bundle the right list of directories to search for those dlls. Many thanks to Clinton Stimpson for his help in ironing out the details involved in making this work.
* Rewrite FortranCInterface moduleBrad King2009-08-0516-259/+509
| | | | | | | | | | | | | | | | | | | | 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.
* Allow for static libraries to depend on other targets so that the MSBuild ↵Bill Hoffman2009-08-051-5/+0
| | | | runs build things in the correct order
* Remove WXDialog source codeBrad King2009-08-0539-10464/+0
| | | | | The QtDialog is our supported cross-platform GUI, so the WXDialog source is no longer needed.
* Remove FLTKDialog source codeBrad King2009-08-0511-2029/+0
| | | | | The QtDialog is our supported cross-platform GUI, so the FLTKDialog source is no longer needed.
* Fix find_package for cmake-gui registry entryBrad King2009-08-051-1/+1
| | | | | | | | | | | | The find_package commands looks at the "WhereBuild" registry entries created by CMakeSetup and cmake-gui hoping that the project was recently built. CMakeSetup created WhereBuild1..WhereBuild10 but cmake-gui creates WhereBuild0-WhereBuild9. This fixes find_package to look at WhereBuild0 so that the most recently configured project can be found. It is important in the case that the package to be found was the last one configured in cmake-gui but the current project that is finding it is configured from the command line.
* KWSys Nightly Date StampKWSys Robot2009-08-051-1/+1
|
* ENH: minor cleanup of testKen Martin2009-08-041-6/+4
|
* No /fast targets in try_compile project modeBrad King2009-08-049-6/+16
| | | | | | | | 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.
* ENH: change to CDASHKen Martin2009-08-041-3/+3
|
* KWSys Nightly Date StampKWSys Robot2009-08-041-1/+1
|
* Fix recursive try_compile callsBrad King2009-08-033-4/+25
| | | | | | | | 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.
* KWSys Nightly Date StampKWSys Robot2009-08-031-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-08-021-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-08-011-2/+2
|
* DOCS: fix typo (#9231)Alexander Neundorf2009-07-311-1/+1
| | | | Alex
* Set current directory variables in CTest scriptsBrad King2009-07-311-0/+6
| | | | | | | | | | | | | | The commit "Fix get_filename_component ABSOLUTE mode" broke the code get_filename_component(cwd . ABSOLUTE) because CTest scripts did not make cmMakefile::GetCurrentDirectory() available. This commit fixes the problem by setting the proper information on CTest script instances of cmMakefile. This also makes CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR available to CTest scripts. They are set to the working directory at script startup.
* Fix installation when built by CMake 2.4Brad King2009-07-312-5/+6
| | | | | | | | | CMake 2.4 generates old-style cmake_install.cmake code including calls to the file(INSTALL) command with the COMPONENTS argument. We need to set CMAKE_INSTALL_SELF_2_4 for the whole install tree to prevent the command from complaining in this special case. Previously this was needed only in the QtDialog directory, but now it is needed in the entire tree.
* DOCS: fix typo (see #9308)Alexander Neundorf2009-07-312-2/+2
| | | | Alex
* KWSys Nightly Date StampKWSys Robot2009-07-311-1/+1
|
* Pass Fortran90 test result to try-compileBrad King2009-07-302-28/+30
| | | | | | | This stores CMAKE_Fortran_COMPILER_SUPPORTS_F90 in the Fortran compiler information file CMakeFiles/CMakeFortranCompiler.cmake instead of in CMakeCache.txt. This file makes the result available to try-compile projects.
* Do not always propagate linker language preferenceBrad King2009-07-303-15/+40
| | | | | | | | | | | | The commit "Consider link dependencies for link language" taught CMake to propagate linker language preference from languages compiled into libraries linked by a target. It turns out this should only be done for some languages, such as C++, because normally the language of the program entry point (main) should be used. We introduce variable CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES to tell CMake whether a language should propagate its linker preference across targets. Currently it is true only for C++.
* Refactor target linker language selectionBrad King2009-07-301-29/+56
| | | | | | This factors the decision logic out of cmTarget::ComputeLinkClosure into dedicated class cmTargetSelectLinker. We replace several local variables with a single object instance, and organize code into methods.
* STYLE: Nightly Date StampKWSys Robot2009-07-301-1/+1
|
* Separate Xcode flag escaping code from definesBrad King2009-07-292-28/+73
| | | | | Generalize the core Xcode generator preprocessor flag escaping code to be useful for escaping all flags.
* Re-order cmGlobalXCodeGenerator implementationBrad King2009-07-291-51/+51
| | | | | This defines class cmGlobalXCodeGenerator::BuildObjectListOrString early in the source file so it can be used in more places.
* Check PGI linker lines in ImplicitLinkInfo testBrad King2009-07-291-0/+18
| | | | This adds sample linker invocation lines for the PGI compiler on Linux.