Commit Graph

32650 Commits

Author SHA1 Message Date
Brad King c03a7b4f51 CTestCustom: Suppress scan-build warnings in libuv
Clang scan-build warns in some expansions of RB_GENERATE_STATIC
that it has a "Dereference of null pointer".  It also warns that
"The left operand of '==' is a garbage value" strangely.  Simply
suppress these since this is third-party code anyway.
2016-09-03 07:56:13 -04:00
Brad King 3825a56493 libuv: Simplify variable initializations to satisfy Clang scan-build
The Clang scan-build tool warns about assignments whose values are never
used, so initialize local variables at declaration instead.
2016-09-01 11:10:18 -04:00
Brad King 0c46750d2c Merge topic 'FindEXPAT-use-PkgConfig'
fc695a77 FindEXPAT: use hints from PkgConfig
2016-09-01 10:39:43 -04:00
Brad King d7ca93f619 Merge topic 'FindCUDA-fixes'
900ee0b8 FindCUDA: Allow cuda_compile* macros to be called more than once per directory
6442709b FindCUDA: Fix for broken cuda_compile* commands.
2016-09-01 10:39:31 -04:00
Brad King 06b7789d4d Merge topic 'install-directory-genex-fix'
3bd55dba install: Fix evaluation of leading generator expressions in DIRECTORY
2016-09-01 10:39:19 -04:00
Kitware Robot d5bdcee737 CMake Nightly Date Stamp 2016-09-01 00:01:03 -04:00
Christoph Junghans fc695a776b FindEXPAT: use hints from PkgConfig 2016-08-31 11:52:11 -06:00
Stephen Sorley 900ee0b800 FindCUDA: Allow cuda_compile* macros to be called more than once per directory
Added a counter as a directory property that gets incremented every time one
of the cuda_compile* macros is called. The value of this counter is then added
to the phony target name passed to CUDA_WRAP_SRCS. This ensures that every call
to one of these macros has its own unique intermediate output directory.
2016-08-31 11:53:01 -04:00
Stephen Sorley 6442709bae FindCUDA: Fix for broken cuda_compile* commands.
The macros CUDA_COMPILE, CUDA_COMPILE_PTX, CUDA_COMPILE_FATBIN, and
CUDA_COMPILE_CUBIN were broken by commit 7ded655 (FindCUDA: Take NVCC
include directories from target properties, 2016-08-16).  This bug is
due to the fact that all of these macros call CUDA_WRAP_SRCS with a
target name that's not an actual target, causing the new generator
expressions to fail.

Fix the bug by changing these macros to pass "PHONY" to CUDA_WRAP_SRCS.
Now, when CUDA_WRAP_SRCS sees "PHONY", it falls back to the old behavior
of populating the include directories and compile definitions from
directory properties, instead of using target generator expressions.
2016-08-31 11:52:43 -04:00
Brad King 901a06021e Merge topic 'doc-XCODE-variable'
3e8615ef Document XCODE variable
2016-08-31 10:43:35 -04:00
Yves Frederix 3bd55dba7c install: Fix evaluation of leading generator expressions in DIRECTORY
Since commit v3.5.0-rc1~58^2 (install: Allow generator expressions in
DIRECTORY, 2016-01-12) we accidentally treat leading generator
expressions as relative paths even though they may evaluate to absolute
paths.  Defer the conversion to an absolute path until after evaluation.
2016-08-31 09:33:39 -04:00
Brad King 0a2d0b126c Merge topic '16101-xcode-fix-directory-exclude-from-all'
df32e564 Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101)
2016-08-31 09:19:46 -04:00
Brad King a9affa07cd Merge topic 'FindOpenSSL-new-windows-names'
ed1758f8 FindOpenSSL: Fix detection of OpenSSL 1.1 Win32/64
2016-08-31 09:19:44 -04:00
Brad King 7a25220776 Merge topic 'fortran-macOS-sysroot'
d6f96207 Fortran: Use -isysroot and -mmacosx-version-min= on macOS if available
2016-08-31 09:19:40 -04:00
Brad King 0820c78508 Merge topic 'FindMatlab-additional-components'
bf09271b FindMatlab: adding handling of component "MAT"
2016-08-31 09:19:37 -04:00
Brad King 5b1f9cd127 Merge topic 'syntax-unexpected-eof'
1dda2ec5 Improve error message on unexpected end of file
2016-08-31 09:19:34 -04:00
Brad King 6f8b93983a Merge topic 'import-libuv'
39ac889d cmake: Add trivial usage of libuv
7cf369fe Do not build libuv on HP-UX
075cae51 Do not build libuv on SPARC
9a53af40 Do not build libuv on Cygwin
219f7411 Do not build libuv on Mac OS X 10.4 and lower
8a5beef3 Add option to build CMake against a system libuv
e56aa462 FindLibUV: Add module to find libuv package
551d5aed libuv: Fix unused variable warning in uv_loop_close
f4f8074b libuv: Avoid including macOS CoreServices header globally
a63aaaed libuv: Always include our own header first
9130b53a libuv: Conditionally declare Windows APIs for VS 2008 and below
b52afa46 libuv: Fix anonymous union syntax
05dbc204 libuv: Fix Windows API function typedef syntax
75139374 libuv: Install LICENSE file with CMake documentation
95dcc4e4 libuv: Disable warnings to avoid changing 3rd party code
13b7e758 libuv: Build the library within CMake
...
2016-08-31 09:19:31 -04:00
Brad King 59d559af2e Merge topic 'drop-linux-i386-binary'
b82d027b Utilities/Release: Drop Linux 32-bit binary
2016-08-31 09:19:28 -04:00
Gregor Jasny df32e564ae Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101) 2016-08-31 09:16:44 -04:00
Brad King 39ac889d63 cmake: Add trivial usage of libuv
This will serve to make sure cmake actually compiles and links against
libuv.
2016-08-31 09:09:23 -04:00
Brad King 7cf369fe27 Do not build libuv on HP-UX
Some work may be needed to port to HP-UX.
2016-08-31 09:09:23 -04:00
Brad King 075cae5147 Do not build libuv on SPARC
Some work may be needed to port to SPARC with Solaris and Linux.
2016-08-31 09:05:15 -04:00
Brad King 9a53af4068 Do not build libuv on Cygwin
Currently libuv does not support Cygwin (see libuv issue 832)
in part due to lack of pthread APIs:

  https://cygwin.com/cygwin-api/std-notimpl.html
