summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio6Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Refactor VS <= 7.1 utility-depends workaroundBrad King2010-08-241-0/+61
| | | | | | | | | | | | | | | | | | Commit 438a7e2f (Fix utility dependencies for static libraries in VS generators, 2007-04-04) implemented utility-only dependencies between linkable targets by introducing an intermediate non-linkable target. We convert a dependency of the form foo -> bar to the form foo -> bar_UTILITY -> bar to prevent foo from including bar on its link line. Previously we added the extra "_UTILITY" targets explicitly among the project targets before dependency analysis was performed. Now we generate them separately at the last moment so that cmGlobalGenerator need not be aware of them.
* Factor out duplicate VS target dependency codeBrad King2010-08-241-35/+7
| | | | | | Compute VS target dependencies in cmGlobalVisualStudioGenerator when the main global dependency analysis is done. Use these results in each of the VS generators instead of duplicating the analysis.
* Teach VS generators to set the MACHINE type correctly.Bill Hoffman2009-11-201-0/+2
|
* Avoid non-root copies of root-only targetsBrad King2009-10-061-21/+4
| | | | | | | | | | | | | | In cmGlobalGenerator::GetTargetSets we collect targets from all local generators in a tree or subtree corresponding to a project() command. Some targets, such as ALL_BUILD, are duplicated in each subdirectory with a project() command. For such targets we should keep only the copy for the top-most (root) local generator. Previously this filtering was done in each VS IDE generator, but it is easier to do it in one place when the targets are first encountered. This also fixes bad ALL_BUILD dependencies generated for VS 7.0 because the cmGlobalVisualStudio7Generator::WriteTargetDepends method was not filtering out duplicates. Now we avoid duplicates from the start.
* Cleanup cmGlobalGenerator::GetTargetSets methodBrad King2009-10-011-5/+3
| | | | | | This commit cleans up the declaration, definition, and invocations of the GetTargetSets method and related code. There is no change in function except to make the method virtual.
* Use target dependency closure for VS 6 solutionsBrad King2009-09-301-164/+56
| | | | | | This teaches the VS 6 IDE generator to use the transitive closure of target dependencies. This re-uses much of the implementation already done for the other VS>6 generators. See issue #8223 and issue #9568.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties ↵Bill Hoffman2009-07-141-8/+8
| | | | instead, fix VXExternalInclude test for VS10
* STYLE: Fix line length style violations.David Cole2008-12-101-1/+2
|
* COMP: Fix the ExternalProject test for Visual Studio 6. Visual Studio 6 ↵David Cole2008-12-091-3/+20
| | | | *.dsp files cannot have hyphens in them. Add utility function GetVS6TargetName to replace hyphens with underscores when generating *.dsp file names. Use the function everywhere necessary in the VS6 generators. And, a workaround: VS6 uses ".\Debug" (for example) as an "$(IntDir)" value - strip any leading ".\" when processing a --config argument in the cmake --build handling code.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-1/+1
| | | | | | | | | | | | | | | | | | configurations. - Created cmExportFileGenerator hierarchy to implement export file generation - Installed exports use per-config import files loaded by a central one. - Include soname of shared libraries in import information - Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands - Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators - Import files compute the installation prefix relative to their location when loaded - Add mapping of importer configurations to importee configurations - Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries - Scope IMPORTED targets within directories to isolate them - Place all properties created by import files in the IMPORTED namespace - Document INSTALL(EXPORT) and EXPORT() commands. - Document IMPORTED signature of add_executable and add_library - Enable finding of imported targets in cmComputeLinkDepends
* ENH: change to make the documentation class more generic, about halfway ↵Ken Martin2007-10-221-3/+3
| | | | there, also provides secitons for Variables now
* COMP: fix typoAlexander Neundorf2007-06-281-1/+1
| | | | Alex
* ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to doAlexander Neundorf2007-06-281-2/+4
| | | | | | | | | | | | | something like this: ENABLE_LANGUAGE(ASM-ATT) IF(CMAKE_ASM-ATT_COMPILER_WORKS) ... do assembler stufff ELSE(CMAKE_ASM-ATT_COMPILER_WORKS) ... fallback to generic C/C++ ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS) Alex
* ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create ↵Brad King2007-05-231-4/+0
| | | | targets. No targets of type cmTarget::INSTALL_FILES or cmTarget::INSTALL_PROGRAMS are created, so we do not need to check for them everywhere anymore.
* COMP: compile fix and remove warningAlexander Neundorf2007-05-221-1/+1
| | | | Alex
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-1/+1
| | | | | | | | | | "imported" executable target. This can then be used e.g. with ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for "imported" targets, and FindTarget() now takes an additional argument bool useImportedTargets to specify whether you also want to search in the imported targets or only in the "normal" targets. Alex
* ENH: now target names can be used in add_custom_command() andAlexander Neundorf2007-05-091-3/+2
| | | | | | | | | | add_custom_target() as COMMAND, and cmake will recognize them and replace them with the actual output path of these executables. Also the dependency will be added automatically. Test included. ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(), so it is done now in one central place Alex
* BUG: The ALL_BUILD target should not have any command lines so that it is ↵Brad King2007-04-101-23/+2
| | | | not always considered out of date. Moved the 'Build all projects' message into the description field instead of an echo in the command field. Moved common implementation of Generate for VS6 and VS7 into the superclass to avoid duplicate code for the ALL_BUILD target. This addresses bug#4556.
* BUG: Fix utility dependencies for static libraries in VS generators. This ↵Brad King2007-04-041-7/+5
| | | | addresses bug#4789.
* ENH: some more cleanupKen Martin2007-03-131-1/+1
|
* ENH: some code cleanupKen Martin2007-03-121-1/+1
|
* BUG: Removed legacy SetupTests method that was causing RUN_TESTS to test twice.Brad King2007-03-051-3/+0
|
* ENH: Cleaned up signature of cmMakefile::AddUtilityCommand. It is not valid ↵Brad King2006-09-281-2/+1
| | | | to have an output from a utility rule and no calls to the method asked for an output anyway. The argument has been removed.
* BUG: cmGlobalGenerator::Build should not always use the /fast target name ↵Brad King2006-06-011-1/+2
| | | | because dependency checking is often required. It now takes an argument specifying whether to use the /fast target name, and the argument is currently only true for try-compiles.
* STYLE: fix line lengthKen Martin2006-05-111-16/+25
|
* BUG: MSVC* variables should be set in IDE generators instead of just NMake.Brad King2006-05-061-0/+1
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-4/+4
|
* BUG: Fixed installation of MacOSX Bundle executables and the corresponding ↵Brad King2006-03-031-2/+6
| | | | install_name remapping support. Extended the BundleTest test to check that this all works. Part of these fixes required changing the signature of AppendDirectoryForConfig in all generators. It now accepts prefix and suffix strings to deal with whether leading or trailing slashes should be included with the configuration subdirectory.
* COMP: Even more global target fixesAndy Cedilnik2006-02-241-2/+2
|
* BUG: More fixing of support for global target son visual studioAndy Cedilnik2006-02-241-17/+36
|
* ENH: Switched order of slash and configuration name in ↵Brad King2006-02-201-1/+1
| | | | cmGlobalGenerator::AppendDirectoryForConfig method to increase flexibility.
* ENH: add working directory supportBill Hoffman2006-02-081-2/+3
|
* BUG: Fixed cmTarget::GetFullPath to not append the configuration name when ↵Brad King2006-02-031-0/+12
| | | | only one configuration is built. It now asks the generator what subdirectory if any to use for a given configuration name.
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | fix many bugs related to target names being computed inconsistently. - Centralized computation of a target's file name to a method in cmTarget. Now that global knowledge is always available the *_CMAKE_PATH cache variables are no longer needed. - Centralized computation of link library command lines and link directory search order. - Moved computation of link directories needed to link CMake targets to be after evaluation of linking dependencies. This also removed alot of duplicate code in which each version had its own bugs. This commit is surrounded by the tags CMake-TargetNameCentralization1-pre and CMake-TargetNameCentralization1-post so make the large set of changes easy to identify.
* ENH: Add a way for the generated command to include extra flags. This is ↵Andy Cedilnik2005-12-011-1/+7
| | | | useful for CTest (or try compile) to add -j2
* ENH: make LOCATION an computed property of the target and get rid of a bunch ↵Ken Martin2005-06-221-4/+3
| | | | of const junk
* ENH: Add option to ignore errors. Only works on makeAndy Cedilnik2005-04-291-2/+5
|
* COMP: Converting INSTALL->ALL_BUILD dependency implementation to use the ↵Brad King2005-04-291-23/+13
| | | | AddUtility method on a target. This significantly simplifies the implementation and removes warnings about hiding virtual functions.
* ENH: Start working on a method that abstracts generating of build commandAndy Cedilnik2005-04-281-36/+13
|
* ENH: Added dependency from INSTALL target to ALL_BUILD target so that ↵Brad King2005-04-281-2/+23
| | | | targets build before being installed.
* ENH: More ctest changes and move SetupTest to superclassAndy Cedilnik2005-04-011-69/+0
|
* ENH: add support for out of source sourceKen Martin2005-03-141-2/+2
|
* BUG: fix for empty target or config strings in the Build methodKen Martin2005-02-231-2/+2
|
* ENH: Updated implementation of custom commands. Multiple command lines are ↵Brad King2005-02-221-9/+15
| | | | now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues.
* ENH: ctest now uses CMake global generator to do the build part of ↵Ken Martin2005-02-221-12/+21
| | | | build-and-test
* ENH: move project map to global generator baseBill Hoffman2005-01-211-24/+3
|
* BUG: fix VSExternal for visual studio 6Ken Martin2004-09-161-3/+9
|
* ENH: clean up of INCLUDE_EXTERNAL_MSPROJECT contributed by Clinton StimpsonBill Hoffman2004-09-151-7/+3
|
* BUG: make sure env CC and CXX are not set for VS IDE buildsBill Hoffman2004-09-151-0/+3
|