summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio10Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-5/+0
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Merge topic 'vs-masm'Brad King2013-08-061-0/+11
|\ | | | | | | | | 28e770c VS10: Add support for assembler code (#11536)
| * VS10: Add support for assembler code (#11536)Patrick Gansterer2013-08-051-0/+11
| | | | | | | | | | Use the masm BuildCustomizations, which are part of the Visual Studio installation to allow compilation of asm files.
* | VS: Unify how the name of the generator is specifiedPatrick Gansterer2013-08-051-3/+3
| | | | | | | | | | Use the value of the provided argument instead of using a fixed character buffer. This aligns VS10+VS11+VS12 with VS8+VS9.
* | VS: Replace ArchitectureId with PlatformNamePatrick Gansterer2013-08-051-3/+3
|/ | | | | | | | Since we do not need the information about the target architecture we can use the PlatformName only to specify the this information. This also removes setting of the MSVC_*_ARCHITECTURE_ID variable which is not required, because this variable gets set by the compiler detection code in CMAKE_DETERMINE_COMPILER_ID_CHECK().
* Merge topic 'vs-generator-brief-doc-update'Brad King2013-07-021-1/+1
|\ | | | | | | | | 52f1464 VS: Clarify Visual Studio product year for each version
| * VS: Clarify Visual Studio product year for each versionRobert Maynard2013-07-021-1/+1
| | | | | | | | | | | | Add to the brief documentation of the Visual Studio 10, 11, and 12 generators the corresponding VS product year. Clarify that VS11 is for Visual Studio 2012, and VS12 is for Visual Studio 2013.
* | VS: Use .sln parser to build targets in subdirs with msbuild (#13623)Petr Kmoch2013-04-121-2/+33
| | | | | | | | | | | | Use cmVisualStudioSlnParser in GenerateBuildCommand() to provide correct command line for MSBuild even when target project is stored in a subdirectory.
* | Add projectDir parameter to GenerateBuildCommandPetr Kmoch2013-04-121-2/+3
|/ | | | | | | | Extend the cmGlobalGenerator::GenerateBuildCommand virtual method signature with a "projectDir" parameter specifying the top of the project build tree for which the build command will be generated. Populate it from call sites in cmGlobalGenerator::Build where a fully-generated build tree should be available.
* VS: Fix VS 10/11 .sln headers (#14038)Brad King2013-03-251-1/+8
| | | | | | | | | | | | | | | | | The VS version we generate in the .sln header is used by VS when opening the file through Windows Explorer and possibly elsewhere. Fix our generators to use version strings known to VS to avoid a drop-down box. For VS 10, since commit 4f96af44 (Fix VS 10 .sln files for Windows Explorer, 2009-10-22) we use "Visual Studio 2010" instead of just "Visual Studio 10". This is correct except that for the Express edition we need "Visual C++ Express 2010". For VS 11, since commit f0d66ab4 (VS11: Fix comment generated at the top of *.sln files, 2011-10-20) we use "Visual Studio 11" in the .sln header but the preferred value is "Visual Studio 2012" (just as the first commit mentioned above fixed for VS 10). Also for the Express edition we need "Visual Studio Express 2012 for Windows Desktop".
* VS: Implement generator toolset selection (#10722, #13774)Brad King2013-02-071-0/+8
| | | | | | | | | | | | Implement generator toolset selection (cmake -T) for VS >= 10 by setting the PlatformToolset. Extend the RunCMake.GeneratorToolset test case to verify CMAKE_GENERATOR_TOOLSET when the generator supports -T. Since commit 485a940e (VS: Simplify MSVC version reporting, 2012-08-23) all MSVC version information is detected during the compiler id step from the actual compiler invoked by generated build systems rather than hard-coded in VS generators. Therefore we can set the PlatformToolset in VS >= 10 project files and support toolsets from other VS versions.
* VS: Change variable type of ArchitectureId from const char* to stringPatrick Gansterer2012-11-261-2/+1
|
* VS: Remove platform specific generator filesPatrick Gansterer2012-11-191-10/+54
| | | | Move the whole logic into the base class and the factory.
* VS: Remove EnableLanguage from platform-specific generatorsPatrick Gansterer2012-11-191-0/+8
| | | | Move the logic into the base class to remove duplicated code.
* 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.
* VS11: Add VS 2012 Express support (#13348)Brad King2012-09-181-0/+2
| | | | | | | | | | | Use the registry entries that vsvars32.bat uses to detect the location of MSBuild.exe in the framework directory. Invoke MSBuild with the option /p:VisualStudioVersion=$version so it knows from which VS version to load the system build rules. Teach cmGlobalVisualStudio11Generator to set its ExpressEdition member using the registry.
* 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.
* VS10: Define CMAKE_VS_PLATFORM_TOOLSET variableBrad King2012-08-221-0/+11
| | | | | When the VS 10 generator selects a non-default PlatformToolset to specify for MSBuild, report the selected name in this variable.
* VS: Cleanup AddPlatformDefinitions() of Visual Studio generatorsPatrick Gansterer2012-08-221-8/+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-4/+4
| | | | | | | | | | | | | | | | | 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/ \+$//'
* VC Express doesn't support folders, ignore USE_FOLDER propertyPeter Kuemmel2012-06-021-0/+6
|
* VS10: Generate relative source paths when possible (#12570)Brad King2012-04-271-0/+48
| | | | | | | | | | Since commit ed0075bd (Use relative paths for custom command inputs, 2011-06-22) CMake generates full paths to source files in VS 10 project files to avoid trouble with deep source/build tree paths. However, the VS 10 IDE will not populate the source file property dialog for a file referenced by full path. Instead use a relative path when possible. When not possible produce a detailed warning explaining the problem and suggesting use of shorter directory paths.
* VS10: Avoid creating .rule files next to outputs (#13141)Brad King2012-04-181-0/+18
| | | | | | | | Hide custom command .rule files inside the CMakeFiles directory. Ensure a short, deterministic, and unique name by using a hash of the directory path containing the output file. Preserve the file name so the entry in the IDE is human-readable. Clarify the comment that explains why the rule file must be created on disk.
* Order VS local generator Version ivar values consistentlyBrad King2011-11-141-1/+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.
* Merge topic 'vs-ia64'Brad King2011-07-261-0/+36
|\ | | | | | | | | | | aed92cc Add VisualStudio 9 and 10 generators for Itanium platform d44c68f VS: Factor Find64BitTools out of Win64 generator to parent
| * VS: Factor Find64BitTools out of Win64 generator to parentMatej Hribernik2011-06-201-0/+36
| | | | | | | | It will be shared with a forthcoming IA64 generator.
* | Look for VCExpress as a possible build tool as well as devenv.Bill Hoffman2011-06-231-1/+2
|/
* VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459)David Cole2011-01-211-5/+10
| | | | | | | | | | | | If CMAKE_MAKE_PROGRAM is set to devenv, then GenerateBuildCommand uses it just like we used to do for VS8 and VS9. Otherwise, it still uses MSBuild. This will let us run the CMake test suite through devenv and make sure all the solution and project files we generate are load-able and build-able by the VS 2010 IDE, not just MSBuild. Inspired-By: Robert Lenhardt
* Enable 64-bit tools with VS 2010 Express (#9981, #10722)Brad King2010-12-011-0/+14
| | | | | | | The Express Edition does not come with 64-bit tools, but one can install the "Microsoft Windows SDK v7.1" to get them. Detect this case and check for the SDK. If found, set PlatformToolset to use the SDK tools. Otherwise, fail with a concise and informative error.
* VS: Convert PlatformName member to a virtual methodPatrick Gansterer2010-08-241-1/+1
|
* Teach VS generators to set the MACHINE type correctly.Bill Hoffman2009-11-201-0/+2
|
* Fix VS 10 .sln files for Windows ExplorerBrad King2009-10-221-1/+1
| | | | | | | This commit fixes generated .sln files so they open VS 2010 correctly when double-clicked in Windows Explorer. See issue #9758.
* WIP: VS 10 Win64 generatorBrad King2009-10-221-1/+2
| | | | See issue #9754.
* 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: only 5 failing tests for VS 10Bill Hoffman2009-07-101-0/+61
|
* ENH: first pass at VS 10, can bootstrap CMake, but many tests still failBill Hoffman2009-06-251-0/+98