summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Enable calling commands with : in argv[1] (#9963)David Cole2010-09-101-2/+9
| | | | | | | | | | | | | | | | | | | The solution seems hackish, but it works: for NMake only, prepend a no-op command before each real command that begins with ". This is really a work-around for an NMake problem. When a command begins with ", nmake truncates the first argument to the command after the first : in that arg. It has a parsing problem. Workaround..., hackish..., but it should solve the issue for #9963 and its related friends. Also, modify the CustomCommand test to replicate the problem reported in issue #9963. Before the NMake specific code change, the test failed. Now, it passes. Ahhhhhh.
* Fix failing ExternalProject test on Borland dashboards.David Cole2010-06-031-0/+22
| | | | | | | | If there is a .bat or .cmd file used as a custom command then the Borland Makefiles generator (specifically) requires using the "call " syntax before the name of the .bat or .cmd file. This fix applies to all Makefile based generators where WindowsShell is true.
* Fix warnings in CMake source code.David Cole2009-09-301-5/+3
|
* 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.
* Major optimization of C/C++ dependency scanning.Alexander Neundorf2009-09-231-7/+19
| | | | | | | | | | | | | | Now only the dependencies for the file where the dependencies actually may have changed are rescanned, before that this was done for all source files even if only one source file had changed. This reduces e.g. on my machine the time for scanning the dependencies of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from around 7.5 seconds to 1.2 seconds. The tests succeed, it does what I expected it to do on kdelibs, and Brad also reviewed the patch, so I think it should be ok. Alex
* Rescan dependencies also if CMakeDirectoryInformation.cmake has changed.Alexander Neundorf2009-09-221-7/+37
| | | | | | | | If CMakeDirectoryInformation.cmake is newer than depend.internal the include directories may have changed, so dependencies need to be scanned again. Ok by Brad. Alex
* Major improvement of the generated targets in Eclipse.Alexander Neundorf2009-09-161-0/+26
| | | | | | | | | | | | | | | Before this change all targets were displayed in the top level directory of the project. Now the targets are displayed in the correct directory. The targets "clean" and "all" are now created in every subdirectory. Also now the targets for just compiling one file, preprocessing one file, assembling one file are are created for Eclipse. Additionally all targets get a prefix now in eclipse, so that they are sorted in a way which makes sense (global targets first, then executable and libraries, then object files, then preprocessed, then assembly). Also this prefix gives the user a hint what the target is, i.e. whether it's a library or an executable or something else. Alex
* BUG: Disable color makefile inside try-compileBrad King2009-07-211-1/+4
| | | | | | | | Generated makefiles for try-compile projects should never use color output. On MSYS the color escapes end up in the try-compile output text because there is no way to identify whether the output is going to a color-capable terminal. Instead we should just always skip color for try-compile projects.
* ENH: Pass config to cmTarget RPATH install methodsBrad King2009-07-081-1/+1
| | | | | This passes the build configuration to cmTarget methods IsChrpathUsed and NeedRelinkBeforeInstall. Later these methods will use the value.
* ENH: Cleanup make progress rule generation codeBrad King2009-06-251-74/+9
| | | | | | | | This cleans up the Makefile generator's progress rule code. Instead of keeping every cmMakefileTargetGenerator instance alive to generate progress, we keep only the information necessary in a single table. This approach keeps most of the code in cmGlobalUnixMakefileGenerator3, thus simplifying its public interface.
* STYLE: Remove unused variableBrad King2009-06-251-1/+0
|
* ENH: Skip 'SHELL = /bin/sh' in Makefiles on VMSBrad King2009-06-101-0/+2
| | | | This shell does not exist on VMS, so we leave it out.
* ENH: On VMS use _dir and _tmp, not .dir and .tmpBrad King2009-06-101-0/+4
| | | | | | The VMS posix path emulation does not handle multiple '.' characters in file names in all cases. This avoids adding extra '.'s to file and directory names for target directories and generated files.
* BUG: Remove implicit include dir suppressionBrad King2009-02-241-1/+1
| | | | | | | We used to suppress generation of -I/usr/include (and on OSX also -I/usr/local/include). This behavior seems to cause more trouble than it's worth, so I'm removing it until someone encounters the original problem it fixed. See issue #8598.
* ENH: Add rule substitutions useful for launchersBrad King2009-02-101-0/+7
| | | | | | This defines make rule substitutions <LANGUAGE>, <TARGET_NAME>, <TARGET_TYPE>, and <OUTPUT>. They will be useful for RULE_LAUNCH_* property values.
* ENH: Define RULE_LAUNCH_* propertiesBrad King2009-02-101-3/+34
| | | | | | | This defines global, directory, and target properties RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM. Their values specify 'launcher' command lines which are prefixed to compile, link, and custom build rules by Makefile generators.
* ENH: Give target in which custom commands buildBrad King2009-02-101-2/+8
| | | | | | This gives the cmTarget instance for which custom command rules are being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands. It will be useful in the future.
* STYLE: fix two typos in the comments, patch from Daniel DOT Teske AT Nokia ↵Alexander Neundorf2009-02-091-1/+1
| | | | | | DOT com, QtCreator developer Alex
* ENH: Refactor custom command rule hashingBrad King2009-02-021-1/+10
| | | | | | | | | | This simplifies computation of custom command rule hashes to hash content exactly chosen as the custom commands are generated. Unfortunately this will change the hashes of existing build trees from earlier CMake versions, but this is not a big deal. The change is necessary so that in the future we can make optional adjustments to custom command lines at generate time without changing the hashes every time the option is changed.
* ENH: Refactor passing of max length object dirBrad King2008-12-161-5/+5
| | | | | | 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.
* ENH: Fix optional use of relative paths.Brad King2008-10-091-28/+27
| | | | | | | These changes refactor cmLocalGenerator methods Convert and ConvertToOutputForExisting to support references inside the build tree using relative paths. After this commit, all tests pass with Makefile generators when relative paths are enabled by default. See issue #7779.
* ENH: Simplify makefile ref to interactive editorBrad King2008-10-091-3/+3
| | | | | | The CMAKE_EDIT_COMMAND make variable need not be constructed with ConvertToOutputForExisting. The CMAKE_COMMAND variable works fine without it.
* BUG: Fix convenience rule working directoryBrad King2008-10-061-3/+3
| | | | | | | We generate convenience rules to build object files, preprocessed outputs, and assembly outputs of source files individually with make rules. This removes a redundant working directory change when more than one target builds the same source file.
* ENH: Allow users to specify macro-like #include line transforms for ↵Brad King2008-05-141-0/+26
| | | | | | | | dependency scanning. - Define IMPLICIT_DEPENDS_INCLUDE_TRANSFORM property on targets and directories. - Make the directory version inherited. - See issue #6648.
* BUG: Fix generation of some paths into .cmake files in the build tree to ↵Brad King2008-05-101-2/+2
| | | | escape strings for the CMake language. This fix allows users to put double quotes in the SOVERSION of a shared library.
* BUG: Fix logic that loops over multiple output pairs to not loop beyond the ↵Brad King2008-05-101-18/+15
| | | | vector when there are an odd number of entries.
* ENH: Light refactoring of implicit dependency scanning configuration ↵Brad King2008-05-081-52/+2
| | | | | | implementation. - Move lookup of config variables from cmLocalUnixMakefileGenerator3 to cmDepends hierarchy.
* BUG: Fix repeated re-scanning of dependencies when the results do not change.Brad King2008-05-071-5/+8
| | | | | - We re-scan deps when DependInfo.cmake is newer than depend.internal - Therefore depend.internal should not be copy-if-different
* BUG: For Watcom WMake use the short path to avoid quoting problems in custom ↵Brad King2008-04-301-0/+13
| | | | commands with shell redirections.
* BUG: the sun make goes into some odd n squared thing with this sccs and rcs ↵Bill Hoffman2008-04-101-11/+1
| | | | stuff for gmake, so I am removing them.
* ENH: fix for watcom can't use phonyBill Hoffman2008-03-251-1/+1
|
* ENH: add PHONY targetsBill Hoffman2008-03-241-1/+4
|
* ENH: exclude borland make as wellBill Hoffman2008-03-181-13/+14
|
* ENH: turn off extra rules for nmake and wmakeBill Hoffman2008-03-181-12/+16
|
* ENH: try to improve make speed by getting rid of some implicit rules that ↵Bill Hoffman2008-03-181-0/+12
| | | | were still around.
* ENH: remove abort calls and replace with an IssueMessage INTERANL_ERROR, ↵Bill Hoffman2008-03-131-1/+4
| | | | better to not crash on the end user.
* BUG: Fix subtle bug that prevented Makefile generators from rescanning ↵Brad King2008-03-111-3/+28
| | | | dependencies when a new source file is added but no other sources are touched.
* ENH: Cleanup impl of PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE propertiesBrad King2008-02-181-3/+3
|
* BUG: Apply patch from bug #6180 to make CMAKE_ADDITIONAL_MAKE_CLEAN_FILES ↵Brad King2008-02-151-1/+1
| | | | work for directories.
* ENH: Cleanup building of OS X bundle contentBrad King2008-02-151-65/+23
| | | | | | | | | | - Fixes repeated rebuild of bundles by Makefile generators - Add special rules to copy sources to their MACOSX_PACKAGE_LOCATION bundle directory - Remove MacOSX_Content language hack - Remove EXTRA_CONTENT property - Remove MACOSX_CONTENT - Remove corresponding special cases in object names
* BUG: fix bugs 5539 (progress going beyond 100% when new files are added) and ↵Ken Martin2008-01-181-14/+9
| | | | 5889 (tests are not found in some cases when using add_subdirectory to .. etc)
* BUG: Construction of COMPILE_DEFINITIONS_<CONFIG> property name must use ↵Brad King2008-01-181-1/+1
| | | | upper-case config name.
* ENH: Enable use of COMPILE_DEFINITIONS property for Fortran sources.Brad King2008-01-181-8/+39
|
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-10/+2
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* ENH: Patch from Maik to add preprocessor directive handling to Fortran ↵Brad King2008-01-091-1/+15
| | | | dependency scanning. Also added -fpp flag to Intel Fortran compiler on Windows by default.
* BUG: Restore old interface of "make foo.o" and "make foo.i" even though ↵Brad King2008-01-071-7/+63
| | | | object file names now include source extensions. For Java we also need to always remove the source extension (.java -> .class). This fixes the re-opening of bug #6169.
* ENH: Make the Fortran compiler id available to cmDependsFortran at scanning ↵Brad King2008-01-021-0/+12
| | | | and module timestamp copy time.
* ENH: Add per-language clean rule generation to cmake_clean.cmake files to ↵Brad King2007-12-281-0/+20
| | | | include cmake_clean_<lang>.cmake files generated by dependency scanning. Add Fortran module file and timestamp cleaning rules.
* ENH: Moved global inter-target dependency analysis and cycle-prevention code ↵Brad King2007-12-231-1/+2
| | | | up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
* ENH: Convert cmDepends object interface to scan an entire target at once.Brad King2007-12-231-18/+4
|