Commit Graph

34697 Commits

Author SHA1 Message Date
Brad King
ac66dec5c5 Merge branch 'fix_csharp_custom_targets' into release 2017-03-07 09:30:46 -05:00
Michael Stürmer
bd8b5401cf VS: Do not treat custom targets as CSharp targets
Fixes: #16697
2017-03-07 09:30:27 -05:00
Brad King
6856c659ef Merge branch 'revert-CTestTestfile-removal' into release 2017-03-06 13:47:49 -05:00
Brad King
7cb89f6732 Merge branch 'FindVulkan-fix-win-32' into release 2017-03-06 13:47:44 -05:00
Matthäus G. Chajdas
723955cd2b FindVulkan: Fix for SDK versions < 1.0.42 on 32-bit Windows
Before Vulkan 1.0.42, the SDK would add the Bin directory to `PATH`,
which was confusing the 32-bit search on Windows.  Avoid such confusion
by ignoring the `PATH` when looking for the 32-bit version.

Vulkan 1.0.42 fixed the whole problem by moving the libraries into Lib,
Lib32, so this is strictly a compatibility fix for old SDKs.
2017-03-06 13:32:41 -05:00
Brad King
c1ba262a97 Merge branch 'FindHDF5-fix-definitions' into release 2017-03-06 12:58:43 -05:00
Kris Thielemans
ea2a8dd268 FindHDF5: Restore -D in HDF5_DEFINITIONS
Changes in commit v3.8.0-rc1~7^2~5 (FindHDF5: Fix command-line parsing
argument extraction order, 2017-02-02) accidentally dropped `-D` from
preprocessor definition flags extracted from the HDF5 compiler wrappers.

Fixes: #16693
2017-03-06 12:48:49 -05:00
Brad King
485685fdd9 Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF"
This reverts commit v3.8.0-rc1~305^2 (Remove CTestTestfile.cmake when
BUILD_TESTING is OFF, 2016-11-14).  It breaks projects that never enable
testing but create their own `CTestTestfile.cmake` manually instead.
2017-03-06 11:31:19 -05:00
Brad King
e1adec32b8 CMake 3.8.0-rc2 2017-03-03 08:29:09 -05:00
Brad King
9f37f94d63 Merge branch 'FindJNI-archlinux-jvm-paths' into release 2017-03-03 08:16:10 -05:00
Kitsu
d0ada3e218 FindJNI: Add jvm paths for Arch Linux 2017-03-03 08:14:34 -05:00
Brad King
3e06cdc19b Merge branch 'FindVulkan-update' into release 2017-03-02 10:03:57 -05:00
Brad Davis
8e58f360f5 FindVulkan: Update for LunarG SDK import library location on Windows
As of at least 1.0.42 of the LunarG SDK, the `vulkan-1.lib` import
library on Windows is stored in `${VULKAN_SDK}/Lib` or
`${VULKAN_SDK}/Lib32`.
2017-03-02 10:02:20 -05:00
Brad King
8d1af9cad2 Merge branch 'implicit-dir-symlinks' into release 2017-03-02 08:38:21 -05:00
Brad King
fce6233d8b Merge branch 'csproj_add_free_source_tags' into release 2017-03-02 08:38:16 -05:00
Brad King
69528fe65f Tests: Add case for RPATH exclusion of symlinks to implicit directories
Issue: #16682
2017-03-02 08:36:32 -05:00
Brad King
f3102ca884 Merge branch 'backport-implicit-dir-symlinks' into implicit-dir-symlinks 2017-03-02 08:36:13 -05:00
Brad King
c3fb650c85 cmOrderDirectories: Consider symlinks when checking implicit directories
When checking whether a directory is "implicit" (e.g. implicit link
directory or implicit rpath directory), resolve the real path of both
sides of the comparison.  Otherwise we will not recognize paths like
`/usr/lib32` as implicit when `/usr/lib` is implicit and `lib32` is
actually a symlink to `lib`.  This can lead to addition of unnecessary
entries to the RPATH of a binary, for example.

Fixes: #16682
2017-03-02 08:35:48 -05:00
Michael Stürmer
506207f928 VS: add test for VS_CSHARP_* source file property 2017-03-01 15:31:05 -05:00
Michael Stürmer
a202749c46 VS: add CSharpUtilities module 2017-03-01 15:31:05 -05:00
Michael Stürmer
9588d0a2e2 VS: add VS_CSHARP_<tagname> sourcefile property 2017-03-01 15:31:05 -05:00
Brad King
b1a37362b8 cmOrderDirectories: Factor out implicit directory check 2017-03-01 12:39:18 -05:00
Brad King
baed38107e Merge branch 'find-libarch-not-symlink' into release 2017-02-28 15:57:54 -05:00
Brad King
6f5aede716 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
The `FIND_LIBRARY_USE_LIB<arch>_PATHS` global properties ask
`find_library` to look in `lib<arch>` directories automatically before
corresponding `lib` directories.  However, if `lib<arch>` is just a
symlink to `lib` (or vice-versa) then we should skip adding the
`lib<arch>` path.  Such symlinks typically only exist to satisfy
software that expects the `lib<arch>` path to be available.

