summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.h
Commit message (Collapse)AuthorAgeFilesLines
* VS: Delay getting platform name in local generatorBrad King2014-07-171-3/+0
| | | | | | Ask the global generator during generation instead of trying to store it up front. Later the global generator may not know the platform name when it is creating the local generator.
* stringapi: Use strings for generator namesBen Boeckel2014-03-081-1/+1
|
* stringapi: Miscellaneous char* parametersBen Boeckel2014-03-081-2/+2
|
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-4/+4
|
* stringapi: Take strings in escaping functionsBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings for VS project namesBen Boeckel2014-03-081-1/+1
|
* stringapi: Use strings in target nameBen Boeckel2014-03-081-8/+9
|
* Fix setting of the entry point symbol for Windows CE (#14088)Patrick Gansterer2013-08-051-1/+1
| | | | | Set the EntryPointSymbol only when it has not been set before and use the correct symbol depending on the usage of Unicode.
* VS: Avoid empty source groups in some cases (#3474)Anton Helwart2013-03-081-1/+1
| | | | | | Teach the WriteGroup method return true if a group or any of its children have source files. Have children write their output to a temporay cmOStringStream. Add it to the real output only if not empty.
* VS: Support setting correct subsystem and entry point for WinCEPatrick Gansterer2012-11-261-0/+1
| | | | | WinCE has only one SubSystem. So the WIN32_EXECUTABLE property must be handled via the EntryPointSymbol in the vcproj files.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-8/+8
| | | | | | | | | | | | | | | | | 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/ \+$//'
* VS: Add CMakeLists.txt re-run rules at start of generationBrad King2012-03-281-0/+1
| | | | | | | | | | | | | | | Since commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19) the VS 10 generator uses the cmGeneratorTarget source classification instead of directly getting the list of source files from the target. This accidentally dropped the CMakeLists.txt files from generated projects because they are added too late for cmGeneratorTarget. All generator-specific source files must be added to targets prior to cmGeneratorTarget construction. Refactor addition of the CMakeLists.txt files with CMake re-run custom commands to take place before normal generation begins, and therefore early enough to be included in the cmGeneratorTarget classification.
* Pre-compute object file names before VS project generationBrad King2012-03-091-5/+1
| | | | | | Implement cmGlobalGenerator::ComputeTargetObjects in the VS generator to pre-compute all the object file names. Use the results during generation instead of re-computing it later.
* Remove unused partial OBJECT_FILES property implementationBrad King2012-03-061-3/+0
| | | | | | | Remove partial implementation added by commit ca0230a3 (check in initial conv library stuff, 2007-02-16) since it was never finished. It does not make sense for multi-configuration generators since no specific build configuration is processed at CMake time.
* Order VS local generator Version ivar values consistentlyBrad King2011-11-141-5/+1
| | | | | | | | | | | 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 'AutomocForQt'David Cole2011-08-251-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 920a046 QtAutomoc: Eliminate compiler warning b00463f QtAutomoc test: Pass QT_QMAKE_EXECUTABLE e78ce44 Fix automoc with VS builds: apply patch from Bill 71165e9 Silence warning in automoc: use long instead of int 1879bcc Fix build: use std::ios::out|ios::trunc instead of std::ios_base::out 678e124 Only enable the automoc test after checking that Qt4 works 71c29d1 Fix bootstrap test with automoc afb3edc Fix warnings add30e9 Fix build: non-void function must return a value 7e6d845 Automoc.cmake is not needed anymore 2963d0b Fix logic which decides when to execute automoc test 77a5c6e Add documentation for AUTOMOC, add initialization via CMAKE_AUTOMOC bf8ef77 Add a test for automoc d045fd4 Nicer progress message for the automoc target 50cd6ce Move automoc processing from add_executable/library to cmGlobalGenerator cbaac2a Remove trailing whitespace c27607b Refactor SetupAutomocTarget() so it can be run after creating the target 24d9b7d Remove trailing whitespace 58b7fe6 Use cout instead of printf() 72caf4d Add the generated automoc.cpp file to the cleaned files ddb517d Color output when running moc 9303295 Initialize verbose based onb the env.var. ace1215 Move code for parsing a cpp-file from the big loop to separate function 735a5bb Fix line lengths 83b730c Add AUTOMOC to the add_library() command 126c6ea Add the cmake module required currently for automoc de91feb Remove the need to check for .h/.cxx during buildtime d65689a Add actual automoc code from automoc d1c0a5f Start implementing skeleton for automoc in cmake a65011b Start work on automoc: add empty cmQtAutomoc class
| * Fix automoc with VS builds: apply patch from BillAlex Neundorf2011-08-181-1/+0
| | | | | | | | | | | | | | | | This patch moves the creation of VS GUIDs from the final pass to AddHelperCommands() and should fix the failing automoc tests with VS. Alex
* | Merge topic 'intel_fortran_vs2010' into fix-8707-add-vs-globalsDavid Cole2011-07-291-1/+2
|\ \ | |/ |/| | | | | Conflicts: Source/cmLocalVisualStudio7Generator.h
| * Initial support for Intel Fortran VS2010.Bill Hoffman2011-07-081-1/+2
| |
* | Add support for Visual Studio project-specific globals (#8707)David Cole2011-07-291-1/+1
|/ | | | | | | | | | | Thanks to Pau Garcia i Quiles for the inspiration for the patch. I've tweaked it a bit compared to what's in the bug tracker: this commit does not allow empty global variable names. I also added usage of the new feature to an existing test. Although it has no effect on the resulting Visual Studio projects, you can verify that the VSResource test produces a non-empty globals section in the generated .vcproj(x) files.
* 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
|