2016-08-31 09:05:15 -04:00
Brad King 219f741128 Do not build libuv on Mac OS X 10.4 and lower
It needs APIs that have been available only since 10.5.
Also check that the CoreServices header can be included.
2016-08-31 09:05:14 -04:00
Brad King 8a5beef32e Add option to build CMake against a system libuv
Create a CMAKE_USE_SYSTEM_LIBUV option.
2016-08-31 09:05:14 -04:00
Brad King e56aa46297 FindLibUV: Add module to find libuv package
Add it to a private source directory that is not installed so that we
can use it for building CMake itself.  This will allow it to mature
before being distributed publicly.
2016-08-31 09:05:14 -04:00
Brad King 551d5aedbf libuv: Fix unused variable warning in uv_loop_close 2016-08-31 09:05:14 -04:00
Brad King f4f8074bec libuv: Avoid including macOS CoreServices header globally
We only need the availability macros in `unix/internal.h`.  We already
include CoreServices where needed in implementation files.
2016-08-31 09:05:13 -04:00
Brad King a63aaaed05 libuv: Always include our own header first 2016-08-31 09:05:13 -04:00
Brad King 9130b53a5e libuv: Conditionally declare Windows APIs for VS 2008 and below 2016-08-31 09:05:13 -04:00
Brad King b52afa4655 libuv: Fix anonymous union syntax 2016-08-31 09:05:13 -04:00
Brad King 05dbc204cd libuv: Fix Windows API function typedef syntax 2016-08-31 09:05:12 -04:00
Brad King 75139374f0 libuv: Install LICENSE file with CMake documentation
When we install using the bundled libuv source, notify users of its
license terms.
2016-08-31 09:05:12 -04:00
Brad King 95dcc4e474 libuv: Disable warnings to avoid changing 3rd party code
Add '-w' or equivalent flag on compilers supporting it.
Tell MSVC to use its lowest warning level inside libuv sources.
2016-08-31 09:05:12 -04:00
Brad King 13b7e7587d libuv: Build the library within CMake
Take logic from upstream `Makefile.am` and `configure.ac` to build libuv
sources.

