Skip to content

Commit

Permalink
Merge 94059f8 into 5a8766e
Browse files Browse the repository at this point in the history
  • Loading branch information
crackedmind committed Apr 17, 2018
2 parents 5a8766e + 94059f8 commit 8aae6b4
Show file tree
Hide file tree
Showing 8 changed files with 285 additions and 270 deletions.
8 changes: 4 additions & 4 deletions cotire/.gitrepo
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
;
[subrepo]
remote = https://github.com/procxx/cotire.git
branch = stable
commit = 516d78476f6dda336181fc5514f72774e1e0a8e2
parent = 5905d21fa7d8c2bbe0438b0d266945dcbbacb6f2
remote = https://github.com/sakra/cotire.git
branch = master
commit = 391bf6b7609e14f5976bd5247b68d63cbf8d4d12
parent = 73ea43b04ff1f6ce614cb63765abad495bc08167
cmdver = 0.3.1
344 changes: 246 additions & 98 deletions cotire/CMake/cotire.cmake

Large diffs are not rendered by default.

15 changes: 14 additions & 1 deletion cotire/HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## 1.8.0 (2018-03-18)

* support for clang-cl.exe under Windows.
* faster prefix header generation for Clang.
* enable parallel compilation of unity target for MSVC.
* CMake 3.9 and 3.10 compatibility fixes.
* disable inclusion of timestamp in precompiled headers for Clang.
* work around ccache reporting incorrect configuration.
* honor `MANUALLY_ADDED_DEPENDENCIES` property upon generation of unity targets.
* use default setting of 2 for `COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES`.
* drop broken support for unity building of targets with automatic CMake Qt processing turned on.
* manual updates.

## 1.7.10 (2017-06-16)

* CMake 3.8 compatibility.
Expand All @@ -18,7 +31,7 @@
* convert Windows paths in include directories to CMake paths (thanks wdx04).
* replace object library with corresponding unity object library when using `COPY_UNITY` linking strategy.
* better error reporting from prefix header generation.

## 1.7.8 (2016-03-27)

* fix `COPY_UNITY` linking strategy for private link dependencies.
Expand Down
30 changes: 13 additions & 17 deletions cotire/MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ directories. A target inherits the property value from its enclosing directory.
### disabling precompiled headers for small targets

The cache variable `COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES` can be set to the minimum number of
source files required to enable the use of a precompiled header. It defaults to 3. To override the
source files required to enable the use of a precompiled header. It defaults to 2. To override the
default, run `cmake` with the following options:

$ cmake -D COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=5 <path-to-source>
Expand Down Expand Up @@ -616,16 +616,8 @@ the property value from its enclosing directory. To make all targets in the proj

### using cotire with Qt

Cotire is compatible with both Qt4 and Qt5 projects that use CMake as build system.

If a CMake target's `AUTOMOC` or `AUTOUIC` properties are set, the generated unity target will
automatically add a dependency to the implicitly generated `<targetname>_automoc` target to ensure
that `moc` and `uic` are run on the individual source files.

The unity target will also include the implicitly generated `<targetname>_automoc.cpp` source file.

The `Patches` directory contains examples for the [Qt4][fsedit_qt4] and [Qt5][fsedit_qt5] based
variants of the *FSEditor* sample Qt application.
Cotire is compatible with both Qt projects that use CMake as build system, provided Qt targets
do not use CMake automatic moc, uid or rcc scanning.

### installing files generated by unity targets

Expand Down Expand Up @@ -735,6 +727,12 @@ different directory and you may get odd messages about missing source files.
known issues
------------

### generator expressions

cotire uses the CMake command `file(GENERATE ...` to expand generator expressions used in various
compilation settings. This command does not handle certain CMake generator expressions like
`$<CXX_COMPILER_ID:...>` correctly.

### Ninja compatibility

Under Ninja indirect prefix header dependencies are ignored by the generated build system. Cotire
Expand Down Expand Up @@ -775,21 +773,19 @@ is not compatible with those of precompiled header file) upon compilation of cot

Cotire is not compatible with [Xoreax IncrediBuild][XGE].

