summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.h
Commit message (Collapse)AuthorAgeFilesLines
* Honor VS_SCC_* properties in Fortran targets (#10237)Brad King2011-01-171-0/+1
| | | | | | Factor out generation of SccProjectName, SccLocalPath, and SccProvider from cmLocalVisualStudio7Generator::WriteProjectStart and call it from cmLocalVisualStudio7Generator::WriteProjectStartFortran too.
* Fix use of module .def files for MS toolsBrad King2009-09-291-1/+0
| | | | | | | 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.
* 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: 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.
* ENH: remove code duplication and use cmVisualStudioGeneratorOptions for all ↵Bill Hoffman2009-07-281-1/+1
| | | | versions of vs 7 and greater.
* ENH: almost all tests passing in vs 10, commit fixes preprocess and starts ↵Bill Hoffman2009-07-131-5/+5
| | | | vs external project
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-101-0/+5
|
* ENH: first pass at VS 10, can bootstrap CMake, but many tests still failBill Hoffman2009-06-251-28/+6
|
* ENH: Generalize exe implib dir creation for VSBrad King2009-06-161-2/+0
| | | | | | | | In VS 7,8,9 executable targets we generate a build event to create the output directory for the import library in case the executable marks symbols with dllexport (VS forgets to create this directory). This generalizes computation of the custom command line to support future use with other VS versions.
* BUG: Create an exe's implib output dir for VSBrad King2009-06-151-0/+2
| | | | | | | | If an executable marks symbols with __declspec(dllexport) then VS creates an import library for it. However, it forgets to create the directory that will contain the import library if it is different from the location of the executable. We work around this VS bug by creating a pre-build event on the executable target to make the directory.
* ENH: Refactor VS 7,8,9 build event generationBrad King2009-06-121-0/+3
| | | | | | | In cmLocalVisualStudio7Generator we generate pre-build, pre-link, and post-build events into project files. This refactors the generation code for the three event types into a private EventWriter class to avoid duplicate code.
* ENH: add support for Intel Fortran Visual studio IDEBill Hoffman2008-04-301-0/+3
|
* ENH: fix for bug 3218 dependant projects are written out automatically if ↵Bill Hoffman2008-01-301-1/+1
| | | | they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
* BUG: cmTarget instances should not be copied. Removed pass-by-value ↵Brad King2008-01-291-1/+1
| | | | arguments from cmLocalVisualStudio7Generator::WriteGroup and cmLocalVisualStudio6Generator::WriteGroup. Updated cmTarget to make this easier to find.
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-3/+4
| | | | | | | | | | | | | | | | | separation. See bug #3832 - This is purely an implementation improvement. No interface has changed. - Create cmComputeLinkInformation class - Move and re-implement logic from: cmLocalGenerator::ComputeLinkInformation cmOrderLinkDirectories - Link libraries to targets with their full path (if it is known) - Dirs specified with link_directories command still added with -L - Make link type specific to library names without paths (name libfoo.a without path becomes -Wl,-Bstatic -lfoo) - Make directory ordering specific to a runtime path computation feature (look for conflicting SONAMEs instead of library names) - Implement proper rpath support on HP-UX and AIX.
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-1/+5
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* STYLE: fix line len errorBill Hoffman2007-12-101-1/+2
|
* BUG: fix for bug 5455, handle nodefaultlib with more than one libBill Hoffman2007-12-061-0/+4
|
* BUG: Converted per-vcproj timestamp to a single directory-level ↵Brad King2007-11-121-2/+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: add support for vs 2008 beta 2Bill Hoffman2007-09-171-0/+1
|
* ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides ↵Brad King2007-08-011-1/+1
| | | | a common interface to something that was implemented in most local generators anyway.
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk. This commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and CMake-SourceFile2-b-mp1-post on the trunk. The changes re-implement cmSourceFile and the use of it to allow instances to be created much earlier. The use of cmSourceFileLocation allows locating a source file referenced by a user to be much simpler and more robust. The two SetName methods are no longer needed so some duplicate code has been removed. The strange "SourceName" stuff is gone. Code that created cmSourceFile instances on the stack and then sent them to cmMakefile::AddSource has been simplified and converted to getting cmSourceFile instances from cmMakefile. The CPluginAPI has preserved the old API through a compatibility interface. Source lists are gone. Targets now get real instances of cmSourceFile right away instead of storing a list of strings until the final pass. TraceVSDependencies has been re-written to avoid the use of SourceName. It is now called TraceDependencies since it is not just for VS. It is now implemented with a helper object which makes the code simpler.
* STYLE: Removed unused reference to cmMakeDepend.Brad King2007-06-111-1/+0
|
* BUG: fix problem for non-C/CXX languages with Visual Studio, theAlexander Neundorf2007-05-091-1/+3
| | | | | | | dependencies for the custom commands added for java were not handled correctly. Needs more work. Alex
* ENH: now target names can be used in add_custom_command() andAlexander Neundorf2007-05-091-6/+4
| | | | | | | | | | add_custom_target() as COMMAND, and cmake will recognize them and replace them with the actual output path of these executables. Also the dependency will be added automatically. Test included. ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(), so it is done now in one central place Alex
* ENH: added internal target property for the name of the project fileKen Martin2007-04-101-9/+0
|
* BUG: Split precompiled header flags into a separate per-global-generator ↵Brad King2007-03-121-0/+23
| | | | 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: Replaced LibraryOutputPath and ExecutableOutputPath variables in ↵Brad King2007-03-081-2/+0
| | | | Makefile and VS generators to instead ask each target for its output path. This significantly reduces total code size and centralizes previously duplicate code. It is also a step towards bug#2240.
* ENH: fix for vs ideBill Hoffman2007-02-161-1/+3
|
* ENH: check in initial conv library stuffBill Hoffman2007-02-161-0/+4
|
* STYLE: Removed unused method declarations.Brad King2007-02-011-10/+0
|
* ENH: Reimplemented parsing and mapping of flags into vcproj file attribute ↵Brad King2007-02-011-2/+3
| | | | options. This cleans up and centralizes a few things. It is in preparation for dealing with precompiled header flags for bug #3512 since they require some special handling.
* BUG: The .pdb file generated for a library or executable should match the ↵Brad King2007-02-011-1/+1
| | | | real file name used for the target. This addresses bug#3277.
* BUG: make sure external vs projects use the GUID in the project if it has one.Bill Hoffman2007-01-311-0/+2
|
* BUG: fix for bug 4239, NODEFAULTLIB flag support in ideBill Hoffman2007-01-121-0/+6
|
* ENH: Adding image version number (major.minor) property to windows binaries. ↵Brad King2006-10-161-0/+1
| | | | Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219.
* BUG: Fix/cleanup custom commands and custom targets. Make empty comment ↵Brad King2006-09-281-1/+1
| | | | 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.
* BUG: Fix for VS.NET 2003 SP1 to make sure global target and utility target ↵Brad King2006-08-261-0/+1
| | | | rules run every time.
* ENH: Moved unique object file name computation from ↵Brad King2006-07-111-5/+5
| | | | cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories.
* STYLE: fix line lengthKen Martin2006-05-121-2/+4
|
* ENH: Added support for multiple outputs generated by a single custom ↵Brad King2006-04-111-1/+1
| | | | 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-0/+2
| | | | warnings produced by building for win64
* STYLE: minor comment cleanupsKen Martin2006-03-161-1/+1
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-8/+8
|
* ENH: fix line length style stuffBill Hoffman2006-03-101-1/+2
|
* BUG: Fixed generation of cmake re-run rules.Brad King2006-02-091-1/+1
|
* BUG: VS7 generator should use per-configuration linker flags for targets. ↵Brad King2006-01-271-0/+2
| | | | This addresses bug#2765.
* BUG: Sweeping changes to cleanup computation of target names. This shouldBrad King2006-01-131-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | fix many bugs related to target names being computed inconsistently. - Centralized computation of a target's file name to a method in cmTarget. Now that global knowledge is always available the *_CMAKE_PATH cache variables are no longer needed. - Centralized computation of link library command lines and link directory search order. - Moved computation of link directories needed to link CMake targets to be after evaluation of linking dependencies. This also removed alot of duplicate code in which each version had its own bugs. This commit is surrounded by the tags CMake-TargetNameCentralization1-pre and CMake-TargetNameCentralization1-post so make the large set of changes easy to identify.
* ENH: Generator now creates a separate intermediate files directory for each ↵Brad King2005-07-271-0/+1
| | | | target. This is needed for MSVC 8 to support parallel builds.
* FIX: apply patch from bug# 1965Bill Hoffman2005-07-131-0/+2
|