Update `uv.h` to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).

Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h`
header from CMake sources.
2016-08-31 09:02:19 -04:00
Brad King d96416fe48 Merge branch 'upstream-libuv' into import-libuv
* upstream-libuv:
  libuv 2016-08-30 (897738b1)
2016-08-31 09:01:07 -04:00
libuv upstream 3a713eaaf7 libuv 2016-08-30 (897738b1)
Code extracted from:

    https://github.com/libuv/libuv.git

at commit 897738b160cd5950503a96c9fd5b1e9aab92b0ff (v1.x).
2016-08-31 09:01:04 -04:00
Brad King 3800fc299f Add script to update libuv from upstream 2016-08-31 08:53:38 -04:00
Ruslan Baratov 3e8615ef9c Document XCODE variable 2016-08-31 14:17:51 +03:00
Kitware Robot 9bbf1dc06e CMake Nightly Date Stamp 2016-08-31 00:01:04 -04:00
Brad King 1dda2ec55a Improve error message on unexpected end of file
Suggested-by: Stephen Kelly <steveire@gmail.com>
2016-08-30 13:53:15 -04:00
Alexis Murzeau ed1758f8eb FindOpenSSL: Fix detection of OpenSSL 1.1 Win32/64
Since OpenSSL 1.1.0, Windows binaries are libcrypto and libssl instead of
the old names libeay32 and ssleay32.
When using MSVC, FindOpenSSL was searching for the old lib names only so
this add the new names to be able to find OpenSSL 1.1.0 libraries.

For example, the files in lib directory of OpenSSL 1.1.0 Win64 :
 - libcrypto.lib
 - libssl.lib
 - VC/libcrypto64MD.lib
 - VC/libcrypto64MDd.lib
 - VC/libcrypto64MT.lib
 - VC/libcrypto64MTd.lib
 - VC/libssl64MD.lib
 - VC/libssl64MDd.lib
 - VC/libssl64MT.lib
 - VC/libssl64MTd.lib

32 bits OpenSSL has the same files with "32" instead of "64" for files in
VC directory.

MinGW still works and use lib/libcrypto.lib and lib/libssl.lib.

This patch also add libssl and libcrypto for other windows compilers too (like
Intel).
2016-08-30 10:51:25 -04:00
Brad King d6f96207c3 Fortran: Use -isysroot and -mmacosx-version-min= on macOS if available
Closes: #16265
2016-08-30 10:37:21 -04:00
Brad King b82d027b45 Utilities/Release: Drop Linux 32-bit binary
The Linux distro we've been using for this is so old that it limits our
ability to import newer third-party software.  Until a new machine can
be configured to provide this binary we can simply drop it.  Users will
still be able to build from source or use a distro-provided version.
2016-08-30 09:48:39 -04:00
Brad King e3a4c2e02c Merge topic 'cleanup-Convert'
4332131d Convert: Make variables a bit more clear
5aca066c Convert: Remove UNCHANGED enum value
146bf926 Convert: Remove 'FULL' conversion
58ba87f8 Convert: Replace Convert(FULL) with equivalent
e80314d7 Ninja: Replace ternary with if()
563ac22a Convert: Replace trivial conversion with new method
08be47cf Convert: Replace UNCHANGED conversions with new API call
564d3a1d Convert: Extract ConvertToRelativePath from Convert()
95a659f1 Convert: Replace FULL conversions with equivalent
a8c7ccb1 VS: Replace FULL/UNCHANGED conversion with equivalent
5ad25ef4 Convert: Remove NONE conversion
ac463841 Convert: Replace uses of Convert(NONE)
998d9ee9 VS: Replace variable with an if()
ee49f006 Makefiles: Replace ternaries with if()s
51f7dcb0 Makefiles: Inline MakeLauncher into only caller
ba4ba7c3 Makefiles: Simplify MakeLauncher return value
...
2016-08-30 09:29:53 -04:00
Brad King ef58e97362 Merge topic 'vs-NsightTegra-empty-version'
1f4aeb17 VS: Fix out-of-bounds write on empty Nsight Tegra version
2016-08-30 09:29:49 -04:00
Brad King 388a40942b Merge topic 'code-blocks-include-order'
38995d19 CodeBlocks: List C++ includes first
2016-08-30 09:29:43 -04:00
Brad King 918cb5b1f0 Merge topic 'ninja-add_custom_command-depfile'
048d1adb add_custom_command: Add DEPFILE option for Ninja
2016-08-30 09:29:40 -04:00
Kulla Christoph 048d1adb4e add_custom_command: Add DEPFILE option for Ninja
Provide a way for custom commands to inform the ninja build tool about
their implicit dependencies.  For now simply make use of the option an
error on other generators.

Closes: #15479
2016-08-30 09:05:18 -04:00
Raffi Enficiaud bf09271b65 FindMatlab: adding handling of component "MAT"
- documentation
- test
- cosmetic changes
2016-08-30 14:50:20 +02:00