25725 Commits

Author SHA1 Message Date
Brad King
8d70a91489 Help: Add 3.1 release note about '#' escaping in Makefiles (#15322)
The change in commit v3.1.0-rc1~174^2 (Makefile: Handle '#' in
COMPILE_OPTIONS, 2014-08-12) was not compatible with code that
tries to workaround the original bug.  Unfortunately there is no
good way to fix the bug in a compatible way.  Add a release note
to call attention to the change.
2014-12-23 08:27:05 -05:00
Brad King
c118816d44 CMake 3.1.0 2014-12-15 11:08:08 -05:00
Brad King
0dd9e7173d Merge branch 'doc-CMP0054-example' into release 2014-12-12 11:13:21 -05:00
Nils Gladitz
f2f1c95dd9 Help: Extend policy CMP0054 documentation with an example 2014-12-12 11:12:46 -05:00
Brad King
ce53ef0be1 Merge branch 'backport-doc-find-module-no-summary' into release 2014-12-09 08:42:02 -05:00
Brad King
d425c11045 Help: Drop FeatureSummary example in cmake-developer.7
The use of FeatureSummary inside a find module is not a convention
yet used by upstream CMake modules.  Drop the example from the
documentation about how to write find modules.  If in the future
we add use of FeatureSummary to many of the upstream find modules
then this example can be restored as part of establishing the
convention.
2014-12-09 08:40:33 -05:00
Brad King
1f6f114a7a CMake 3.1.0-rc3 2014-12-08 09:09:24 -05:00
Brad King
e2c431dc64 Merge branch 'xerces-rename' into release 2014-12-05 13:32:50 -05:00
Brad King
eff4081bfb Merge branch 'doc-file-GENERATE-order' into release 2014-12-05 13:32:46 -05:00
Brad King
fe21580b84 Help: Document file(GENERATE) signature option order
In commit v3.1.0-rc1~484^2 (Help: Format and revise file() command
documentation, 2014-05-23) the signature of file(GENERATE) was
accidentally simplified too much and dropped specification of the
required argument ordering.  Restore the signature to make the order
clear.
2014-12-05 13:28:24 -05:00
Brad King
27141eede7 Modules: Rename FindXerces to FindXercesC
The FindXerces module was added in commit v3.1.0-rc1~155^2 (FindXerces:
New module to find Apache Xerces-C++, 2014-08-17).  However, there are
two implementations of Xerces, one in C++:

  http://xerces.apache.org/xerces-c/

and one in Java:

  http://xerces.apache.org/xerces-j/

Rename FindXerces to FindXercesC to clarify that it is about the C++
implementation.

While at it, add the missing CMake 3.1 release note about this module.

Suggested-by: Erik Sjölund <erik.sjolund@gmail.com>
2014-12-04 10:41:26 -05:00
Brad King
c2d371034e Merge branch 'doc-mixed-case-commands' into release 2014-12-04 10:04:29 -05:00
Brad King
607b39dc11 Utilities/Sphinx: Fix link targets for mixed-case command names
When a CMake domain 'command' object is defined by CMakeTransform or the
'cmake:command' directive, generate the link target with a lower-case
name even if the command name is not all lower-case.  This is needed to
make cross-references to the command definition work since the
'cmake:command' role is marked with the 'lowercase' property.
2014-12-04 10:03:26 -05:00
Brad King
1c104c019a Merge branch 'vs-phone-store-deployment-location' into release 2014-12-03 09:32:42 -05:00
Brad King
7c28e7c172 Merge branch 'vs-hlsl-settings' into release 2014-12-03 09:32:38 -05:00
Brad King
0e7c7bd3df Merge branch 'doc-CMAKE_CXX_KNOWN_FEATURES-typo' into release 2014-12-03 09:32:32 -05:00
Brad King
6c8d573b28 Merge branch 'CPackIFW-doc-typos' into release 2014-12-03 09:32:27 -05:00
Brad King
206117af17 Merge branch 'doc-Nsight-Tegra-toolchain' into release 2014-12-03 09:32:22 -05:00
Gilles Khouzam
352f246f3e VS: Add source file property to specify Windows App deployment location
Add a VS_DEPLOYMENT_LOCATION source file property to specify where to
put files that are part of the package.  For example:

  set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "assets")

