summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio6Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused members of local VS 6 generatorBrad King2009-09-301-3/+0
| | | | | The commit "Use target dependency closure for VS 6 solutions" removed use of the CreatedProjectNames list, so we remove it.
* 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.
* Silence VS generator for missing CMakeLists.txtBrad King2009-09-021-0/+4
| | | | | | | | CMake Makefile generators silently ignore missing CMakeLists.txt files and just treat the source directory as if it had an empty input file. This will be addressed with a new CMake Policy, but for now we make the VS generator consistent with the Makefile generator behavior. The VS generator will need to handle the OLD behavior of the policy anyway.
* ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties ↵Bill Hoffman2009-07-141-1/+3
| | | | instead, fix VXExternalInclude test for VS10
* ENH: Simpler cmTarget::GetLinkerLanguage signatureBrad King2009-07-071-4/+2
| | | | | | | 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.
* BUG: Avoid cmTarget::GetDirectory for utilitiesBrad King2009-07-031-7/+9
| | | | | | | Since utility targets have no main output files like executables or libraries, they do not define an output directory. This removes a call to cmTarget::GetDirectory from cmLocalVisualStudio{6,7}Generator for such targets.
* STYLE: Replace large if() with named booleanBrad King2009-07-031-2/+3
| | | | | In cmLocalVisualStudio{6,7}Generator this replaces a large if() test with a re-usable result stored in a boolean variable named accordingly.
* BUG: Create an exe's implib output dir for VS 6Brad King2009-06-161-0/+6
| | | | | | | VS 6 forgets to create the output directory for an executable's import library in case the exe dllexport-s symbols. We work around this VS bug by creating a pre-link event on the executable target to make the directory.
* ENH: Refactor VS 6 build event generationBrad King2009-06-161-86/+65
| | | | | | | In cmLocalVisualStudio6Generator 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: Support more preprocessor values in VS6Brad King2009-04-241-2/+3
| | | | | | | | | Previously we rejected all preprocessor definition values containing spaces for the VS6 IDE generator. In fact VS6 does support spaces but not in combination with '"', '$', or ';', and only if we use the sytnax '-DNAME="value with spaces"' instead of '-D"NAME=value with spaces"'. Now we support all definition values that do not have one of these invalid pairs. See issue #8779.
* ENH: Support preprocessor def values in VS6Brad King2009-03-231-3/+3
| | | | | | | | | The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src properties support preprocessor definitions with values. Previously values were not supported in the VS6 generator even though the native tool supports them. It is only values with spaces that VS6 does not support. This enables support and instead complains only for values with spaces. See issue #8779.
* ENH: Refactor passing of max length object dirBrad King2008-12-161-11/+11
| | | | | | When computing the maximum length full path to the build directory under which object files will be placed, pass the actual path instead of just its length. This will be useful for error message generation.
* STYLE: Fix line length style violations.David Cole2008-12-101-2/+4
|
* COMP: Fix the ExternalProject test for Visual Studio 6. Visual Studio 6 ↵David Cole2008-12-091-16/+24
| | | | *.dsp files cannot have hyphens in them. Add utility function GetVS6TargetName to replace hyphens with underscores when generating *.dsp file names. Use the function everywhere necessary in the VS6 generators. And, a workaround: VS6 uses ".\Debug" (for example) as an "$(IntDir)" value - strip any leading ".\" when processing a --config argument in the cmake --build handling code.
* STYLE: fix link length issuesBill Hoffman2008-12-081-11/+31
|
* BUG: fix for bug #8216Bill Hoffman2008-12-041-7/+6
|
* BUG: fix for rc and vs6Bill Hoffman2008-12-031-25/+34
|
* BUG: fix empty /D option for vs6, fix for 7580Bill Hoffman2008-09-091-1/+8
|
* COMP: Fix build with concept checking of STL.Brad King2008-05-161-1/+1
| | | | - Fix cmSourceGroup to not use std::vector with an incomplete type.
* BUG: fix for 6720, source groups on vs6 not workingBill Hoffman2008-04-211-1/+1
|
* 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: Add cmTarget::GetLinkInformation method to allow several places in the ↵Brad King2008-01-291-2/+3
| | | | generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-2/+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
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-6/+21
| | | | | | | | | | | | | | | | | 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: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into ↵Brad King2008-01-181-0/+14
| | | | a COMPILE_DEFINITIONS directory property.
* ENH: Enable CMAKE_<lang>_DEFINE_FLAG for COMPILE_DEFINITIONS property ↵Brad King2008-01-171-25/+25
| | | | implementation.
* ENH: Renamed <CONFIG>_COMPILE_DEFINITIONS to COMPILE_DEFINITIONS_<CONFIG> ↵Brad King2008-01-161-8/+8
| | | | for better documentation clarity.
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-4/+72
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* BUG: Need to honor HEADER_FILE_ONLY source file property and exclude the ↵Brad King2007-11-201-1/+9
| | | | source from the build.
* ENH: Removed dependency on Templates/CMakeWindowsSystemConfig.cmake which is ↵Brad King2007-11-091-17/+1
| | | | no longer used. Also removed the file itself.
* BUG: Fixed passing of configuration names to GetRealDependency and ↵Brad King2007-08-101-11/+18
| | | | ConstructScript. Added GetConfigName helper method to do this.
* ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides ↵Brad King2007-08-011-0/+7
| | | | a common interface to something that was implemented in most local generators anyway.
* ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to doAlexander Neundorf2007-06-281-1/+1
| | | | | | | | | | | | | something like this: ENABLE_LANGUAGE(ASM-ATT) IF(CMAKE_ASM-ATT_COMPILER_WORKS) ... do assembler stufff ELSE(CMAKE_ASM-ATT_COMPILER_WORKS) ... fallback to generic C/C++ ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS) Alex
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* COMP: Fix build for windows-only generators after change to GetSourceFiles ↵Brad King2007-05-281-4/+4
| | | | signature.
* BUG: don't use non-imported target when cross compiling as commands in ↵Alexander Neundorf2007-05-241-1/+0
| | | | | | | | custom commands STYLE: remove now invalid comments, use this-> Alex
* ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create ↵Brad King2007-05-231-7/+1
| | | | targets. No targets of type cmTarget::INSTALL_FILES or cmTarget::INSTALL_PROGRAMS are created, so we do not need to check for them everywhere anymore.
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-1/+2
| | | | | | | | | | "imported" executable target. This can then be used e.g. with ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for "imported" targets, and FindTarget() now takes an additional argument bool useImportedTargets to specify whether you also want to search in the imported targets or only in the "normal" targets. Alex
* STYLE: fix line lengthsAlexander Neundorf2007-05-141-1/+2
| | | | Alex
* BUG: fix problem for non-C/CXX languages with Visual Studio, theAlexander Neundorf2007-05-091-3/+6
| | | | | | | 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-42/+54
| | | | | | | | | | 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: Created method cmTarget::GetExportMacro to centralize computation of ↵Brad King2007-03-281-9/+4
| | | | the export symbol name. This removes duplicate code from all the generators. Also enabled the export definition for executable targets with the ENABLE_EXPORTS property set.
* ENH: Added support for import libraries created by executable and module ↵Brad King2007-03-191-1/+3
| | | | targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly.
* ENH: Added computation of object file names that are almost always short ↵Brad King2007-03-161-2/+27
| | | | enough to not exceed the filesystem path length limitation. This is useful when a source file from outside the tree is referenced with a long full path. The object file name previously would contain the entire path which when combined with the build output directory could exceed the filesystem limit. Now CMake recognizes this case and replaces enough of the beginning of the full path to the source file with an md5sum of the replaced portion to make the name fit on disk. This addresses bug#4520.
* STYLE: Fix line-too-long.Brad King2007-03-101-2/+4
|
* BUG: Re-enable backward compatibility replacements in user-provided VS6 DSP ↵Brad King2007-03-091-1/+1
| | | | template files.
* ENH: Implemented use of cmTarget::GetDirectory() in Visual Studio 6 ↵Brad King2007-03-091-2/+55
| | | | generator. This is an incremental fix for bug#4210.
* ENH: fix crashBill Hoffman2007-02-201-8/+11
|
* BUG: fix for bug 4423 set language fixesBill Hoffman2007-02-201-2/+6
|
* STYLE: fix warningBill Hoffman2007-02-181-1/+1
|