Fixes: #16687
2017-02-28 14:56:54 -05:00
Brad King
e67963ed73 cmFindLibraryCommand: Refactor AddArchitecturePath logic
Use boolean variables to save results and rename variables to more
closely represent their roles.
2017-02-28 14:56:13 -05:00
Brad King
220b799c8a Merge branch 'kwiml-test-gcc-format-security' into release 2017-02-27 13:47:34 -05:00
Orion Poplawski
4ca77bb6db KWIML: Add -Wno-format-security to tolerate -Werror=format-security
When compiling KWIML tests with `-Werror=format-security` we get

    error: -Wformat-security ignored without -Wformat

Therefore we should disable both `format` and `format-security`
together.
2017-02-27 13:47:00 -05:00
Brad King
dab2ff3e23 Merge branch 'ExternalProject-checkout-clarify' into release 2017-02-24 13:22:45 -05:00
Brad King
a9fa6a2c77 ExternalProject: Run git checkout with -- to clarify arguments
Fix the case when the tag name to be checked out also happens to match a
path name.

Fixes: #16678
2017-02-24 13:22:40 -05:00
Brad King
ad3bf56dd2 Merge branch 'object-library-compile-pdb' into release 2017-02-24 11:31:46 -05:00
Brad King
feff52d42c Fix COMPILE_PDB_NAME when used on an OBJECT library
When `COMPILE_PDB_NAME` is used without `COMPILE_PDB_OUTPUT_DIRECTORY`
we cannot fall back on the link `PDB_OUTPUT_DIRECTORY` for an object
library because it has no link step.

Fixes: #16674
2017-02-24 11:26:52 -05:00
Brad King
8ea060f960 Merge branch 'ninja-no-full-path' into release 2017-02-24 10:50:21 -05:00
Brad King
666ad1df2d Revert "Ninja: Use full path for all source files"
This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all
source files, 2016-08-05).  Unfortunately using absolute paths can
cause incorrect rebuilds due to ninja limitations.  The ninja
manual [1] explains:

> ... using absolute paths, your depfile may result in a mixture of
> relative and absolute paths. Paths used by other build rules need
> to match exactly.

Passing an absolute path to a source file to the compiler while using a
relative path in the ninja build manifest can cause such mixture and
lead to incorrect rebuilds.  Simply revert the change for now.

Note that there was a follow-up to the original change in commit
v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with
cmcldeps, 2016-10-13).  We don't need to revert that because that
change made the relevant code cleverly adapt to whatever variable
we use to reference the source file.

[1] https://ninja-build.org/manual.html#_deps

Fixes: #16675
Issue: #13894
2017-02-24 10:15:50 -05:00
Brad King
5eb4d9d80b Merge branch 'vcxproj-indentation' into release 2017-02-23 14:01:05 -05:00
Brad King
2cb165e8c0 VS: Fix .vcxproj indentation
In commit v3.8.0-rc1~87^2~1 (VS: added support for C#, 2017-01-09) we
removed what looked like a no-op streaming operation but in fact it
is responsible for applying indentation.  Restore the line.
2017-02-23 13:38:47 -05:00
Brad King
25480ffbf6 Merge branch 'clang-format-attrs' into release 2017-02-22 17:00:58 -05:00
Brad King
d5f39a56a4 clang-format.bash: Use Git attributes to mark files for formatting 2017-02-22 16:59:26 -05:00
Brad King
f6986ee479 Define a custom Git attribute to mark sources using our C style 2017-02-22 16:53:29 -05:00
Brad King
2256c3a7db Define a custom Git attribute to mark source files as generated 2017-02-22 16:53:26 -05:00
Brad King
970fe6ec2f Merge branch 'doc-cmake-language-makefile-vars' into release 2017-02-22 16:50:18 -05:00
Michael Maltese
1dc1301925 Help: Clarify 'make-style' variable references in cmake-language(7)
Fixes: #16661
2017-02-22 13:39:09 -08:00
Brad King
4734c3e6db Merge branch 'FindCUDA-fix-init' into release 2017-02-22 10:35:55 -05:00
Bjoern Thiel
934eb497f2 FindCUDA: Fix PTX selection with multiple architectures 2017-02-22 10:35:44 -05:00
Brad King
e9e8a5dc08 Merge branch 'vs2017-fallback-sdk' into release 2017-02-21 14:05:59 -05:00
Brad King
2da0838c64 VS2017: If Win 8.1 SDK is not available, use Win 10 SDK
We try to choose the Windows SDK version based on the version of Windows
targeted by the build.  However, if using VS 2017 without the Windows
8.1 SDK installed then we must fall back to the Windows 10 SDK even when
targeting an older version of Windows.

Inspired-by: gnaggnoyil <gnaggnoyil@gmail.com>
2017-02-21 13:47:54 -05:00
Brad King
fe8f5b54f5 Merge branch 'ExternalProject-update-docs' into release 2017-02-21 11:11:27 -05:00
Brad King
0f6ebb5c0f Merge branch 'cuda-separable-bool' into release 2017-02-21 11:11:22 -05:00
Brad King
0b6afec62b Merge branch 'FindGTK2-old-sigc++' into release 2017-02-21 11:11:13 -05:00
Brad King
c95d017f9c ExternalProject: Clarify documented role of INSTALL_DIR
It does not actually configure the project to install to the given
location.  That must be done by passing the `<INSTALL_DIR>` placeholder
to the external project configuration step.
2017-02-21 10:32:26 -05:00
Wilfried Goesgens
4b21290e20 ExternalProject: Clarify documented role of INSTALL_COMMAND
It is for the install step of the external project and does not
affect installation of the calling project.
2017-02-21 10:32:25 -05:00