summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio8Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* VS: Added "Deploy" at project configuration for WindowsCE targetsPatrick Gansterer2012-11-271-1/+10
|
* VS: Make DetermineCompilerId working with WinCE tooPatrick Gansterer2012-11-271-0/+6
| | | | | | Add a dummy mainCRTStartup() function, since the linker searches for it instead of main() and set the CMAKE_SYSTEM_* variables depending on the MSVC_C_ARCHITECTURE_ID and CMAKE_VS_WINCE_VERSION variables.
* VS: Allow setting the name of the target platformPatrick Gansterer2012-11-271-0/+5
| | | | | Since the name for a target platform is independent of its cpu architecture an additional option is required to set it correctly.
* VS: Add parser for WCE.VCPlatform.config to read WinCE platformsPatrick Gansterer2012-11-271-10/+45
| | | | | | Parse the WCE.VCPlatform.config file, which contains the installed WindowsCE SDKs in XML format, and add possibility to generate Visual Studio generators for them.
* VS: Change variable type of ArchitectureId from const char* to stringPatrick Gansterer2012-11-261-2/+2
|
* VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefilePatrick Gansterer2012-11-261-0/+7
| | | | | | When adding more platforms to the Visual Studio generators a simple regular expressing can not handle all cases anymore. This new define holds the name of the Visual Studio target platform.
* Merge topic 'generator-factory'Brad King2012-11-201-3/+66
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 75ebebc VS: Remove platform specific generator files 8b62080 VS: Remove EnableLanguage from platform-specific generators 5bdf011 VS: Remove GetPlatformName from platform-specific generators 8d42ab4 VS: Fix ArchitectureId of Visual Studio 10 IA64 generator 6f439b3 VS: Remove AddPlatformDefinitions from platform-specific generators 5170a88 Make cmGlobalGenerator::GetDocumentation() a static function 04ff866 Allow a GeneratorFactory handling of more than one generator 984ebc3 Search generator in cmake::ExtraGenerators before in cmake::Generators 30a6950 Add cmGlobalGeneratorFactory::GetGenerators() e8f8414 Introduce the abstract class cmGlobalGeneratorFactory
| * VS: Remove platform specific generator filesPatrick Gansterer2012-11-191-1/+54
| | | | | | | | Move the whole logic into the base class and the factory.
| * VS: Remove GetPlatformName from platform-specific generatorsPatrick Gansterer2012-11-191-0/+10
| | | | | | | | | | Use the existing ArchitectureId to generate the PlatformName to reduce duplicated information in the classes.
| * Make cmGlobalGenerator::GetDocumentation() a static functionPatrick Gansterer2012-11-191-2/+2
| | | | | | | | | | Making the function static allows us to call it directly, without creating and removing an instance of the generator.
* | Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD'Brad King2012-11-201-4/+7
|\ \ | |/ |/| | | | | | | | | | | 739f166 Serialize tests for EXCLUDE_FROM_DEFAULT_BUILD e31d83b Define property EXCLUDE_FROM_DEFAULT_BUILD d1f8828 Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG> b777272 Add tests for EXCLUDE_FROM_DEFAULT_BUILD
| * Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>Petr Kmoch2012-11-131-4/+7
| | | | | | | | Allow EXCLUDE_FROM_DEFAULT_BUILD to be specified per configuration.
* | Resolve warnings about shadowing parameters and local variables.Stephen Kelly2012-11-131-1/+0
|/
* VS8: Remove '.NET' from generator description (#10158)Brad King2012-09-191-1/+1
| | | | | The product name does not include '.NET'. Use '8' instead to be consistent with the existing description of the '9' (2008) generator.
* VS: Simplify MSVC version reportingBrad King2012-08-301-1/+0
| | | | | | | | | Teach Windows-cl.cmake to use CMAKE_(C|CXX)_COMPILER_VERSION to set the "MSVC##" and MSVC_VERSION variables. It no longer needs the IDE generator to dictate the version or to detect the version by running the command-line tool for NMake and Ninja generators. Drop configuration of CMakeCPlatform.cmake and CMakeCXXPlatform.cmake from Windows-cl.cmake.in because all the results it saved are now cheap to compute every time.
* VS: Cleanup AddPlatformDefinitions() of Visual Studio generatorsPatrick Gansterer2012-08-221-9/+1
| | | | | Move adding of definitions into cmGlobalVisualStudioGenerator to share code and avoid duplicate architecture string literals.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-2/+2
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Merge topic 'enhance-include_external_msproject'David Cole2012-04-251-5/+8
|\ | | | | | | | | | | | | | | | | b803410 VS: Fix line-too-long style errors 8787f94 Merge branch 'list-empty-error' into enhance-include_external_msproject 4a30258 include_external_msproject: Test TYPE, GUID, PLATFORM options (#13120) f3191f5 Merge branch 'test-RunCMake-check' into enhance-include_external_msproject 5913903 include_external_msproject: Add TYPE, GUID, PLATFORM options (#13120)
| * VS: Fix line-too-long style errorsBrad King2012-04-191-3/+6
| | | | | | | | | | 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-5/+5
| | | | | | | | These allow one to reference more external VS project file variations.
* | Cleanup custom command .rule file internal handlingBrad King2012-04-181-7/+5
|/ | | | | | | | Teach cmMakefile::AddCustomCommandToOutput to return the cmSourceFile instance to which the custom command is attached. Use the return value instead of separately adding a .rule extension and searching for the source. Mark CMake-generated .rule files explicitly with a property instead of trusting the file extension.
* 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.
* VS8/9: Add flag map entries for /Zc:wchar_t (#10397)Sebastian Herbst2011-02-011-2/+8
|
* VS9: Map enable/disable PREfast flags (#10638)David Cole2011-02-011-0/+3
|
* Skip VS <= 7.1 dependency analysis for VS >= 8Brad King2010-12-011-0/+8
| | | | | | | | Commit 1a0c166 (Store direct dependencies in solutions for VS >= 8, 2010-08-20) disabled use of VS-specific global dependency analysis. Avoid perfoming the analysis at all when it is not needed. This also prevents creation of bogus and unused '_UTILITY' targets since they are not needed for dependencies.
* Merge branch 'vs8-direct-depends' into vs-target-dependenciesBrad King2010-11-121-0/+14
|\
| * Store direct dependencies in solutions for VS >= 8Brad King2010-09-101-0/+14
| | | | | | | | | | | | | | | | Since commit bc43b0f2 (Do not link library dependencies in VS solutions, 2009-10-20) CMake disables for VS >= 8 linking of a target to libraries that happen to be listed as solution-level dependencies. Therefore we can list the direct dependencies of each target in the solution file and let VS handle transitive dependencies automatically.
* | Fix line-too-long style errorsBrad King2010-09-101-2/+2
|/
* Merge topic 'vs-project-groups'Brad King2010-09-081-0/+7
|\ | | | | | | | | e6ac0aa Add FOLDER target property, for IDEs (#3796)
| * Add FOLDER target property, for IDEs (#3796)David Cole2010-09-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | VS: Add ArchitectureId to VS 8 and 9 generatorsPatrick Gansterer2010-08-261-2/+3
| | | | | | | | Avoid duplicate architecture string literals.
* | VS: Convert PlatformName member to a virtual methodPatrick Gansterer2010-08-241-7/+7
|/
* Use full path file names in generate.stamp.list.David Cole2010-06-171-2/+0
| | | | | | The full path file names are important for Visual Studio 10, which apparently changes the current working directory when running custom command rules.
* 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.