Commit Graph

6574 Commits

Author SHA1 Message Date
Boris Fomitchev 7229ae728f FindCUDA: Refactor Android(Tegra) support
Reviewed-by: James Bigler <jamesbigler@gmail.com>
2016-06-09 09:25:55 -04:00
Boris Fomitchev e9bfe8da04 FindCUDA: Adjust vertical whitespace 2016-06-09 09:24:40 -04:00
Brad King 5aa89a1ae0 Merge topic 'java-export-targets'
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
2016-06-09 09:18:17 -04:00
Matthew Woehlke 0bd91ad405 UseJava: Fix race condition creating java class list
Modify logic to unconditionally create an empty class list response file
to instead only create the empty file if no classes are being compiled.
Otherwise, the response file is created via a custom command that
generates the correct list.

This fixes a race condition on certain systems (e.g. HFS on OS X) where
the dependency for creating the "correct" list can have the "same" (due
to limited precision of the filesystem) timestamp as the empty file
created at configure time, resulting in an empty class list being
incorrectly used to invoke `jar` (resulting in `jar` being unhappy that
it was not given any input files). Although one would have some hope
that this doesn't affect "real" projects, it definitely does affect the
JavaExportImport unit test, causing the same to fail randomly when run
on an HFS partition.
2016-06-09 09:12:15 -04:00
Stuart Mentzer 746a424573 FindFreetype: Factor out common find command arguments 2016-06-09 08:55:24 -04:00
Vladimír Vondruš e937b4c387 FindOpenSSL: Do not assume that the version regex finds something
BoringSSL's openslv.h does not have the version information.
2016-06-09 08:51:01 -04:00
Brad King fb8b8dd106 Merge topic 'add-FindVulkan'
adf4df28 Add FindVulkan.cmake.
2016-06-08 12:56:07 -04:00
Matthäus G. Chajdas adf4df28ca Add FindVulkan.cmake.
This adds FindVulkan with corresponding tests.
2016-06-08 12:44:03 -04:00
Roger Leigh 132b898968 FindBZip2: Search for additional bz2d debug library name 2016-06-07 22:46:40 +01:00
Matthew Woehlke 5341c0d84a UseJava: Add infrastructure to export targets
Add additional functions to UseJava.cmake to create "exported" targets,
similar to those of C/C++ libraries. In support of this, ensure that the
JAR_FILE property of jar targets is always an absolute path.
2016-06-07 08:50:35 -04:00
Brad King 9b15a15fe9 Merge topic 'SunOS-PathScale'
fcfe121f Platform: add flag definitions for PathScale compiler on SunOS (#16135)
2016-06-07 08:34:07 -04:00
Brad King d546456765 Merge topic 'productbuild'
63e5eb5f Help: Add notes for 'productbuild' topic
2e3c67d1 productbuild: Add new productbuild cpack generator.
50a3d340 PackageMaker: factor out common code for creating pkg files.
2016-06-06 11:19:20 -04:00
Brad King c3b268e40d Merge topic 'FindBoost-vs-prebuilt'
c3a281fd FindBoost: Search in official Windows prebuilt binary library directory
3720d5f4 FindBoost: Test `CMAKE_CXX_COMPILER_{ID,VERSION}` instead of `MSVC*`
2016-06-06 09:20:07 -04:00
Brad King ab7d649fae Merge topic 'FindLibArchive-3.2'
38d18bab FindLibArchive: Support libarchive 3.2 version string format
2016-06-06 09:20:03 -04:00
Brad King cd1327bb9c Merge branch 'SunOS-PathScale' into release 2016-06-06 09:01:00 -04:00
Michał Górny fcfe121fd8 Platform: add flag definitions for PathScale compiler on SunOS (#16135) 2016-06-06 08:58:20 -04:00
Clinton Stimpson 2e3c67d1b6 productbuild: Add new productbuild cpack generator.
This cpack generator basically replaces the obsolete PackageMaker generator.
2016-06-03 14:41:57 -06:00
Brad King 236b7cbe6e Merge branch 'FindLibArchive-3.2' into release 2016-06-03 13:27:34 -04:00
Orion Poplawski 38d18bab54 FindLibArchive: Support libarchive 3.2 version string format 2016-06-03 13:18:03 -04:00
Alex Turbov c3a281fd32 FindBoost: Search in official Windows prebuilt binary library directory
Avoid the need to specify `BOOST_LIBRARYDIR` along with `BOOST_ROOT`
when using prebuilt binaries such as these:

  https://sourceforge.net/projects/boost/files/boost-binaries/
2016-06-03 11:15:02 -04:00
Alex Turbov 3720d5f4a3 FindBoost: Test `CMAKE_CXX_COMPILER_{ID,VERSION}` instead of `MSVC*` 2016-06-03 11:11:38 -04:00
Brad King 0663dbf133 Merge topic 'minor-cleanups'
f6c21894 Modules: Rename internal platform-specific compiler determination modules
0c7951a9 cmLocalGenerator: Consolidate conditions in AddArchitectureFlags
2016-06-03 10:45:59 -04:00
Brad King 2f1d82bd7b Merge topic 'cpack-nsis-remove-duplicate-include'
e847b6c8 CPack/NSIS: Remove duplicate include from NSIS.template.in (#16132)
2016-06-03 10:45:54 -04:00
Brad King e3f7637659 Merge topic 'FindOpenCL-imported-target'
b66d4739 FindOpenCL: Add an imported target
2016-06-03 10:45:48 -04:00
Brad King 4b7834467c Merge topic 'compiler-id-with-bracket-in-path'
a7d1c4ec CMakeDetermineCompilerId: Fix compiler id with square brackets in the path
2016-06-03 10:45:46 -04:00
Brad King 6f1f7965af Merge topic 'fix-ti-link-order'
89317915 Compiler/TI: Pass libraries as last part to linker
2016-06-03 10:45:43 -04:00
Brad King 9703b32c1c Merge branch 'FindHDF5-fix-already-found' into release 2016-06-02 14:56:09 -04:00
Chuck Atkins f11243d13e FindHDF5: Add backwards compatability for already-found searches 2016-06-02 14:46:32 -04:00
Brad King a7d1c4ec3f CMakeDetermineCompilerId: Fix compiler id with square brackets in the path
We use file(GLOB) to load the list of files produced by compiling the
compiler identification source.  Encode square brackets in the path to
the directory so that they are not treated as special characters in the
globbing expression.  Otherwise we fail to find any files when the path
contains square brackets and the compiler id is unknown.

Reported-by: Esch Nigma <eschnigma@openmailbox.org>
2016-06-02 14:32:07 -04:00
Brad King e847b6c864 CPack/NSIS: Remove duplicate include from NSIS.template.in (#16132)
In commit v2.6.0~3438 (ENH: Better support for adding and removing path,
2006-04-27) an include of "WinMessages.NSH" was added without removing
the original include.  Remove it now.
2016-06-02 11:49:44 -04:00
Brad King f6c2189495 Modules: Rename internal platform-specific compiler determination modules
Rename Modules/Platform/<os>-<lang>.cmake files to
Modules/Platform/<os>-Determine-<lang>.cmake to clarify their role.
For compatibility with user-provided modules, load the old names
if they exist.
2016-06-02 09:51:43 -04:00
Alexander Stein 89317915d9 Compiler/TI: Pass libraries as last part to linker
If e.g. libc.a is passed before any objects the linker raises the follwing
warning: cannot resolve archive libc.a to a compatible library, as no
input files have been encountered
In the end the library is skipped and missing symbols occur.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
2016-06-02 09:39:25 -04:00
Matthäus G. Chajdas b66d4739b5 FindOpenCL: Add an imported target 2016-06-02 08:46:43 -04:00
Brad King 62adedbf5e Merge topic 'UseJava-fix-typo'
bcf39688 UseJava: Fix grammar error in documentation
2016-06-01 09:05:58 -04:00
Domen Vrankar 20e55e4be8 CPackRPM and CPackDeb documentation improvements 2016-06-01 08:29:34 -04:00
Matthew Woehlke bcf3968851 UseJava: Fix grammar error in documentation 2016-05-31 10:30:57 -04:00
Brad King 07983bcbfa Merge topic 'osx-no-warn-sdk-target-mismatch'
cffe0ed7 OS X: Drop warning about SDK and deployment target version mismatch
2016-05-27 09:08:15 -04:00
Brad King 579185be7a Merge topic 'cpack-dmg-no-app-link'
3acc29fc CPack/DragNDrop: Optionally disable `/Applications` symlink
2016-05-26 09:52:07 -04:00
Brad King 903bcbc39e Merge topic 'FindCUDA-cublas_device'
81e73b72 FindCUDA: Add support for finding the cublas_device library
2016-05-26 09:52:04 -04:00
Brad King 7bfcfd59fb Merge topic 'FindMatlab-2016a'
715e4cf5 FindMatlab: Add support for Matlab 2016a (9.0)
2016-05-26 09:51:58 -04:00
Brad King b86bcd4046 Merge topic 'GetPrerequisites-more-paths'
c9cebed5 GetPrerequisites: Look for VS tools using registry entries (#16108)
2016-05-26 09:51:56 -04:00
Brad King cffe0ed798 OS X: Drop warning about SDK and deployment target version mismatch
OS X supports using the SDK for any version equal to or newer than
the deployment target.  There is no reason to warn if the versions
do not match exactly.

Suggested-by: James Burgess <jamesrburgess@mac.com>
Suggested-by: Clinton Stimpson <clinton@elemtech.com>
2016-05-26 09:20:28 -04:00
Harry Mallon 3acc29fca9 CPack/DragNDrop: Optionally disable `/Applications` symlink 2016-05-25 09:51:04 -04:00
James Sharpe 81e73b7240 FindCUDA: Add support for finding the cublas_device library 2016-05-25 09:42:25 -04:00
Brad King 9ebc209288 Merge topic 'FindCUDA-flags-genex'
6b190b5c FindCUDA: Add support for generator expressions in CUDA_NVCC_FLAGS
2016-05-25 09:34:26 -04:00
Chuck Atkins 6b190b5c52 FindCUDA: Add support for generator expressions in CUDA_NVCC_FLAGS
Follow the configure_file by a file(GENERATE) so the resulting cmake
scripts used by FindCUDA for wrapping nvcc calls can now support
generator expressions in the CUDA_NVCC_FLAGS variable.
2016-05-25 09:31:35 -04:00
Francesco Romano 715e4cf57c FindMatlab: Add support for Matlab 2016a (9.0) 2016-05-25 09:08:32 -04:00
Brad King c9cebed5d8 GetPrerequisites: Look for VS tools using registry entries (#16108) 2016-05-25 09:00:33 -04:00
Brad King a98a699987 Merge topic 'cpack-deb-different-package-names'
adbd3985 CPack/Deb possibility to change package name
2016-05-24 13:54:03 -04:00
Brad King 384de98709 Merge topic 'cpack-deb-component-depends'
4f3b9706 CPack/Deb prevent accidental component dependencies
2016-05-24 13:54:00 -04:00
Brad King 185be83815 Merge topic 'ExternalProject-fix-stash-all'
2bc981e6 ExternalProject: Fix git stash not using "--all" option
2016-05-24 13:53:58 -04:00
Brad King 7d5355a21a Merge topic 'doc-CPACK_DMG_FORMAT'
239367f0 CPackDMG: Document CPACK_DMG_FORMAT default
2016-05-24 13:53:55 -04:00
Domen Vrankar 4f3b97063f CPack/Deb prevent accidental component dependencies
Prevent accidental inter component dependency setting
since this is a breaking feature in situations where
another CPack module is already using the feature.
It should be enabled if desired since it can cause
issues when upgrading only one of the components
for e.g. configuration instead of all the components
at once.
2016-05-23 20:21:32 +02:00
Domen Vrankar adbd3985f8 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.
2016-05-23 19:55:46 +02:00
Harry Mallon 239367f036 CPackDMG: Document CPACK_DMG_FORMAT default 2016-05-23 13:27:02 -04:00
Konstantin Podsvirov 06ca7795f4 CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL option 2016-05-23 19:09:03 +03:00
Konstantin Podsvirov 222fa595cd CPackIFW: Doc decoration 2016-05-23 19:09:03 +03:00
Christian Fetzer 2bc981e669 ExternalProject: Fix git stash not using "--all" option
GIT_VERSION_STRING is unset in _ep_write_gitupdate_script(), hence
git stash is not being called with the "--all" option, even if Git
is new enough to support this.
2016-05-21 11:41:34 +02:00
Brad King 94b9ead117 Merge topic 'FindCUDA-fp16'
cc95001b FindCUDA: Detect and report FP16 support
2016-05-20 09:15:57 -04:00
Ruslan Baratov 89113e125d ExternalProject: Re-implement download logic as a dedicated script
Move the content to a `ExternalProject-download.cmake.in` file and use
`configure_file` to generate the final script.

Retry logic was not working before because similar script trigger
FATAL_ERROR if 'file(DOWNLOAD ...)' exits with nonzero 'status_code'.
FATAL_ERROR makes the whole chain of commands stop and
'_ep_write_verifyfile_script' retry logic was not used in fact.

Default retry number set to 5 with pauses 0, 5, 5, 15, 60 seconds. Some
space left for future improvements if needed (90, 300, 1200=20min). Can
be controlled by user.
2016-05-19 11:20:50 -04:00
Ruslan Baratov e7d5e4b4bf ExternalProject: Re-implement download verification as a dedicated script
Move the content to a `ExternalProject-verify.cmake.in` file and use
`configure_file` to generate the final script.
2016-05-19 11:20:25 -04:00
Ruslan Baratov ebcc70271d ExternalProject: Avoid repeating download verification
Verify step for downloaded files will be performed in separate script.
2016-05-19 11:15:59 -04:00
Ruslan Baratov 33218f6a93 ExternalProject: Remove unused verify script logic
The logic to re-run the download script will be moved elsewhere.
2016-05-19 11:01:12 -04:00
Ruslan Baratov e5409d1e0f ExternalProject: Remove unused 'retries' argument from verify script
There is no retries for local files and retry logic is broken for downloads.
Will be implemented in '*-download.cmake' script.
2016-05-19 10:58:08 -04:00
Ruslan Baratov d610407cca ExternalProject: Use uppercase placeholders for script generation
Use uppercase variables for future 'configure_file' command.
2016-05-19 10:54:33 -04:00
Boris Fomitchev cc95001b1c FindCUDA: Detect and report FP16 support
Reviewed-by: James Bigler <jamesbigler@gmail.com>
2016-05-19 10:52:32 -04:00
Brad King 43a456e135 Merge topic 'ExternalProject-UPDATE_COMMAND-always'
bdca6838 ExternalProject: Always run update step with non-empty UPDATE_COMMAND
2016-05-19 10:41:24 -04:00
Brad King bdca68388b ExternalProject: Always run update step with non-empty UPDATE_COMMAND
The purpose of the `update` step is to run an update on each build
(subject to `UPDATE_DISCONNECTED`).  This is done for version-controlled
source directories.  We should do it for a custom `UPDATE_COMMAND` too.
In particular, when `UPDATE_DISCONNECTED` is used we expect the
`skip-update` step to exist.
2016-05-18 14:54:25 -04:00
Konstantin Podsvirov 41199f8c1e CPackIFW: Add support for Promoting Updates
Add support for this feature added by QtIFW 2.0.3:

  http://doc.qt.io/qtinstallerframework/ifw-updates.html

Add a `cpack_ifw_update_repository` command as porcelain.
2016-05-18 09:49:14 -04:00
Konstantin Podsvirov 6ca6b0dd7b CPackIFW: Add more known QtIFW releases 2016-05-18 09:41:42 -04:00
Brad King 570d689776 Merge topic 'ghs-shorter-object-names'
d7233a04 GHS: Use shorter object file names on collision
2016-05-18 09:30:55 -04:00
Geoff Viola d7233a0472 GHS: Use shorter object file names on collision 2016-05-18 09:27:19 -04:00
Matthew Hanna 5a21557b33 AIX,HP: Allow user to override the default runtime path (libpath)
The `CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH` is used by CMake to always
append `-Wl,-blibpath:/usr/lib:/lib` to the link line.  This is needed
by default on these platforms but needs to be overridden in some use
cases (e.g. an environment in which one maintains versioned shared
libraries).  Change our logic to set this value only if it not already
set by the user, project, or toolchain file.
2016-05-17 13:36:29 -04:00
Kitware Robot d9fd2f5402 Revise C++ coding style using clang-format
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2016-05-16 16:05:19 -04:00
Brad King d082810949 Merge topic 'boost-component-headers'
c2e8d515 FindBoost: Add checks for component-specific headers
2016-05-16 10:11:43 -04:00
Brad King 1ba8067618 Merge topic 'boost-1.61'
328eff90 FindBoost: Update dependencies for Boost 1.61
2016-05-16 10:11:41 -04:00
Brad King 856804f9a9 Merge topic 'findpkgconfig-target'
df97b979 FindPkgConfig: optionally create imported target for the found libraries
2016-05-16 10:11:38 -04:00
Brad King d3db070e9e Merge topic 'cpack-rpm-adding-dist-to-release-tag'
f5089cfc CPack/RPM adding dist to release tag test
f7003a60 CPack/RPM release dist tag support
2016-05-16 10:11:35 -04:00
Brad King bc7598fde0 Merge topic 'cpack-rpm-different-package-names'
44ee2d71 CPack/RPM different package names
2016-05-16 10:11:32 -04:00
Brad King 2b25174da6 Merge topic 'cpack-deb-improvements'
4461e8bb CPack/Deb cpack-deb-improvements release notes
7e940bf7 CPack/Deb test changes due to breaking changes
3b648894 CPack/Deb package release number in file name
316dd613 CPack/Deb proper package file naming
271e03f0 CPack/Deb per-component package architecture
23baaf8d CPack/Deb inter package dependencies
3a55a0e7 CPack/Deb proper component packages file naming
c7f388e7 CPack/Deb generation of postinst and postrm ldconfig files
2d589653 CPack/Deb generation of DEBIAN/shlibs control file
2016-05-16 10:11:30 -04:00
Roger Leigh c2e8d5150e FindBoost: Add checks for component-specific headers
This supplements the existing library checks, to
cater for the possibility that the libraries are
present but the headers are not.  This can happen
when the Boost collections is split up into
multiple packages and not all are installed,
and will avoid the checks silently passing when
the build would subsequently fail.
2016-05-16 09:57:46 -04:00
Domen Vrankar 44ee2d717a CPack/RPM different package names
Packagers may now set their own rpm package
file names or request that rpmbuild tool
chooses one for them. It also supports handing
of situations where one spec file may produce
multiple rpm packages.
2016-05-15 03:01:34 +02:00
Harry Mallon f7003a6055 CPack/RPM release dist tag support
Some Linux distros require Release tag
to be set to <ReleaseVersion><Dist>.
2016-05-14 20:21:32 +02:00
Rolf Eike Beer df97b9793f FindPkgConfig: optionally create imported target for the found libraries 2016-05-14 09:31:41 +02:00
Roger Leigh 328eff90eb FindBoost: Update dependencies for Boost 1.61 2016-05-13 19:39:41 +01:00
Domen Vrankar 3b64889436 CPack/Deb package release number in file name
Debian packages file naming format must contain
revision number - package release number
(breaks compatibility with previous versions)
2016-05-13 10:46:04 -04:00
Domen Vrankar 316dd61367 CPack/Deb proper package file naming
Proper Debian packages file naming for single package
setup (breaks compatibility with previous versions)
2016-05-13 10:46:04 -04:00
Alexander Smorkalov 271e03f089 CPack/Deb per-component package architecture
Allowed to set per-compoment Debian package architecture.
Useful, if you distribute documentation (should have
"all architecture").
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 23baaf8d73 CPack/Deb inter package dependencies
In multi-component setup dependencies
between packages are set (breaking change)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 3a55a0e72c CPack/Deb proper component packages file naming
Proper Debian packages file naming for multi-component setup
(breaks compatibility with previous versions)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov c7f388e723 CPack/Deb generation of postinst and postrm ldconfig files
DEBIAN/postinst and DEBAIN/postrm files generation if
the package installs libraries in ldconfig controlled
location (/lib/, /usr/lib/)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 2d5896530b CPack/Deb generation of DEBIAN/shlibs control file
DEBIAN/shlibs control file generation if the package
contains libraries
2016-05-13 10:46:02 -04:00
Brad King 131c00ee7e Merge topic 'fix-hdf5-component-search'
fdfb0c06 HDF5: Rework component searching to correctly find HL for all bindings
2016-05-13 09:54:08 -04:00
Chuck Atkins fdfb0c0649 HDF5: Rework component searching to correctly find HL for all bindings 2016-05-12 13:54:58 -04:00
Brad King 6b0b066074 InstallRequiredSystemLibraries: Optionally install Windows UCRT (#16073) 2016-05-12 11:10:23 -04:00
Brad King bbf8c03b4f InstallRequiredSystemLibraries: Fix ENV{ProgramFiles(x86)} reference
The fix in commit v3.1.0-rc1~544^2~5 (Windows: Avoid () in environment
variable references, 2014-05-02) introduced a set() command in the
middle of an argument list.  Move it to before the find_path() call.
2016-05-12 11:08:40 -04:00
Michał Górny 25845b10d8 CMakeParseImplicitLinkInfo: Exclude pathcc ldfe lines (#16100)
PathScale uses a wrapper around the linker.  The "ldfe" invocation in
the output is followed by a normal "ld" invocation.  Exclude the former
so we can reach and parse the latter correctly.
2016-05-11 15:06:59 -04:00
Brad King 1a02780483 Merge topic 'FindLua-homebrew'
25f34dea FindLua: Add library name for Lua 5.3 on homebrew
2016-05-10 14:40:47 -04:00
Brad King 3b3afefb90 Merge topic 'fix-hdf5-for-compiler-wrapers'
00405af0 HDF5: Refactor the use of compiler wrappers
2016-05-10 14:40:45 -04:00
Chuck Atkins 00405af0f1 HDF5: Refactor the use of compiler wrappers
* Make work with HDF5 compiler wrappers as the primary compiler (Cray)
 * Accept options used by compiler wrappers instead of just seeding
   search parameters
 * Only search for libraries if the first 2 fail
2016-05-09 10:20:39 -04:00