summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio71Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Fix line-too-long style errorsBrad King2012-04-191-1/+2
| | | | | Commit 59139031 (include_external_msproject: Add TYPE, GUID, PLATFORM options, 2012-04-16) introduced some long lines. Wrap them.
* include_external_msproject: Add TYPE, GUID, PLATFORM options (#13120)Leonid Yurchenko2012-04-161-4/+9
| | | | These allow one to reference more external VS project file variations.
* Order VS local generator Version ivar values consistentlyBrad King2011-11-141-2/+2
| | | | | | | | | | | Move the Version member to the top cmLocalVisualStudioGenerator class and set it consistently for instances created by all the global generator versions. Use an enumeration type with values scaled by a factor of 10 so we can handle VS 7.1 without out-of-order numbers. VS 7.1 support for SuppressStartupBanner was broken by commit 25116a3c (Fix CMAKE_VERBOSE_MAKEFILE for VS10 vcxproj files, 2011-10-11) because it assumed comparison of VS version numbers works. Now it does.
* Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)Brad King2010-12-201-4/+4
| | | | | | | | | | | | | If a .sln file refers to a project file with a leading ".\", as in ".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then msbuild behaves strangely. Whenever target foo is built as a dependency of another target, msbuild brings multiple configurations up to date instead of just the requested configuration! Avoid a leading ".\" in project file references to avoid this behavior. This alternative fix to that attempted by commit 57e71533 (Avoid msbuild idiosyncrasy that builds multiple configs, 2010-12-10) avoids use of full path project file references which vcbuild does not support.
* Revert "Remove unused parameter "root" in some VS generator methods"Brad King2010-12-201-1/+1
| | | | This reverts commit 10f01ae962feb68177f7bd698b01bbc18668920c.
* Remove unused parameter "root" in some VS generator methodsBrad King2010-12-101-1/+1
| | | | | The previous commit removed the last use of this parameter from the implementation of WriteTargetsToSolution. Remove the parameter.
* Merge topic 'vs-project-groups'Brad King2010-09-081-0/+16
|\ | | | | | | | | e6ac0aa Add FOLDER target property, for IDEs (#3796)
| * Add FOLDER target property, for IDEs (#3796)David Cole2010-09-031-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This work was started from a patch by Thomas Schiffer. Thanks, Thomas! See the newly added documentation of the FOLDER target property for details. Also added global properties, USE_FOLDERS and PREDEFINED_TARGETS_FOLDER. See new docs here, too. By default, the FOLDER target property is used to organize targets into folders in IDEs that have support for such organization. This commit adds "solution folder" support to the Visual Studio generators. Currently works with versions 7 through 10. Also, use the new FOLDER property in the ExternalProject test and in the CMake project itself.
* | Fix unused parameter warning in VS 7.1 generatorBrad King2010-08-271-1/+1
| | | | | | | | | | | | | | The cmGlobalVisualStudio71Generator::WriteProjectDepends method no longer uses its 'dspname' parameter. Leave off the name to avoid the unused parameter warning. Later we should refactor the method to avoid passing the argument altogether.
* | Refactor VS <= 7.1 utility-depends workaroundBrad King2010-08-241-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-50/+12
|/ | | | | | 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.
* Fix Windows-cl.cmake so that at most one MSVC** variable is defined.David Cole2010-05-051-0/+1
| | | | | | | | | | | | | The expectation of users of the MSVC60, MSVC70, MSVC71, MSVC80, MSVC90 and the new MSVC10 variables is that at most one of them will be set for any given build tree. This change enforces that expectation for build trees using Makefile generators. It also fixes the one mismatch in that expectation to be found in the Visual Studio generator world: previously, the VS 7.1 generator would set *both* MSVC70 and MSVC71; now, it only sets MSVC71. With these changes, user expectations are now met, and the recently introduced CheckCompilerRelatedVariables test should pass everywhere.
* Teach VS generators to set the MACHINE type correctly.Bill Hoffman2009-11-201-0/+1
|
* Cleanup cmGlobalGenerator::GetTargetSets methodBrad King2009-10-011-10/+7
| | | | | | 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.
* 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-2/+2
| | | | instead, fix VXExternalInclude test for VS10
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-101-3/+1
|
* ENH: first pass at VS 10, can bootstrap CMake, but many tests still failBill Hoffman2009-06-251-1/+6
|
* BUG: Fix VS IDE project orderBrad King2009-01-211-2/+4
| | | | | | | | | | Our implementation of the feature to pull in dependent targets in VS solution files for subprojects caused the order of project files in the solution to be arbitrary (based on pointer value in the representation). Target ordering in solution files is important to prevent unnecessary changing of the files and because the VS IDE selects the first project listed as the default active target. This change restores lexicographic order by target name.
* STYLE: fix line length stuff for KWStyleBill Hoffman2008-10-011-1/+2
|
* ENH: add support for Intel Fortran Visual studio IDEBill Hoffman2008-04-301-2/+11
|
* ENH: Add code to support calling the VS reload macro from Visual Studio 7.1 ↵David Cole2008-02-151-12/+63
| | | | and 9.0 in addition to 8.0 sp1... Make new macros file with VS 7.1 so that it can be read by 7.1 and later. VS 7.1 does not appear to run the macros while a build is in progress, but does not return any errors either, so for now, the reload macro is not called when using 7.1. If I can figure out how to get 7.1 to execute the macro, I will uncomment the code in cmGlobalVisualStudio71Generator::GetUserMacrosDirectory() to activate executing the macros in VS 7.1, too.
* ENH: fix for bug 3218 dependant projects are written out automatically if ↵Bill Hoffman2008-01-301-211/+20
| | | | they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-2/+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
* BUG: Disable static lib deps until a global cycle removal can be done.Brad King2007-12-231-1/+5
|
* ENH: Make static library targets depend on targets to which they "link" for ↵Brad King2007-12-211-2/+8
| | | | the purpose of build ordering. This makes the build order consistent for static and shared library builds. It is also useful when custom command inputs of one library are generated as custom commands outputs of another. It may be useful in the future for Fortran module dependencies. Implemented for Makefiles, Xcode, and VS 8 and above. Added sample code to do it for VS 7.1 and below, but left it disabled with comments explaining why. Likely it will never be needed on VS 7.1 or below anyway.
* ENH: change to make the documentation class more generic, about halfway ↵Ken Martin2007-10-221-3/+3
| | | | there, also provides secitons for Variables now
* ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create ↵Brad King2007-05-231-6/+1
| | | | 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-2/+1
| | | | Alex
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-1/+3
| | | | | | | | | | "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: added internal target property for the name of the project fileKen Martin2007-04-101-14/+15
|
* BUG: Fix utility dependencies for static libraries in VS generators. This ↵Brad King2007-04-041-11/+1
| | | | addresses bug#4789.
* BUG: Split precompiled header flags into a separate per-global-generator ↵Brad King2007-03-121-0/+1
| | | | flag map. This is needed because the flag mappings differ across VS IDE versions. This fixes bug#3512 for VS8 where as the previous fix only worked for VS7.
* ENH: some code cleanupKen Martin2007-03-121-1/+1
|
* ENH: commit fix for putting everything in the build on vsBill Hoffman2006-11-091-5/+8
|
* BUG: Fixed references to projects outside the build tree and in other ↵Brad King2006-10-101-4/+3
| | | | locations with spaces in the path. This is needed for out-of-source/out-of-binary subdirectories in the build.
* BUG: Fix/cleanup custom commands and custom targets. Make empty comment ↵Brad King2006-09-281-10/+9
| | | | strings work. Fix ZERO_CHECK target always out of date for debugging. Fix Makefile driving of custom commands in a custom target. Fix dependencies on custom targets not in ALL in VS generators.
* STYLE: fix line lengthKen Martin2006-05-111-31/+37
|
* BUG: MSVC* variables should be set in IDE generators instead of just NMake.Brad King2006-05-061-1/+4
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-9/+9
|
* COMP: Even more global target fixesAndy Cedilnik2006-02-241-1/+1
|
* BUG: More fixing of support for global target son visual studioAndy Cedilnik2006-02-241-1/+2
|
* COMP: Handle preinstall properly on IDEsAndy Cedilnik2006-02-241-12/+0
|
* COMP: Fix for preinstallAndy Cedilnik2006-02-241-0/+12
|
* COMP: Even more Visual Studio fixes. Why is this code duplicated?Andy Cedilnik2006-02-231-0/+36
|
* BUG: Fixed generation of VS8 solution file to not be re-written when loaded ↵Brad King2006-02-141-10/+30
| | | | by VS and to work with msbuild.
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: make LOCATION an computed property of the target and get rid of a bunch ↵Ken Martin2005-06-221-6/+4
| | | | of const junk
* COMP: Converting INSTALL->ALL_BUILD dependency implementation to use the ↵Brad King2005-04-291-24/+4
| | | | AddUtility method on a target. This significantly simplifies the implementation and removes warnings about hiding virtual functions.
* ENH: Added dependency from INSTALL target to ALL_BUILD target so that ↵Brad King2005-04-281-11/+33
| | | | targets build before being installed.