Without this, sources marked with VS_DEPLOYMENT_CONTENT cannot be
located properly.
2014-12-03 09:31:59 -05:00
Cedric Perthuis
2a224b4ce3 VS: Add source file properties to set the hlsl shader entry point and model
Create properties VS_SHADER_ENTRYPOINT and VS_SHADER_MODEL.  Without
these many .hlsl source files may not be possible to use.  Extend the
VSWinStorePhone test project to cover them.
2014-12-03 09:30:59 -05:00
David Demelier
37d684bd67 Help: Fix typo in CMAKE_CXX_KNOWN_FEATURES docs
Typo "ss defined" => "as defined".
2014-12-03 09:12:17 -05:00
Brad King
17e1ead25e Merge branch 'fix-wince-unicode-entry-point' into release 2014-12-03 09:08:40 -05:00
Pascal Bach
681cda02bf VS, WINCE: Fix entry point for Unicode builds
When _UNICODE is defined VS uses wmain instead of main as the entry function.
To make this correctly work on WindowsCE EntryPointSymbol needs to be set to
mainWCRTStartup instead of mainACRTStartup for console applications and to
wWinMainCRTStartup instead of WinMainCRTStartup for GUI applications.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
2014-12-03 09:07:11 -05:00
Konstantin Podsvirov
4c07a00f07 CPackIFW: Correction of the module documentation 2014-12-02 15:52:07 -05:00
Brad King
23e2bd7e8c Help: Document Nsight Tegra toolchain configuration (#15276) 2014-12-02 14:40:25 -05:00
Brad King
f3ae286cc0 Merge branch 'FindOpenGL-revert-imported-targets' into release 2014-12-02 10:23:01 -05:00
Brad King
8c9ff4f1a6 Merge branch 'FindPythonInterp-Fix-1.4' into release 2014-12-02 10:22:50 -05:00
Brad King
b85cd1bd69 Merge branch 'doc-compile-features-typo' into release 2014-12-02 10:22:39 -05:00
Rolf Eike Beer
4c8c3ba912 FindPythonInterp: fix version component variables for Python 1.4 (#15275)
This bug was introduced in "FindPythonInterp: rework the version detection"
7d6db93de9ffc6e6092fa722aaf9c057dadcd634.
2014-12-02 15:36:59 +01:00
David Demelier
64f8c5336b Help: Fix typo in cmake-compile-features(7) manual
Fix spelling 'execptions' => 'exceptions'.
2014-12-02 09:20:22 -05:00
Brad King
02e34de2b6 FindOpenGL: Revert support for imported targets (#15267)
Revert the feature added by commit v3.1.0-rc1~420^2~2 (FindOpenGL:
Provide imported targets for GL and GLU, 2014-05-31).  Unfortunately it
does not work on Windows because the full path to each library file is
not actually known.  The IMPORTED_LOCATION of an imported target must be
a full path, but OPENGL_gl_LIBRARY is just 'opengl32' on Windows because
the actual library file is in some implicit link directory that we may
know know.

More infrastructure will be needed in CMake to allow a name-only
imported library.  Until that exists, we will not be able to provide
imported targets in FindOpenGL.
2014-12-01 16:01:09 -05:00
Brad King
95b89e3fd3 Merge branch 'link-no-empty-response-files' into release 2014-12-01 13:59:41 -05:00
Brad King
9ea39ee04b Merge branch 'fix-implicit-lib-logging' into release 2014-12-01 13:59:36 -05:00
Brad King
1c5be1f367 Makefile: Do not create an empty linker response file
Since commit v3.1.0-rc1~821^2 (Windows: Use response files to specify
link libraries for GNU tools, 2014-03-04) we use a response file to pass
possibly long linker flag lists to the GNU linker on Windows.  On MinGW,
this may cause gfortran to use a response file to pass some flags to its
own internal invocation.  This is okay except when we are parsing
implicit link flags from the compiler ABI detection build.  If gfortran
uses a response file in that case then we may miss extracting some of
the implicit link flags, such as -lgfortran.  Fortunately, in the
compiler ABI detection case we do not actually link to anything so the
response file is empty.  Work around this problem by simply not using a
response file when the list of flags it is used to pass is empty (or
just whitespace).

Reported-by: Bill Somerville <bill@classdesign.com>
2014-12-01 13:49:26 -05:00
Brad King
20bf6971f5 CMakeParseImplicitLinkInfo: Fix implicit library logging
In commit v3.1.0-rc1~640^2~5 (Clean up usage of if(... MATCHES regex)
followed string(REGEX REPLACE regex), 2014-04-06) we accidentally broke
logging of the implicit library detection.  Restore use of the
intermediate 'lib' variable so that the log message is constructed
properly.

Reported-by: Bill Somerville <bill@classdesign.com>
2014-12-01 12:58:33 -05:00
Brad King
5062bf7488 Merge branch 'doc-ctest-j-typo' into release 2014-12-01 09:28:41 -05:00
Christopher Dembia
df53aafdac Help: Add missing space to ctest -j option description 2014-12-01 09:26:48 -05:00
Brad King
58d3898083 Merge branch 'target-sources-error-conditions' into release 2014-12-01 08:55:45 -05:00
Brad King
baa283f922 Merge branch 'fix-transitive-OBJECT_SOURCES-context' into release 2014-12-01 08:51:59 -05:00
Brad King
5445a99d1a Merge branch 'doc-installed-file-property' into release 2014-12-01 08:49:13 -05:00
Brad King
bde103afe0 Merge branch 'doc-CMP0053-dedup-char' into release 2014-12-01 08:49:08 -05:00
Brad King
89bb34d349 Help: Add 3.1 release notes for INSTALL property scope 2014-12-01 08:48:22 -05:00
Nils Gladitz
07254a8166 Help: Document installed file property API
Since commit v3.1.0-rc1~479^2~1 (Add an "installed file" property
scope, 2014-05-15) the get_property and set_property commands
support an 'INSTALL' scope.  Add documentation for this scope.
2014-12-01 08:48:19 -05:00
Brad King
a1aceb2585 Help: Format set_property and get_property command docs 2014-12-01 08:47:58 -05:00
Christoph Grüninger
191d2b209b Help: Remove duplicate '#' in CMP0053 valid character list 2014-12-01 08:32:51 -05:00
Stephen Kelly
8a75c7ef32 Help: Document the export limitation of INTERFACE_SOURCES. 2014-11-29 12:25:00 +01:00
Stephen Kelly
e134805666 Export: Disallow export of targets with INTERFACE_SOURCES
This can be allowed in the next release, but it needs to have some
features present and tested such as

* Ensuring that relative paths do not appear in the generated property.
* Ensuring that paths to the source or build directories do not appear.
* Generating a check in the file for CMake 3.1 or later so that the
    resulting property will be consumed.
* Ensuring that any referenced targets are part of an export set and
    generating a check for them.
* INSTALL_INTERFACE and BUILD_INTERFACE content.

All of these checks are already done for INTERFACE_INCLUDE_DIRECTORIES,
but it is too late to add them for INTERFACE_SOURCES for CMake 3.1.
As the checks introduce some new error conditions, it is better to
disallow exporting fully for this case and introduce proper error
conditions later instead of policies.
2014-11-29 12:24:59 +01:00
Stephen Kelly
bb5905bb13 cmTarget: Don't allow relative paths in INTERFACE_SOURCES
Follow the pattern of checks that are made for INTERFACE_INCLUDE_DIRECTORIES.
Existence is already checked by cmSourceFile::GetFullPath.  Add a check
to disallow relative paths in source directories. Otherwise code such as

 target_sources(lib1 INTERFACE foo.cpp)

would fail if consumed by a target in a different directory.

Unlike the INTERFACE_INCLUDE_DIRECTORIES behavior, we don't care whether
the entry comes from an IMPORTED target or not.  In the include directories
case, the directory for a non-imported target might not exist yet but
might be created.  In the sources case, a file which does not yet
exist in the filesystem must be explicitly marked with the GENERATED
property.

Adjust existing tests and add a new test for the error.
2014-11-29 12:24:59 +01:00
Brad King
d7e4bd34e0 Merge branch 'fix-source-case-matching' into release 2014-11-26 17:17:41 -05:00
Brad King
84d124e8f0 Fix lookup of source names after conversion to their actual case (#15259)
Since commit v3.1.0-rc1~688^2~15 (cmTarget: Add a method to obtain list of
filenames for sources, 2014-03-17) we have code paths that lookup sources by
strings containing their own full path after normalization to the actual case
on disk.  This fails in the case that a cmSourceFile has already been created
with a different case in the filename.  The comparison of the directory works
because it is always normalized.  Only the comparison of the file name fails.

Fix this by using a case-insensitive comparison of source file names on
platforms that do not have case-sensitive filesystems.
2014-11-26 17:03:40 -05:00