| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Teach install() and export() to handle the actual object files.
Disallow this on Xcode with multiple architectures because it
still cannot be cleanly supported there.
Co-Author: Brad King <brad.king@kitware.com>
|
|
|
|
|
|
|
|
|
| |
Previously the `TARGET_OBJECTS` generator expression was limited
only to use in a buildsystem context so that Xcode's placeholders
in object file paths can be evaluated. Lift this restriction so
that the expression can at least be used in most settings.
Co-Author: Brad King <brad.king@kitware.com>
|
|
|
|
|
|
|
|
| |
Move the diagnostic that rejects the TARGET_OBJECTS generator expression
in non-buildsystem context until after the check for whether the named
target is an object library. This order will makes more sense than the
previous order once TARGET_OBJECTS is allowed in non-buildsystem
context.
|
| |
|
|
|
|
|
| |
Do not populate some local variables before switching on the target
type.
|
|
|
|
|
|
|
| |
Add a `HasKnownObjectFileLocation` method returning whether we know the
exact location of object files produced by the native build system.
This is true everywhere except on Xcode when an architecture placeholder
is used.
|
|
|
|
|
| |
Add a `GetObjectDirectory` method to get the target's object file
directory for a specific configuration.
|
| |
|
|
|
|
| |
Update one remaining call site to avoid using the default.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ca697bfc cmGeneratorTarget: Drop obj libs from GetConfigCommonSourceFiles
e44a8d2c Xcode: Refactor loop over all sources
97cc29c7 VS: Teach generators how to mark per-config source files
2f6f6f0c Xcode: Use config-specific object library files on link lines
888c8af6 VS: List config-specific object library files on link lines
40aa6c05 cmGeneratorTarget: Add method to collect all sources for all configs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !701
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Call sites such as those in the VS global generator that are used only
to reject per-config sources will now allow per-config object library
objects. The corresponding generators have already been taught to deal
with per-config object library files. Remaining call sites do not need
object library files anyway.
This will later allow `$<TARGET_OBJECTS:...>` generator expressions to
evaluate to values that vary by configuration (e.g. because each
configuration has its own object files).
|
| |
| |
| |
| |
| | |
Switch from `GetConfigCommonSourceFiles` to `GetAllConfigSources`.
This will allow us to drop object library files from the former.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add internal infrastructure for looping over all sources for all
configurations and generating each source with exclusion marks
for configurations in which they do not participate. This does
not yet make per-config sources available in general but does
set up some of the needed infrastructure.
Unfortunately doing this cleanly will require major refactoring of both
the VS 7-9 generators and the VS 10+ generators (for separate reasons).
Instead add some extra internal structures to carry information where we
need it.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can do this only with Xcode 5 and above where we list the object
library files in the per-config link line value. On older Xcode
versions we list the object files as sources so that dependencies work
correctly, but that does not allow per-config objects. (Xcode may allow
per-config source exclusion but only by base name.)
|
| |
| |
| |
| |
| |
| | |
In cases that we need to list object library files on link lines,
look up the set of files matching the configuration of each link
line.
|
| |
| |
| |
| |
| |
| | |
Multi-config generators like VS and Xcode need to loop over all the
source files first and then handle per-config information within
each one. Teach cmGeneratorTarget to provide such a view.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
99b90dbf file: Add COPY/INSTALL option for fixed layout relative to a directory
dadf1570 file: Refactor COPY/INSTALL relative path handling
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !703
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a `FILES_FROM_DIR` option to install a specific set of files
specified relative to a given directory and preserve their layout
in the destination. Currently we intend to use this internally
to implement other things so we don't provide an `install()`
porcelain or documentation yet.
|
| |/
| |
| |
| | |
Delay conversion to absolute path until the last moment.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
d2b0a47c Add include-what-you-use mapping
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !692
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
9a5dcc32 cmExportBuildFileGenerator: use HasImportLibrary
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !699
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
fee01194 VS: Add an environment variable for the Windows 10 kits directory
b80c6d12 VS: Refactor Win 10 Kits root detection to support multiple roots
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !696
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Define a `CMAKE_WINDOWS_KITS_10_DIR` environment variable to allow
users to tell CMake about a custom Windows 10 SDK directory. We
choose to make this an environment variable rather than a CMake
variable or cache entry because:
* Using a custom directory also requires custom external MSBuild
configuration. Therefore users are already configuring a
custom environment.
* The custom directory must be set consistently in all parts of
a build including nested projects. An environment variable
avoids requiring users to thread the setting into nested builds.
Fixes: #16743
|
| |/ / |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
229abfc8 cmGeneratorTarget: Drop unused UseObjectLibraries method
63fbf587 Xcode: Inline relevant parts of UseObjectLibraries
1afacebe Xcode: Do not add Object Libraries source group on Xcode >= 5
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !698
|
| | | |
|
| | | |
|
| |/
| |
| |
| |
| |
| | |
The group is always empty because on Xcode 5 and above we list
object library files directly on the link line and do not list
sources for them.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7f8b93ab CheckSymbolExists: Document that intrinsics may not be detected
91233d56 CheckSymbolExists: Format documentation
b416d3e6 CheckSymbolExists: Convert docs to bracket comment syntax
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !695
|
| | |
| | |
| | |
| | | |
Fixes: #16794
|
| | | |
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
3b484871 project: Add `DESCRIPTION` parameter
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !679
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It is quite often the project description has used in a real world software.
Examples include:
* part of a help screen of the application
* builtin resources (`*.rc` files, data for "About" dialog of a GUI app, & etc)
* most generators for CPack can use it
* it could be used by documentary software (Doxygen, Sphinx) which is usually
integrated to CMake based projects via `add_custom_target()`
Now `project()` call learned an optional `DESCRIPTION` parameter with a
short string describing a project. Being specified, it would set the
`PROJECT_DESCRIPTION` variable which could be used in `configure_file()`
or whatever user wants. Also `PROJECT_DESCRIPTION` is a default value
for `CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ada8e0ca Merge branch 'upstream-KWSys' into update-kwsys
85841e8b KWSys 2017-04-12 (23a4c211)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !694
|
| |\ \ \
| | |_|/
| |/| |
| | | |
| | | | |
* upstream-KWSys:
KWSys 2017-04-12 (23a4c211)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 23a4c211e90c1cfd399c3632141dbd549a5db8cf (master).
Upstream Shortlog
-----------------
Brad King (2):
41a9dfef SystemInformation: Fix dynamic loader failure on WinXP SP2
3ead6158 SystemTools: Fix stat() wrapper compilation with Borland
Daniel Pfeifer (1):
ce5b0d34 Disable include-what-you-use
Mathieu Westphal (1):
a2bf6bb3 SystemTools: Add cross-platform stat() wrapper
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1d829c86 Use quotes for non-system includes
26ee9e42 CPack: drop CPack prefix for includes
5afac50f cmConfigure: Ensure separate include block in headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !691
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Automate with:
git grep -l '#include <cm_' -- Source \
| xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
git grep -l '#include <cmsys/' -- Source \
| xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
git grep -l '#include <cm[A-Z]' -- Source \
| xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Automate with:
git grep -l '#include <CPack/' -- Source \
| xargs sed -i 's/#include <CPack\/\(.*\)>/#include "\1"/g'
git grep -l '#include "CPack/' -- Source \
| xargs sed -i 's/#include "CPack\/\(.*\)"/#include "\1"/g'
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Make sure that `#include <cmConfigure.h>` is followed by an empty line
in header files. This is necessary to make sure that changing <> to ""
does not affect the include ordering of clang-format.
Automate with:
git grep -l '#include <cmConfigure.h>' | grep -v '.cxx$' \
| xargs sed -i '/#include <cmConfigure.h>/ { N; N; s/\n\{1,2\}/\n\n/ }'
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
a2e91af9 cmGeneratorTarget: Drop unused GetIDLSources method
a77158b2 VS: Refactor loop over classified sources
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !689
|
| | | | | |
|