summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaNormalTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Ninja: add option to enforce usage of response filesPeter Kümmel2012-10-011-4/+4
| | | | | If the cmake or environment variable CMAKE_NINJA_FORCE_RESPONSE_FILE is set then a response file is used regardless the command line length.
* Ninja: move <OBJECTS> in front of the first linker optionPeter Kümmel2012-10-011-11/+25
| | | | | | In the response file also linker options could be passed, and because <OBJECTS> is replaced by a response file, it is necessary that no compiler option follows <OBJECTS>.
* Ninja: move -LIBPATH behind -link optionPeter Kümmel2012-10-011-0/+5
| | | | Don' pass linker option to the compile
* Ninja: don't confuse ninja's rsp files with nmake'sPeter Kümmel2012-09-281-2/+7
| | | | Move response files into CMakeFiles/ which makes them different to nmake's.
* Port cmLocalGenerator::GetTargetFlags to cmGeneratorTarget.Stephen Kelly2012-09-191-1/+1
|
* Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget.Stephen Kelly2012-09-191-1/+1
|
* Ninja:split out setting of msvc TARGET_PDBPeter Kümmel2012-08-221-10/+1
|
* Ninja: prepare msvc pdb cleanupPeter Kümmel2012-08-221-15/+15
|
* Merge topic 'ninja-fix-macosx'David Cole2012-07-241-11/+48
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fc8df9 Add missing this->. 7a3ecf5 Fix memory leak in Makefile generator. 9f7dc83 Ninja: also bootstrap ninja files 5d365b2 Ninja: enable ninja support everywhere d569f3e Ninja: void function can't return a value 52160bf Ninja: enable ninja on Mac so all Mac CDash-builds are tested, cleanup later 56aeac6 Ninja: fixes for bcc 7a6bc9e Ninja: remove 'this' from member initializer list 44ba4cf Ninja: remove warnings 7751966 Ninja: remove 'friend' in ninja code c3988ee Re-factor OS X content generator start up. f8e0a51 Re-factor framework directory computation. f36c7b0 Re-factor Mac OS X content directory computation. 5d885db Re-factor bundle content copying rules generation. 3b2a01e Ninja: Use same echo message as makefiles. 7bb56c5 Re-factor CFBundle generation. ...
| * Ninja: Use same echo message as makefiles.Nicolas Despres2012-07-171-1/+4
| |
| * Re-factor CFBundle generation.Nicolas Despres2012-07-171-32/+3
| |
| * Ninja: Add support for CFBundle.Nicolas Despres2012-07-171-0/+37
| | | | | | | | This patch fixes test CFBundleTest on Darwin.
| * Ninja: Copy resource files in the bundle.Nicolas Despres2012-07-171-2/+0
| | | | | | | | This patch fixes test BundleTest on Darwin.
| * Re-factor OS X bundle and framework generation.Nicolas Despres2012-07-171-147/+10
| |
| * Ninja: Add support for OX X library framework.Nicolas Despres2012-07-171-0/+120
| | | | | | | | This patch fixes test ExportImport on Darwin.
| * Ninja: Add support for OS X app bundles.Nicolas Despres2012-07-171-10/+55
| | | | | | | | | | | | This patch fixes test Qt4Deploy on Darwin. Thanks to Jamie Kirkpatrick <jkp@kirkconsulting.co.uk>
* | Merge topic 'ninja-mingw-TARGET_PDB'David Cole2012-07-241-1/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9e30289 Ninja: Cannot pass a reference to an anonymous object. 0a3d6a1 Ninja: make debug symbol suffix configurable by CMAKE_DEBUG_SYMBOL_SUFFIX 75bbffb Ninja: make TARGET_PDB a real .gdb file name e5a27a4 Ninja: line length ae8124a Ninja: also mingw needs TARGET_PDB
| * | Ninja: Cannot pass a reference to an anonymous object.Nicolas Despres2012-07-181-1/+2
| | |
| * | Ninja: make debug symbol suffix configurable by CMAKE_DEBUG_SYMBOL_SUFFIXPeter Kümmel2012-07-171-1/+5
| | |
| * | Ninja: make TARGET_PDB a real .gdb file namePeter Kümmel2012-07-171-5/+11
| | |
| * | Ninja: line lengthPeter Kümmel2012-07-161-1/+1
| | |
| * | Ninja: also mingw needs TARGET_PDBPeter Kümmel2012-07-161-0/+9
| |/
* | Ninja: fix sytlePeter Kümmel2012-07-131-1/+2
| |
* | Ninja: fix GCC 4.7 warning -WconversionPeter Kümmel2012-07-131-1/+1
|/
* Ninja: sysconf() is declared in unistd.hPeter Kümmel2012-07-111-0/+5
|
* Ninja: enable response file support on Mac (length 262144)Peter Kümmel2012-07-111-2/+2
|
* Ninja: disable work around when linking with mingwPeter Kümmel2012-07-111-2/+6
| | | | | | | The work around is only needed by older GCCs (only testet 4.4/4.7) Ninja is very new so chances are high that there is also a new mingw. Use slashes in link rsp file, because ar.exe can't handle \.
* Ninja: also write link libraries to rsp filePeter Kümmel2012-07-101-11/+16
| | | | and enable rspfile support on Linux, needed for commands longer than e.g. 2096152 characters on Ubuntu.
* Ninja: don't shadow 'outputs' variablePeter Kuemmel2012-07-091-4/+4
|
* Ninja: Clean all symlink created for libraries.Nicolas Despres2012-07-091-2/+11
| | | | | | 'ninja -t clean' only cleans built output and dep files so all file created as a side effect and not mentioned in the 'build' statement would be omitted.
* Ninja: also consider rule command length for rsp filePeter Kuemmel2012-07-021-1/+2
|
* Merge topic 'ninja-cldeps'David Cole2012-06-191-38/+34
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eb410e8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build 5ead31d Ninja: try work around for bcc32 bug 1333b57 Ninja: build server fixes 9081e3a remove warning about unused parameter f430bea Ninja: maybe this fixes the bcc32 build f2c1288 Ninja: msvc6 for-scoping 44b9bbc Ninja: build with old msvc versions 57156a5 Ninja: build server fixes f1abdce Ninja: some bytes of the rc files couldn't be piped correctly 2de963d Ninja: don't remove space between command and parameters 50b6f33 Ninja: build cmcldeps with mingw c05653e Ninja: try to make GetProcessId visible ab245ff Ninja: but cl supports /nologo ... bf58e9a Ninja: no /nologo option in old rc.exe 2fb07fc Ninja: Eclipse and KDevelop fixes for ninja 518c065 Ninja: don't pollute build dir with preprocessed rc files ...
| * Ninja: be more accurate when estimating the command line lengthPeter Kuemmel2012-06-151-3/+4
| |
| * Ninja: undo all the NOSHELL patchesPeter Kuemmel2012-06-141-62/+33
| |
| * Ninja: Restructure code to work with the Borland compilersDavid Cole2012-06-141-2/+8
| | | | | | | | Should fix the Borland dashboard errors.
| * Ninja: sh needs something befor and after &&Peter Kuemmel2012-06-141-6/+14
| |
| * Ninja: fix Linux buildPeter Kuemmel2012-06-141-1/+1
| |
| * Ninja: don't use shell when cmake is called directlyPeter Kuemmel2012-06-141-34/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When linking with cmake and vs_link_* the command line could be too long for cmd.exe, which needs not to be called in this case. (was not cached by a test) Introduce rules which don't use the shell and use this rule when there are no pre or post step. For free we get a small speedup, because cmd is then not called. Also be more accurate when estimating the command line length.
| * Ninja: work with ninja/master, don't compile rc files with clPeter Kuemmel2012-06-121-15/+0
| | | | | | | | | | Ninja generates for paths with spaces wrong results for $out.d, using the new DEP_FILE variable instead.
| * Ninja: complete MinGW supportPeter Kuemmel2012-06-121-14/+20
| |
| * Ninja: don't pollute the rules file with useless commentsPeter Kuemmel2012-06-101-3/+2
| |
* | Merge branch 'ninja-rspfile' into no-std-stringstreamBrad King2012-06-121-7/+41
|\ \ | |/ | | | | | | | | | | Conflicts: Source/cmGlobalNinjaGenerator.cxx Source/cmLocalNinjaGenerator.cxx Source/cmNinjaNormalTargetGenerator.cxx
| * Ninja: also create rspfile rulesPeter Kuemmel2012-06-051-1/+2
| |
| * Ninja: 30000 is too long for windows cmdPeter Kuemmel2012-06-051-1/+1
| |
| * Ninja: add response file support on WindowsPeter Kuemmel2012-06-051-7/+40
| | | | | | | | | | | | | | When MinGW is used slashes are used for dependencies because ar.exe can't read rsp files with backslashes. Many thx to Claus Klein for starting working on this.
* | Avoid direct use of std::(o|)stringstream (#13272)Brad King2012-06-121-3/+3
|/ | | | | | | | | Older C++ compilers do not provide a standard std::stringstream. Use our compatibility interfaces instead. Also avoid std::stringstream(openmode) signature. Our approximate stringstream implementation provided when the standard one is not available does not support the openmode argument.
* Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)Peter Collingbourne2012-05-161-5/+6
| | | | Based on a patch by Zaheer Chothia!
* Merge topic 'module-no-soname'David Cole2012-05-011-11/+15
|\ | | | | | | | | | | fdb3f87 Test NO_SONAME property (#13155) e1409ac Support building shared libraries or modules without soname (#13155)
| * Support building shared libraries or modules without soname (#13155)Modestas Vainius2012-04-301-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a boolean target property NO_SONAME which may be used to disable soname for the specified shared library or module even if the platform supports it. This property should be useful for private shared libraries or various plugins which live in private directories and have not been designed to be found or loaded globally. Replace references to <CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG> and hard-coded -install_name flags with a conditional <SONAME_FLAG> which is expanded to the value of the CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG definition as long as soname supports is enabled for the target in question. Keep expanding CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG in rules in case third party projects still use it. Such projects would not yet use NO_SONAME so the adjacent <TARGET_SONAME> will always be expanded. Make <TARGET_INSTALLNAME_DIR> NO_SONAME aware as well. Since -install_name is soname on OS X, this should not be a problem if this variable is expanded only if soname is enabled. The Ninja generator performs rule variable substitution only once globally per rule to put its own placeholders. Final substitution is performed by ninja at build time. Therefore we cannot conditionally replace the soname placeholders on a per-target basis. Rather than omitting $SONAME from rules.ninja, simply do not write its contents for targets which have NO_SONAME. Since 3 variables are affected by NO_SONAME ($SONAME, $SONAME_FLAG, $INSTALLNAME_DIR), set them only if soname is enabled.
* | Ninja: remove GCC -Wshadow warningPeter Kuemmel2012-04-071-1/+1
| |