summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10TargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Use backslashes in VS 10 library dependenciesBrad King2009-11-181-0/+1
| | | | | | | | | The list of libraries to be linked into the current target must be specified using windows slashes to that UNC paths such as \\server\share\somelibrary.lib work correctly. See issue #9917.
* Revert "Always set OutputPath in VS 10 projects"Brad King2009-10-261-3/+0
| | | | | | | | | | | The reverted commit attempted to preserve the "../" PREFIX work-around for avoiding per-config build directories in the VS IDE generators. However, the original reporter has concluded that a "../" PREFIX no longer works everywhere in VS 10 project files anyway. Rather than set OutputPath, this commit restores the $(OutDir)$(TargetName)$(TargetExt) default. See issue #9768.
* Fix the showing of non-cpp files in the IDEBill Hoffman2009-10-231-3/+7
|
* Detect and set Unicode character set in VS 10Brad King2009-10-231-11/+51
| | | | | | | | This commit teaches the VS 10 generator to detect the -D_UNICODE option in preprocessor definitions and set the CharacterSet attribute to the value 'Unicode'. This was already done for other VS IDE versions. See issue #9769
* Always set OutputPath in VS 10 projectsBrad King2009-10-231-4/+9
| | | | | | | | | | | The default $(OutDir)$(TargetName)$(TargetExt) for this value works in most cases because we set the three properties. However, if the target property PREFIX contains a path component (not documented but happens to work in other VS generators) we drop it from TargetName and do not put it in OutDir either. This commit corrects the resulting path by setting the OutputPath property explicitly with the full path. See issue #9768.
* Fix Microsoft.Cpp.$(Platform).user.props in VS10b2Brad King2009-10-221-6/+4
| | | | | | | MS changed the location of the Microsoft.Cpp.$(Platform).user.props file. This commit teaches the VS 10 generator about the new location. See issue #9759.
* WIP: VS 10 Win64 generatorBrad King2009-10-221-6/+9
| | | | See issue #9754.
* Fix for bugs #9756, #9690 and #9755, header files were not included, and ↵Bill Hoffman2009-10-221-8/+25
| | | | link_directories we incorrect
* Do not link library dependencies in VS solutionsBrad King2009-10-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix use of module .def files for MS toolsBrad King2009-09-291-0/+5
| | | | | | | We recognize .def source files and map them to the /DEF:<file> option in the MSVC tools. Previously this worked only for shared libraries. This commit cleans up the implementation and makes it work for executables too. See issue #9613.
* Do not parse preprocessor defs for VS 10 link/libBrad King2009-09-291-8/+8
| | | | | | | When constructing cmVisualStudioGeneratorOptions to parse options for tools 'link' and 'lib' the tool type is now Linker, not Compiler. This tells it not to recognize flags starting in '/D' as preprocessor macros, such as the '/DEF:<file>' linker option. See issue #9613.
* Make sure LINK_FLAGS are seen by generator, fix for part of bug#9613Bill Hoffman2009-09-291-0/+6
|
* 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.
* Put custom commands in topological order for VS 10Brad King2009-09-071-7/+27
| | | | | | | | | | | | | | | | Visual Studio 10 uses MSBuild to drive the build. Custom commands appear in MSBuild files inside CustomBuild elements, which appear inside ItemGroup elements. The Outputs and AdditionalInputs elements of each CustomBuild element are evaluated according to timestamps on disk. MSBuild does not use inputs/outputs to order CustomBuild steps within a single ItemGroup or across multiple ItemGroup elements. Instead we must put only unrelated CustomBuild elements in a single ItemGroup and order the item groups from top to bottom using a topological order of the custom command dependency graph. This fixes CustomCommand and ExternalProject test failures, so we remove the expectation of these failures.
* Do Windows command line escapes for VS 10 tooBrad King2009-09-071-12/+23
| | | | | | | | | Until now the VS 10 generator did no Windows command-line escaping and just did XML escapes. This commit teaches the generator to use the same command-line escape addition code used by other generators. The script construction method cmLocalVisualStudioGenerator::ConstructScript need not do XML escapes. Each VS generator version adds the XML escapes necessary for that version.
* Allow for static libraries to depend on other targets so that the MSBuild ↵Bill Hoffman2009-08-051-5/+0
| | | | runs build things in the correct order
* ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties ↵Bill Hoffman2009-07-141-20/+17
| | | | instead, fix VXExternalInclude test for VS10
* ENH: almost all tests passing in vs 10, commit fixes preprocess and starts ↵Bill Hoffman2009-07-131-28/+52
| | | | vs external project
* ENH: add group support and fix borland errorBill Hoffman2009-07-111-41/+129
|
* ENH: change so rules show up in GUI, must be windows pathBill Hoffman2009-07-101-3/+6
|
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-101-45/+173
|
* ENH: Pass config to cmTarget::GetLinkerLanguageBrad King2009-07-081-3/+6
| | | | | | This passes the build configuration to most GetLinkerLanguage calls. In the future the linker language will account for targets linked in each configuration.
* ENH: Simpler cmTarget::GetLinkerLanguage signatureBrad King2009-07-071-8/+4
| | | | | | | This method previously required the global generator to be passed, but that was left from before cmTarget had its Makefile member. Now the global generator can be retrieved automatically, so we can drop the method argument.
* ENH: fix line lengthBill Hoffman2009-06-281-6/+31
|
* ENH: fix line length issuesBill Hoffman2009-06-261-10/+14
|
* ENH: remove debug printBill Hoffman2009-06-261-2/+0
|
* ENH: add obj file support and remove a warningBill Hoffman2009-06-261-8/+37
|
* ENH: first pass at VS 10, can bootstrap CMake, but many tests still failBill Hoffman2009-06-251-0/+965