summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio7Generator.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Remove unused parameter "root" in some VS generator methods"Brad King2010-12-201-0/+1
| | | | This reverts commit 10f01ae962feb68177f7bd698b01bbc18668920c.
* Remove unused parameter "root" in some VS generator methodsBrad King2010-12-101-1/+0
| | | | | 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/+4
|\ | | | | | | | | e6ac0aa Add FOLDER target property, for IDEs (#3796)
| * Add FOLDER target property, for IDEs (#3796)David Cole2010-09-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Refactor VS <= 7.1 utility-depends workaroundBrad King2010-08-241-0/+1
|/ | | | | | | | | | | | | | | | | | 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.
* Do not link library dependencies in VS solutionsBrad King2009-10-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | In VS 8 and greater this commit implements add_dependencies(myexe mylib) # depend without linking by adding the LinkLibraryDependencies="false" option to project files. Previously the above code would cause myexe to link to mylib in VS 8 and greater. This option prevents dependencies specified only in the solution from being linked. We already specify the real link library dependencies in the project files, and any project depending on this to link would not have worked in Makefile generators. We were already avoiding this problem in VS 7.1 and below by inserting intermediate mylib_UTILITY targets. It was more important for those versions because if a static library depended on another library the librarian would copy the dependees into the depender! This is no longer the case with VS 8 and above so we do not need that workaround. See issue #9732.
* Avoid duplicate ZERO_CHECK in VS solutionsBrad King2009-10-191-1/+0
| | | | | | | | | | | | The commit "Avoid non-root copies of root-only targets" moved the check for root-only targets into cmGlobalGenerator::GetTargetSets to avoid adding multiple ALL_BUILD targets to the "original" target set. This approach did not work for ZERO_CHECK targets though because those are pulled in by dependency analysis. Instead we eliminate duplicate ZERO_CHECK targets altogether and refer to a single one from all solution files. This cleans up VS 10 project file references to ZERO_CHECK targets anyway.
* Avoid non-root copies of root-only targetsBrad King2009-10-061-0/+1
| | | | | | | | | | | | | | 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.
* Move OrderedTargetDependSet into VS superclassBrad King2009-09-301-11/+0
| | | | | | We move cmGlobalVisualStudio7Generator::OrderedTargetDependSet up to cmGlobalVisualStudioGenerator so it can be re-used for other VS versions. See 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.
* Create VS generator GetRegistryBase methodBrad King2009-09-161-0/+2
| | | | | | | | | This method returns the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version> A protected GetIDEVersion method retrieves the version-specific part of the key name.
* ENH: Separate VS flag table typeBrad King2009-07-291-2/+2
| | | | | Move the cmVS7FlagTable type out of the VS generators and rename it to cmIDEFlagTable. It will be useful for other generators.
* ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties ↵Bill Hoffman2009-07-141-1/+1
| | | | instead, fix VXExternalInclude test for VS10
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-101-6/+1
|
* BUG: Fix VS IDE solution files order againBrad King2009-01-211-1/+1
| | | | | | | The previous change to order projects in the VS IDE did not account for duplicate target names (such as ALL_BUILD and ZERO_CHECK) among the input set. While we suppress generation of the duplicate project entries, we need to use a multiset to store ordered duplicates.
* BUG: Fix VS IDE project orderBrad King2009-01-211-3/+14
| | | | | | | | | | 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: line lengthBill Hoffman2008-01-311-1/+2
|
* ENH: fix for bug 3218 dependant projects are written out automatically if ↵Bill Hoffman2008-01-301-3/+21
| | | | they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
* ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to doAlexander Neundorf2007-06-281-1/+1
| | | | | | | | | | | | | 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: Added cmGlobalVisualStudioGenerator as superclass to all VS global ↵Brad King2007-04-041-2/+2
| | | | generators.
* BUG: Split precompiled header flags into a separate per-global-generator ↵Brad King2007-03-121-0/+2
| | | | 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: commit fix for putting everything in the build on vsBill Hoffman2006-11-091-1/+3
|
* BUG: Fixed references to projects outside the build tree and in other ↵Brad King2006-10-101-0/+1
| | | | 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-2/+2
| | | | 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.
* 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-2/+4
|
* 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-3/+3
|
* STYLE: fix line lengthsBill Hoffman2006-03-101-4/+9
|
* BUG: Fixed installation of MacOSX Bundle executables and the corresponding ↵Brad King2006-03-031-1/+4
| | | | 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-0/+4
|
* BUG: Fixed cmTarget::GetFullPath to not append the configuration name when ↵Brad King2006-02-031-0/+3
| | | | 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-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Renamed ZeroTargetCheck target to ZERO_CHECK for consistency with other ↵Brad King2005-12-141-1/+1
| | | | CMake-generated targets (ALL_BUILD, RUN_TESTS, INSTALL).
* ENH: Added support for parallel builds in VS 8. There is now a special ↵Brad King2005-12-131-0/+2
| | | | target on which all other targets depend that re-runs CMake if any listfiles have been changed. This addresses bug#2512.
* ENH: Add a way for the generated command to include extra flags. This is ↵Andy Cedilnik2005-12-011-1/+1
| | | | useful for CTest (or try compile) to add -j2
* BUG: Tweak VS8 generator to keep VS8 happy. The .vcproj files need their ↵Brad King2005-11-221-2/+3
| | | | own GUIDs in a ProjectGUID attribute. The top level .sln file needs a special comment at the top to allow it to be opened with double-click in explorer.
* ENH: make LOCATION an computed property of the target and get rid of a bunch ↵Ken Martin2005-06-221-4/+2
| | | | of const junk
* ENH: Add option to ignore errors. Only works on makeAndy Cedilnik2005-04-291-1/+2
|
* COMP: Converting INSTALL->ALL_BUILD dependency implementation to use the ↵Brad King2005-04-291-1/+1
| | | | 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-5/+2
|
* ENH: Added dependency from INSTALL target to ALL_BUILD target so that ↵Brad King2005-04-281-1/+1
| | | | targets build before being installed.
* ENH: More ctest changes and move SetupTest to superclassAndy Cedilnik2005-04-011-1/+0
|
* ENH: cleanup by removing all the olf local generate junk that i not longer ↵Ken Martin2005-03-101-7/+0
| | | | needed
* ENH: ctest now uses CMake global generator to do the build part of ↵Ken Martin2005-02-221-3/+5
| | | | build-and-test
* ENH: move project map to global generator baseBill Hoffman2005-01-211-2/+0
|
* ENH: try to initialize all languages at the same timeBill Hoffman2004-08-271-1/+1
|
* BUG: CMAKE_TRY_COMPILE_CONFIGURATION should be obtained from the cmMakefile ↵Brad King2004-08-041-1/+1
| | | | instance for the listfile containing the TRY_COMPILE call, not the top level listfile.
* BUG: make sure global generate is done when cmakelist file chagnes, also ↵Bill Hoffman2004-05-201-2/+7
| | | | make sure guids are stored in the cache so the .sln file does not change every time
* ENH: add new subdirectory exclude from top optionBill Hoffman2004-03-091-2/+4
|