summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio8Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Teach VS generators to set the MACHINE type correctly.Bill Hoffman2009-11-201-0/+2
|
* Do not link library dependencies in VS solutionsBrad King2009-10-201-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | 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-114/+105
| | | | | | | | | | | | 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.
* 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.
* Simplify VS generator ZERO_CHECK dependencyBrad King2009-09-041-35/+8
| | | | | | | | | | The VS generators use a ZERO_CHECK target on which all other targets depend to check whether CMake needs to re-run. This commit simplifies the addition of a dependency on the target to all other targets. We also move addition of dependencies to the beginning of the Generate step. This allows the dependency on ZERO_CHECK to be included in the global inter-target dependency analysis.
* ENH: Separate VS flag table typeBrad King2009-07-291-1/+1
| | | | | Move the cmVS7FlagTable type out of the VS generators and rename it to cmIDEFlagTable. It will be useful for other generators.
* BUG: fix location of tmp file to use the full path, caused error on vista ↵Bill Hoffman2008-04-011-1/+1
| | | | not running as admin
* BUG: Fixes to VS8/VS9 project regeneration rulesBrad King2008-03-111-60/+90
| | | | | | | - ZERO_CHECK should check all stamps in case of parallel build (fixes complex test failure) - ZERO_CHECK should not appear when CMAKE_SUPPRESS_REGENERATION is on (fixes bug 6490)
* ENH: Add code to support calling the VS reload macro from Visual Studio 7.1 ↵David Cole2008-02-151-11/+9
| | | | 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: 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
* STYLE: Fixed line-too-long.Brad King2008-01-021-2/+4
|
* BUG: Do not use VSMacros stuff for VS8sp0 because macros do not work in that ↵Brad King2008-01-021-0/+13
| | | | version.
* STYLE: fix line lenBill Hoffman2007-12-181-1/+2
|
* BUG: fix for bug 5931 add some more flags for the guiBill Hoffman2007-12-171-1/+8
|
* STYLE: Fixed line-too-long. COMP: Fixed warnings about lossy conversions.Brad King2007-11-201-1/+2
|
* ENH: Renamed cmGlobalVisualStudioGenerator::CallVisualStudioReloadMacro ↵Brad King2007-11-191-0/+2
| | | | method to CallVisualStudioMacro and added arguments to select which macro to call and optionally pass the solution file name. Added option to call to new StopBuild macro. Updated logic for replacing the macro file in user directories when the distributed version is newer.
* BUG: Fix exception handling flag translation to be specific to each VS ↵Brad King2007-11-161-0/+6
| | | | version. This allows /EHa to be handled correctly for VS 2003.
* ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual ↵David Cole2007-11-161-0/+28
| | | | Studio macro to reload a solution file automatically if CMake makes changes to .sln files or .vcproj files. Add code to call the macro automatically for any running Visual Studio instances with the .sln file open at the end of the Visual Studio Generate call. Only call the macro if some .sln or .vcproj file changed during Generate. Also, add handling for REG_EXPAND_SZ type to SystemTools::ReadRegistryValue - returned string has environment variable references expanded.
* BUG: Converted per-vcproj timestamp to a single directory-level ↵Brad King2007-11-121-3/+3
| | | | CMakeFiles/generate.stamp file shared by all targets in each directory. This avoids having all targets overwrite each others timestamp check rules and instead has one single rule.
* ENH: Allow VS 7 project Rebuild and Solution Rebuild to work without ↵Brad King2007-11-101-2/+4
| | | | re-running CMake for every project during the rebuild.
* ENH: Converted vcproj file generation to use cmGeneratedFileStream for ↵Brad King2007-11-091-6/+7
| | | | atomic replacement. Replaced the vcproj.cmake copy of the file with a simple vcproj.stamp timestamp file to preserve previous rerun-without-reload behavior.
* 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 build for windows-only generators after change to GetSourceFiles ↵Brad King2007-05-281-1/+1
| | | | signature.
* 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: added internal target property for the name of the project fileKen Martin2007-04-101-3/+0
|
* ENH: some more cleanupKen Martin2007-03-131-1/+1
|
* BUG: Split precompiled header flags into a separate per-global-generator ↵Brad King2007-03-121-0/+19
| | | | 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-2/+2
|
* BUG: Fix/cleanup custom commands and custom targets. Make empty comment ↵Brad King2006-09-281-7/+7
| | | | 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.
* ENH: Cleaned up signature of cmMakefile::AddUtilityCommand. It is not valid ↵Brad King2006-09-281-4/+3
| | | | 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: Centralized generation of command line arguments in escaped form. This ↵Brad King2006-09-211-2/+2
| | | | addresses bug#3786 for several platforms.
* STYLE: fix line lengthKen Martin2006-05-111-9/+17
|
* BUG: MSVC* variables should be set in IDE generators instead of just NMake.Brad King2006-05-061-0/+6
|
* ENH: Added support for multiple outputs generated by a single custom ↵Brad King2006-04-111-2/+2
| | | | command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds.
* ENH: add support for win64 for visual studio 2005 ide and nmake, also fix ↵Bill Hoffman2006-03-301-3/+7
| | | | warnings produced by building for win64
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-7/+7
|
* BUG: Avoid adding unused rules to special targets like ALL_BUILD. Make sure ↵Brad King2006-02-141-0/+14
| | | | project regeneration rules go only in desired targets.
* BUG: Fixed generation of VS8 solution file to not be re-written when loaded ↵Brad King2006-02-141-1/+34
| | | | by VS and to work with msbuild.
* ENH: add working directory supportBill Hoffman2006-02-081-1/+4
|
* COMP: Fixed unused variable warning.Brad King2005-12-131-1/+1
|
* ENH: Added support for parallel builds in VS 8. There is now a special ↵Brad King2005-12-131-0/+125
| | | | target on which all other targets depend that re-runs CMake if any listfiles have been changed. This addresses bug#2512.
* BUG: Tweak VS8 generator to keep VS8 happy. The .vcproj files need their ↵Brad King2005-11-221-0/+1
| | | | 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: add support for VCExpress 2005Bill Hoffman2004-07-051-0/+54