| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
15b3f6f0 ninja, rc: ignore CMAKE_NINJA_FORCE_RESPONSE_FILE for RC files
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit v3.6.0-rc1~174^2 (Ninja: Honor CMAKE_NINJA_FORCE_RESPONSE_FILE
for compile rules, 2016-04-06), Ninja learned to look for
`CMAKE_NINJA_FORCE_RESPONSE_FILE` in the current scope or the
environment in order to force response file usage for all compilation
rules.
However, on Windows, the RC compiler goes through cmcldeps which does a
`replace(output, output + ".dep.obj")` on the command line. However,
with a response file (which we name `output + ".rsp"`), the response
file path is replaced instead causing the compiler to (correctly)
complain that the response file `output + ".dep.obj.rsp"` does not
exist.
What needs to happen is for cmcldeps to look through the response file,
replace *its* contents and place it in the `output + ".dep.obj.rsp"`
file.
Also add a test which actually compiles an RC file into a library and
executable for all generators on Windows and additionally test
`CMAKE_NINJA_FORCE_RESPONSE_FILE` for Ninja generators.
Fixes #16167.
|
|\ \
| | |
| | |
| | |
| | | |
ed05f11d VS: Add a VS_TOOL_OVERRIDE source file property
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This property allow to specify a specific Visual Studio tool for a
source file overriding the default tool behavior. For example, a
`.resw` file being processed as a `PriResource` file. This has the
advantage of being able to teach CMake to process new file types without
code modifications.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
35a6cac2 VS: Add VS_SDK_REFERENCES target property to reference external SDKs
|
| |/ /
| | |
| | |
| | |
| | | |
Allow one to specify external SDK references such as
`Microsoft.AdMediatorWindows81, Version=1.0`.
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
e36e5a26 Xcode: Properly handle BUNDLE_EXTENSION
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
e63151ff cmake: Add an option to control what files needs to be traced
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Even in relatively small projects using `--trace` (and `--trace-expand`)
may produce a lot of output. When developing a custom module usually
one is interested in output of only a few particular modules.
Add a `--trace-source=<file>` option to enable tracing only a subset of
source files. The final output would be only from requested modules,
ignoring anything else not matched to given filename(s).
|
|\ \ \
| |/ /
|/| /
| |/
| |
| | |
6107fab4 CPack/Deb: Fix test to actually test the preinst script
302391ba CPack/Deb: Fix tests for SELinux-enabled systems
|
| |
| |
| |
| |
| |
| |
| | |
The test regex variable name was invalid and did not test preinst
script.
Reported-by: Patrick <mail6543210@yahoo.com.tw>
|
| |
| |
| |
| | |
Suggested-by: Patrick <mail6543210@yahoo.com.tw>
|
|\ \
| | |
| | |
| | |
| | |
| | | |
a0902efa Help: Add notes for topic 'link_what_you_use'
96242f80 Add options to run `ldd -u -r` as a "link-what-you-use" tool
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Create a LINK_WHAT_YOU_USE target property and corresponding
CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior.
Extend link commands by running `ldd -u -r` to detect shared
libraries that are linked but not needed.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ed5fa48d cmXMLWriter: use ifstream from KWSys
24ab29b8 Prefer istringstream and ostringstream over stringstream.
ab8b77dd Remove redundant arguments from fstream constructors
eb79fa72 Access std::ios_base with std::ios
|
| | | |
| | | |
| | | |
| | | | |
Don't pass the default value of the openmode parameter explicitly.
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
0a4af073 cmake: Issue message independent of cmMakefile definition
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The makefile is only used when called by the cmMessageCommand, so inline
the use of it there. It otherwise creates an undesirable dependency on
cmMakefile for issuing messages in the cmake instance, a violation of
the Interface Segregation Principle.
https://en.wikipedia.org/wiki/Interface_segregation_principle
This also makes it more explicit that the variable definitions only
affect the message() command. If an AUTHOR_WARNING is issued for any
other reason, it is not affected. To affect that, it is necessary to
set the cache variable instead of the regular variable.
This is an unfortunate interface quirk, but one which can't be fixed
easily now.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
896ad251 Teach find_library and find_package to search lib32 paths (#11260)
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a ``FIND_LIBRARY_USE_LIB32_PATHS`` global property analogous to the
``FIND_LIBRARY_USE_LIB64_PATHS`` property. This helps find commands on
multilib systems that use ``lib32`` directories and either do not have
``lib`` symlinks or point ``lib`` to ``lib64``.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Apply fixits of clang-tidy's readability-braces-around-statements
checker.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Rename memtester.cxx.in to memtester.cxx, run clang-format, then restore
the original name. Fix the @_retval@ placeholder that was broken by
clang-format.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
ceebac93 Tests: Restore fix to Plugin test on Watcom compiler
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The fix in commit v3.4.0-rc1~127^2 (Tests: Fix Plugin test on Watcom
compiler, 2015-09-03) was reverted accidentally by automated .c_str()
removal. Restore it and add a comment explaining why.
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
0bd91ad4 UseJava: Fix race condition creating java class list
89df91b9 Help: Add notes for topic 'java-export-targets'
95d84369 Tests: Add test for exported JARs
5341c0d8 UseJava: Add infrastructure to export targets
d91ec044 Tests/Java: Clean up style of Java test code
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a unit test to test the new functions to export JAR targets. The
test builds three sub-projects: two that generate and export a JAR (one
does a build-directory-only export, one an install-only export), and a
third that consumes the first two as imported targets.
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
b8a00b67 Tests/FindVulkan: Run clang-format
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
adf4df28 Add FindVulkan.cmake.
|
| | | |
| | | |
| | | |
| | | | |
This adds FindVulkan with corresponding tests.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
188baef0 find_path: Fix location of <dir/header.h> in a framework on OS X
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
After finding it in `foo.Framework/Headers/dir/header.h`, we should
report the `foo.Framework/Headers` directory, not
`foo.Framework/Headers/dir`, because the former is what actually
contains the path the caller wishes to include.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Mostly automated:
git grep -l '.c_str() <<' | xargs sed -i 's|\.c_str() <<| <<|g'
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
63e5eb5f Help: Add notes for 'productbuild' topic
2e3c67d1 productbuild: Add new productbuild cpack generator.
50a3d340 PackageMaker: factor out common code for creating pkg files.
|
| | |
| | |
| | |
| | | |
This cpack generator basically replaces the obsolete PackageMaker generator.
|
|\ \ \
| | |/
| |/|
| | |
| | | |
f500a784 Fix crash on $<TARGET_PROPERTY:...,LOCATION> genex (#16134)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Policy CMP0026 deprecated the LOCATION property, and we have long
provided a $<TARGET_FILE:...> generator expression. However, if
a project tries to use $<TARGET_PROPERTY:...,LOCATION> we should
at least not crash.
The compatibility implementation of the LOCATION property uses
cmGlobalGenerator::CreateGenerationObjects to create the structures
needed to evaluate the property before generation starts. The
implementation assumed that accessing the property could only be done
during configuration (via the typical get_property command use case).
The $<TARGET_PROPERTY:...,LOCATION> genex causes the LOCATION property
to be accessed during generation. Calling CreateGenerationObjects
during generation blows away all the objects currently being used for
generation and is not safe. Add a condition to call it only when
configuration is not finished.
|
|/ |
|
|\
| |
| |
| |
| |
| | |
27ead963 Remove unnecessary local copies.
618fb23f Pass arguments that are not modified as const&.
|
| |
| |
| |
| |
| |
| |
| | |
Use clang-tidy's performance-unnecessary-value-param checker to find
value parameter declarations of expensive to copy types that are not
modified inside the function. Ignore findings in kwsys.
After applying the fix-its, manually change `const T&` to `T const&`.
|
|/
|
|
|
| |
Run clang-tidy's readability-redundant-string-cstr checker.
Ignore findings in kwsys.
|
|
|
|
|
|
|
|
|
| |
Add a `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable to specify a list
of custom variables to be forwarded to a `try_compile` test project.
This will be useful for platform information modules or toolchain files
to forward some platform-specific set of variables from the host project
(perhaps set in its cache) to the test project so that it can build the
same way.
|
|\
| |
| |
| |
| |
| |
| | |
c1340827 Add a variable to specify language-wide system include directories
44199097 cmMakefile: Optimize AddSystemIncludeDirectories for empty set
a896043b GHS: Compute include directories consistently with other generators
|
| |
| |
| |
| |
| |
| |
| | |
Create a `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable to specify
system include directories for for `<LANG>` compiler command lines.
This plays a role for include directories as the existing
`CMAKE_<LANG>_STANDARD_LIBRARIES` variable does for link libraries.
|
|\ \
| | |
| | |
| | |
| | | |
adbd3985 CPack/Deb possibility to change package name
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This patch preserves backward compatibility of
deb package names with previous CMake versions
but similarly to CPack/RPM allows to change
package name format and supports DEB-DEFAULT
setting that produces proper Debian package names.
|