summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-12189-support-SBCS-in-VS'David Cole2012-03-081-0/+5
|\ | | | | | | | | | | | | b28e7fa VS6: Avoid SBCS test on VS6 (#12189) df19b9c VS6: Avoid _MBCS define when _SBCS is defined (#12189) ba89e92 Visual Studio: Allow setting Single Byte Character Set (#12189)
| * Visual Studio: Allow setting Single Byte Character Set (#12189)Aaron C. Meadows2012-02-171-0/+5
| | | | | | | | | | | | | | For Visual Studio using the Preprocessor Define _SBCS. This behavior is similar to the way that _UNICODE and _MBCS work already. Added tests to confirm this behavior.
* | Extract and use the INCLUDE_DIRECTORIES target properties.Stephen Kelly2012-02-221-1/+1
|/ | | | | | | | | Eliminate callers of cmMakefile::GetIncludeDirectories. All callers of GetIncludeDirectories should go through the local generator object. Only the local generator calls cmTarget::GetIncludeDirectories directly.
* VS: Simplify ;-separated attribute value parsingBrad King2012-02-031-34/+20
| | | | | | | An implementation ;-separated list parsing was added by commit a1f976ce (VS: Add support for three new project properties, 2011-11-23) and again by commit 9e01aefd (VS: Add support for WinRT project properties, 2012-02-03). Refactor both instances to use ExpandListArgument.
* VS: Add support for WinRT project properties (#12930)Eugene Golushkov2012-02-031-1/+37
| | | | | | | | VS_WINRT_EXTENSIONS: Boolean property that correspond to "Enable Tailored Features" in Visual Studio 11 IDE. VS_WINRT_REFERENCES: Semicolon-delimited list of *.winmd references to add to the project, which creates a new <ItemGroup>.
* VS10: Fix /pdb option vcxproj element name (#12328)Brad King2012-01-091-1/+1
| | | | | The compiler tool uses "ProgramDataBaseFileName" but the linker tool uses just "ProgramDataBaseFile". Fix the generator accordingly.
* VS: Add support for three new project properties (#12586)Aaron Ten Clay2011-11-281-1/+56
| | | | | | | | | | | VS_GLOBAL_PROJECT_TYPES: A string containing UUIDs to embed in the Visual Studio project file under <ProjectTypes>. VS_GLOBAL_KEYWORD: Allows specification of a keyword like "ManagedCProj" instead of the default "Win32Proj", under <Keyword> VS_DOTNET_REFERENCES: Semicolon-delimited list of .NET references to add to the project, which creates a new <ItemGroup>.
* Merge topic 'vs-version-ivar'David Cole2011-11-151-4/+4
|\ | | | | | | | | | | c92ffec Enumerate VS11 version explicitly in local generators 1be4b6f Order VS local generator Version ivar values consistently
| * Order VS local generator Version ivar values consistentlyBrad King2011-11-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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 'fix-11213-vs10-mfc-support'David Cole2011-11-151-4/+12
|\ \ | |/ |/| | | | | | | | | | | | | 537020f Tests: Nudge MFC test to pass on VS 6 dashboards (#11213) 51f442e VS11: Update InstallRequiredSystemLibraries.cmake for VS11 (#11213) d85ab7a Tests: Add environment logging to the MFC test (#11213) 011694c VS10: Use expected values for UseOfMfc (#11213) a2e6d24 Tests: Fix MFC test to work with VS 10 and later (#11213)
| * VS10: Use expected values for UseOfMfc (#11213)David Cole2011-11-041-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use expected values for the UseOfMfc xml element in VS 10 .vcxproj files. CMAKE_MFC_FLAG=1 maps to "Static" CMAKE_MFC_FLAG=2 maps to "Dynamic" all other values map to "false" Thanks to Randy Schott and McBen for their patches which served as inspiration and motivation for getting this done. See also http://public.kitware.com/Bug/view.php?id=11224
* | VS: Add VS_SCC_AUXPATH target property (#12549)Robert Dailey2011-11-011-1/+9
|/ | | | Maps to SccAuxPath tag in VCPROJ files.
* VS10: Avoid unnecessary rebuilds for custom commandsDavid Cole2011-08-181-1/+1
| | | | | Thanks to James Bigler for pointing this out on the cmake-developers mailing list...
* Merge topic 'intel_fortran_vs2010'David Cole2011-08-161-0/+7
|\ | | | | | | | | 3c53fbb Fix custom commands in VS2010 Fortran projects using CFG_INTDIR and test.
| * Fix custom commands in VS2010 Fortran projects using CFG_INTDIR and test.Bill Hoffman2011-08-031-0/+7
| | | | | | | | | | | | | | | | | | For custom commands in VS2010 Fortran projects the INTDIR variable is different than in the rest of the solution because Intel fortran still uses the old VS project files even in VS2010. So, we replace $(Configuration) directly in the project files. I have also added a FortranOnly test that tests this feature and is run on any generator that has Fortran abilities.
* | VS10: Add SCC supportSteven Velez2011-07-291-2/+17
|/ | | | | Honor the properties that were added for earlier versions of visual studio.
* Merge topic 'use_devenv_forvs2010'Brad King2011-06-241-1/+15
|\ | | | | | | | | | | | | | | 8555c2b Look for VCExpress as a possible build tool as well as devenv. ed0075b Use relative paths for custom command inputs. 38368d5 Revert "With very long file names, VS 2010 was unable to compile files." 8cd66dc Use devenv instead of msbuild for vs2010.
| * Use relative paths for custom command inputs.Bill Hoffman2011-06-221-10/+15
| | | | | | | | | | | | For source files we use full paths. This allows for longer directory names with VS2010. However, the use of full paths causes the GUI to not display the custom commands.
| * Revert "With very long file names, VS 2010 was unable to compile files."Bill Hoffman2011-06-211-1/+10
| | | | | | | | This reverts commit 945f2c2214bc80f513ed08ebe2c8003263a4ee56.
* | Fix for bug #11927, external project git clone step always runs vs10.Bill Hoffman2011-06-071-0/+11
|/ | | | | | | | | In cmMakefile.cxx GetCMakeCFGInitDirectory is replaced with GetCMakeFilesDirectory for .rule files. In some cases with external projects, that directory will not exist. With vs10 the .rule files must exist or the rule will run with every build. This fix creates the path that the .rule file is in. In addition, it is now a CMake error if the .rule file can not be created.
* VS10: Write header-only files in correct xml element (#11925)David Cole2011-05-231-5/+5
|
* Fix for bug where VS2010 did not use .obj files as part of the build.Bill Hoffman2011-04-011-5/+21
| | | | | | | For VS2010 if a precompiled .obj file was the output of a custom commad, it was used as part of the build. If it was not, then VS did not use it as part of the build. This commit updates the test to check for this issue, and fixes the problem. This fixes bugs #0011891 and
* With very long file names, VS 2010 was unable to compile files.Bill Hoffman2011-03-231-10/+1
| | | | | | | | At some point in the past VS 2010 failed some tests with custom commands when relative paths were not used. It seems that those problems have been fixed. However, the relative paths apparently are appended to the current working directoy before vs accesses the file. So, with a long path, relative paths cause it to create a combined path that is too long.
* VS2010: Fixed GenerateManifest flag (#10704)David Cole2011-02-091-1/+13
| | | | | | | | Thanks to "McBen <viertelvor12@gmx.net>" for the patch. (Did not preserve original commit author information because we have a push check for first and last name, and do not accept authors with only an alias...)
* VS10: Escape double quote chars in defines for rc files (#11695)David Cole2011-01-261-4/+7
| | | | | | | | To get rc defines to work in the VS10 IDE requires \" when constructing PreprocessorDefinitions strings. This is different than defines for cl. Also, per-file rc defines were not being generated. Fix that, too.
* VS10: Load projects with obj "source" files (#11147)David Cole2011-01-211-49/+54
| | | | | | | | WriteCLSources should skip source files with "obj" extensions since WriteObjSources has already written them into the vcxproj file. Likewise, WriteGroupSources should skip source files with "obj" extensions to avoid receiving "item ... already exists under the filter" project-load-time error messages from Visual Studio.
* Merge topic 'fix_source_groups_for_custom_targets_vs10'Brad King2011-01-111-1/+1
|\ | | | | | | | | 7bbab25 Add support for source files in custom targets for VS 10 (Bug#11330).
| * Add support for source files in custom targets for VS 10 (Bug#11330).Bill Hoffman2011-01-061-1/+1
| | | | | | | | | | In VS10, CMake was not adding the source files that were in the SOURCES list for add_custom_target. This patch fixes that issue.
* | Merge topic 'fix-11461-add-midl-vs10'Brad King2011-01-111-3/+23
|\ \ | |/ |/| | | | | | | | | e33cbda VSMidl Test: Use correct include_directories with VS6 (#11461) 262da91 Prohibit space in HOME value for VSMidl test. 13caaa3 VS10: Finish Midl support (#11461)
| * VS10: Finish Midl support (#11461)David Cole2011-01-051-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses all of the following: http://public.kitware.com/Bug/view.php?id=8165 http://public.kitware.com/Bug/view.php?id=10687 http://public.kitware.com/Bug/view.php?id=11311 http://public.kitware.com/Bug/view.php?id=11461 With this commit, the midl support for VS10 is as complete as midl support ever was for VS9 and earlier. The VSMidl test should run on all Visual Studio generator based dashboards. CMake no longer sends C++ compiler /D flag values to the midl compiler in Visual Studio generated projects. I think if we want to add that in the future, we should add a way to pass midl compiler specific flags and perhaps an optional way to add in the C++ definitions, too. For now, not sending them along gets past the immediate problem wherein idl files in a CMake VS generated project just didn't work at all. The VSMidl test added in this commit was inspired by the patch attached to 8165. The test had to be modified such that it will run in a directory whose name contains no spaces. There is an existing bug filed against VS10's midl asking Microsoft to fix that problem. But for now, the test added in this commit works by copying the source directory to a location that avoids spaces in the directory names. Inspired-By: Robert Lenhardt
* | Merge topic 'add_preprocessor_def_vs2010_resources'Brad King2011-01-041-1/+4
|\ \ | |/ |/| | | | | | | | | 8c7b19d Only run resource test for MSVC compilers. 753e208 Disable incremental testing for this test, it crashes vs9 linker. 16e7d4b Add flags to resource builds on vs 2010 with a test.
| * Add flags to resource builds on vs 2010 with a test.Bill Hoffman2010-12-211-1/+4
| |
* | Merge topic 'custom-command-refactor'Brad King2010-12-211-14/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 53ea8b3 Merge branch 'imported-target-dependencies' into custom-command-refactor 1a29cca Remove cmLocalGenerator::GetRealLocation 542b517 Factor out common custom command generator 6fe5b3d Simplify VS generator ConstructScript interface
| * | Simplify VS generator ConstructScript interfaceBrad King2010-12-081-14/+2
| | | | | | | | | | | | | | | Pass to cmLocalVisualStudioGenerator::ConstructScript a cmCustomCommand instance instead of extracting arguments at all call sites.
* | | Fix vs2010 project generation error when HEADER_FILE_ONLY is set.Bill Hoffman2010-12-201-1/+1
| |/ |/| | | | | | | | | | | In vs2010 a bad project file could be generated if a .c or .cxx file was marked with HEADER_FILE_ONLY, if it was in a library that contained both c and c++ code. This fixes the error in the code, and adds a test for this case.
* | Merge topic 'custom-command-depend'Brad King2010-12-141-4/+6
|\ \ | |/ | | | | | | | | ced1d5e Skip file-level dependencies on custom targets (#11332) e30a775 Improve signature of cmLocalGenerator::GetRealDependency
| * Improve signature of cmLocalGenerator::GetRealDependencyBrad King2010-12-081-4/+6
| | | | | | | | Allow file-level custom command dependencies to be skipped.
* | Enable 64-bit tools with VS 2010 Express (#9981, #10722)Brad King2010-12-011-0/+9
|/ | | | | | | 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.
* VS10: Order .vcxproj dependencies deterministically (#10502)Brad King2010-10-071-2/+5
| | | | | This avoids needless modification of the project files during regeneration.
* Merge topic 'vs10-custom-comments'Brad King2010-10-051-2/+28
|\ | | | | | | | | 2596e16 VS10: Encode custom command comments for echo (#11283)
| * VS10: Encode custom command comments for echo (#11283)Brad King2010-10-011-2/+28
| | | | | | | | | | | | | | VS10 uses MSBuild underneath. The <Message></Message> CDATA are just appended to "echo" and executed as a single command. Encode the message such that it can be passed to echo. Convert newlines to tabs since they cannot be printed this way.
* | VS10: Skip targets with no linker language (#11230)Brad King2010-09-301-5/+13
|/ | | | | | | In targets with no non-header files the linker language cannot be determined. Since the target project file cannot be generated at all in this case, give up as soon as it is detected. Otherwise the generation code may try to run with uninitialized information.
* VS10: Use $(IntDir) for per-source output directory (#11270)Brad King2010-09-271-1/+1
| | | | | | | The original implementation of this generator accidentally used "$(Configuration)/" for source-specific object file names. Correct it to use "$(IntDir)/" just like the generators for all previous VS versions. The target-wide output directory is "$(IntDir)/" already.
* VS2010: Set IntDir for utility and global targets.David Cole2010-09-131-28/+45
| | | | | | | | | | | | | | | VS2010 uses IntDir as the location for writing log files for what happens during custom build steps. With no IntDir settings, all ExternalProject usage within the same CMakeLists.txt file would result in multiple utility targets all trying to use the same custom build log files. With parallel builds, they would try to use them simultaneously and result in file access errors, preventing the builds from completing successfully. Now each utility target has its own IntDir setting, and so, its own custom build rule log files.
* VS2010: Honor PROJECT_LABEL target property (#10611)David Cole2010-09-091-0/+7
|
* Fix targets with . in the name for VS 10 IDE.Bill Hoffman2010-09-061-3/+2
|
* Merge topic 'target-dependencies-const'Brad King2010-08-311-1/+1
|\ | | | | | | | | 95b3bb5 Restore GetTargetDirectDepends const return
| * Restore GetTargetDirectDepends const returnBrad King2010-08-251-1/+1
| | | | | | | | | | The returned set should never be modified. Restore 'const' correctness unnecessarily removed by commit 6903d2df (remove const, 2008-01-30).
* | VS2010: Disable PDBs when there is no debug infoRobert Goulet2010-08-191-0/+9
|/ | | | | | | | | | | | | | When none of the options /Z7, /Zi and /ZI are specified in the cmake project settings, the project will open in the editor with "Program Database" as the default debug information format, ending up always generating PDBs regardless of project configuration. Modify the output project file so that if the debug information format is not specified in the cmake project settings it will default to no PDB generated, just like all the previous other Visual Studio versions. This problem comes from the fact that Microsoft changed the default setting of the debug information format to be "Program Database" instead of "Disabled".
* Fix nested source groups with VS 10 (#9863)Christoph Watzl2010-06-111-0/+49
| | | | | Add intermediate (but empty) source group filters for the container groups.