[1260]:http://www.cmake.org/Bug/view.php?id=1260
[1260]:https://cmake.org/Bug/view.php?id=1260
[ccch]:https://ccache.samba.org/
[ccch_pch]:https://ccache.samba.org/manual.html#_precompiled_headers
[clang_pch]:http://clang.llvm.org/docs/UsersManual.html#precompiled-headers
[fsedit_qt4]:http://www.vikingsoft.eu/fseditor.html
[fsedit_qt5]:https://github.com/joonhwan/fsedit-qt5
[clang_pch]:https://clang.llvm.org/docs/UsersManual.html#precompiled-headers
[gcc_pch]:https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
[msvc_pch]:https://msdn.microsoft.com/en-us/library/szfdksca(v=vs.90).aspx
[msvc_pch_create]:https://msdn.microsoft.com/en-us/library/7zc28563(v=vs.90).aspx
[msvc_pch_use]:https://msdn.microsoft.com/en-us/library/z0atkd6c(v=vs.90).aspx
[ninja_issue]:https://cmake.org/Bug/view.php?id=13234
[EoUB]:https://engineering-game-dev.com/2009/12/15/the-evils-of-unity-builds/
[EoUB]:http://altdevblog.com/2011/08/14/the-evils-of-unity-builds/
[pch]:https://en.wikipedia.org/wiki/Precompiled_header
[scu]:https://en.wikipedia.org/wiki/Single_Compilation_Unit
[objlib]:https://cmake.org/cmake/help/v2.8.12/cmake.html#command:add_library
[objlib]:https://cmake.org/cmake/help/latest/command/add_library.html#object-libraries
[pfh]:https://en.wikipedia.org/wiki/Prefix_header
[icc_linux]:https://software.intel.com/en-us/c-compilers/ipsxe-support
[XGE]:https://www.incredibuild.com/
74 changes: 0 additions & 74 deletions cotire/Patches/fsedit-qt5.patch

This file was deleted.

68 changes: 0 additions & 68 deletions cotire/Patches/fseditor-1.0.patch

This file was deleted.

14 changes: 7 additions & 7 deletions cotire/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ features
* Leverages native precompiled header generation features of IDEs (Visual Studio and Xcode).
* Compatible with CMake's [cross-compiling][ccrc] support.
* Compatible with compiler wrappers like [ccache][ccch].
* Applicable to CMake based Qt projects.
* Tested with Windows, Linux and OS X.
* MIT licensed.

Expand All @@ -31,7 +30,8 @@ requirements

* [CMake 2.8.12][cmk] or newer. The executable `cmake` should be on the system path.
* [Visual Studio C++][vslstd], [MinGW][mingw] or [Cygwin][cgwn] under Windows.
* [GCC][gcc] or [Clang][clang] under Linux or OS X.
* [Clang][clang] under Windows, Linux or OS X.
* [GCC][gcc] under Linux or OS X.
* [Intel C++ compiler][intel] under Windows, Linux or OS X.
* [Xcode][xcdt] application or Xcode Command Line Tools under OS X.

Expand Down Expand Up @@ -117,8 +117,8 @@ known issues

[ccch]:https://ccache.samba.org/
[ccrc]:https://cmake.org/Wiki/CMake_Cross_Compiling
[cgwn]:http://www.cygwin.com/
[clang]:http://clang.llvm.org/
[cgwn]:https://www.cygwin.com/
[clang]:https://clang.llvm.org/
[cmk]:https://cmake.org/download/
[gcc]:https://gcc.gnu.org/
[manual]:https://github.com/sakra/cotire/blob/master/MANUAL.md
Expand All @@ -130,8 +130,8 @@ known issues
[vslstd]:https://www.visualstudio.com/
[xcdt]:https://developer.apple.com/xcode/
[PCHH]:https://gcc.gnu.org/wiki/PCHHaters
[EoUB]:https://engineering-game-dev.com/2009/12/15/the-evils-of-unity-builds/
[jom]:http://wiki.qt.io/Jom
[EoUB]:http://altdevblog.com/2011/08/14/the-evils-of-unity-builds/
[jom]:https://wiki.qt.io/Jom
[intel]:https://software.intel.com/en-us/c-compilers
[XGE]:https://www.incredibuild.com/
[shrp]:http://unriskinsight.blogspot.co.at/2014/09/sharpen-your-tools.html
[shrp]:https://unriskinsight.blogspot.co.at/2014/09/sharpen-your-tools.html
2 changes: 1 addition & 1 deletion cotire/license
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012-2017 Sascha Kratky
Copyright (c) 2012-2018 Sascha Kratky

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
Expand Down

0 comments on commit 8aae6b4

Please sign in to comment.