Commit Graph

6841 Commits

Author SHA1 Message Date
Brad King 4d6f0a5573 Merge topic 'revert-cpack-deb-package-description-fallback'
1ef45a30 Revert "CPack/DEB: Make package description variable precedence match RPM"
2016-09-26 09:06:39 -04:00
Brad King c6f07d06c6 Merge topic 'xcode-swift-version'
b35568f3 Xcode: Add option to set Swift language version
49d50ad4 Xcode: Port rudimentary Swift support to Xcode 8
2016-09-26 09:06:29 -04:00
Roman Wüger 06dea230ae CPack/NSIS: Add custom component install directory 2016-09-26 09:01:59 -04:00
Gregor Jasny 540815eec2 Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path
Starting with Xcode 8 the SDK folder also contains an unversioned
entry:

$ ls -l /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

drwxr-xr-x  5 root  wheel  170 Mar  4  2018 MacOSX.sdk
lrwxr-xr-x  1 root  wheel   10 Sep 16 20:49 MacOSX10.12.sdk -> MacOSX.sdk

If this unversioned path is used CMake cannot detect the SDK
version. To work around the problem we always invoke the code path
that translates short SDK names like "macosx10.12" into a path.
That way we always end up with a versioned SDK path in
_CMAKE_OSX_SYSROOT_PATH which is later used to determine the version.

Closes: #16323
2016-09-25 13:06:23 +02:00
Tatsuyuki Ishi 9bb8ac8ed2 FindBoost: update to 1.62 2016-09-25 16:53:03 +09:00
Domen Vrankar 1ef45a30aa Revert "CPack/DEB: Make package description variable precedence match RPM"
This reverts commit 332b089ad2 as multiline
descriptions require special formatting.
2016-09-24 12:05:06 +02:00
Brad King 49d50ad407 Xcode: Port rudimentary Swift support to Xcode 8
The `.pbxproj` file must now specify a `SWIFT_VERSION` value.
Set it to the legacy value of "2.3" for now.  Later this can
be made configurable (e.g. to "3.0").
2016-09-23 11:47:06 -04:00
Jamie Snape 7274fd9c19 FindMatlab: Add EXECUTABLE, MODULE, and SHARED options to matlab_add_mex 2016-09-23 09:28:27 -04:00
Jamie Snape ccd1341ac9 FindMatlab: Add SIMULINK component 2016-09-23 09:28:18 -04:00
Jamie Snape aaf4014c28 FindMatlab: Fix documentation 2016-09-23 09:28:09 -04:00
Brad King 3a883a9f7d Merge topic 'ninja-fortran'
33058150 Help: Document Ninja generator conditional Fortran support
59aae292 Ninja: Add dyndep rules for Fortran module dependencies
39ebfc79 Ninja: Add explicit preprocessing step for Fortran
9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies
8eca59a1 Ninja: Add comment with Fortran dependency design documentation
a57d1bb7 Ninja: Add API to check for dyndep support
0488ae63 Ninja: Refactor ninja feature detection
f0a23aa3 Ninja: Refactor Fortran rejection logic
2016-09-23 08:40:16 -04:00
Brad King 961536dc85 Merge topic 'CheckFortranSourceCompiles-custom-ext'
4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension
86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo
2016-09-23 08:40:13 -04:00
Brad King 4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King 86d2e4276d CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo 2016-09-22 14:47:34 -04:00
Brad King 39ebfc79e6 Ninja: Add explicit preprocessing step for Fortran
All Fortran sources need to be preprocessed before any source may be
compiled so that module dependencies can be (later) extracted.  Factor
out an explicit preprocessing step preceding compilation.  Use Ninja
depfile dependencies on the preprocessing step and then compile the
already-preprocessed source with a separate build statement that depends
explicitly only on the preprocessor output.  Later we will insert
dynamic discovery of module dependencies between these steps.
2016-09-22 13:53:09 -04:00
Brad King 0d8c5ba42a FindOpenSSL: Search in more-specific directories before less-specific
Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search
path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option
to `find_library` calls to consider all names in each directory before
moving on to the next directory.  Fix our library search directory
ordering to place more-specific (e.g. VC/) directories before the
general directories.  Otherwise they may never be considered.

Closes: #16320
2016-09-22 07:55:27 -04:00
Brad King 5c1ebec843 Merge topic 'cpack-rpm-policy-warnings'
edb3f6ee CPackRPM: Avoid CMP0007 warnings
2016-09-20 08:40:58 -04:00
Brad King 290d48ebc7 Merge topic 'cpack-rpm-srpm-package'
d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
2016-09-20 08:40:55 -04:00
Brad King 9dc5bd9611 Merge topic 'cpack.hash_computing'
1c63aa4d CPack: Add option to generate a checksum file next to each package file
4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
2016-09-20 08:40:52 -04:00
Brad King 8d83c9d100 Merge topic 'ifw-package-resources'
b807cd9b CPackIFW: Add 'cpack_ifw_add_package_resources' command
2016-09-20 08:40:49 -04:00
Brad King 8b0f246694 Merge topic 'ExternalProject-HTTP_HEADER'
5e6716db Help: Add notes for topic 'ExternalProject-HTTP_HEADER'
0f424c3d ExternalProject: Add HTTP_HEADER
2016-09-20 08:40:45 -04:00
Brad King 6a9b30aea3 Merge topic 'cuda_use_cudadevrt_with_separable_compilation'
891e0ebd FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
2016-09-20 08:40:42 -04:00
Domen Vrankar edb3f6eee4 CPackRPM: Avoid CMP0007 warnings
For older versions of CMake minimum required version CMP0007 policy
warning was printed out.
2016-09-20 08:30:29 -04:00
Domen Vrankar d9cec8adca CPack/RPM: Generate source rpm (SRPM) packages on demand
Closes: #15839
2016-09-20 08:24:28 -04:00
Robert Maynard 891e0ebdce FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
Issue: #15157
Patch-by: l0calh05t on gitlab.kitware.com
2016-09-20 08:04:30 -04:00
Konstantin Podsvirov b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Petr Orlov 1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Ruslan Baratov 0f424c3d07 ExternalProject: Add HTTP_HEADER 2016-09-19 16:05:12 +03:00
Brad King 31d63ac88c Merge topic 'doc-CPackIFW'
a327b206 CPackIFW: Format documentation
2016-09-19 08:55:15 -04:00
Brad King 34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Tamar Kranenburg 8dac3af03c FindPostgreSQL: Search for version 9.6 2016-09-18 16:39:18 +02:00
Tamar Kranenburg 84039a6aa2 FindPostgreSQL: Correct comment about known postgres versions 2016-09-18 16:39:18 +02:00
Brad King a327b20694 CPackIFW: Format documentation
Place command documentation in explicit markup blocks and remove
horizontal dividers.  Use definition lists and bullet lists as
appropriate.
2016-09-16 10:40:17 -04:00
Pierluigi Taddei c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King 3efb3c0012 Merge topic 'ExternalProject-http-credentials'
9cbd04be Help: Add notes for topic 'ExternalProject-http-credentials'
e1ca1173 ExternalProject: Add HTTP_{USERNAME,PASSWORD}
2016-09-16 10:21:11 -04:00
Brad King 7aa97b948f FeatureSummary: Add include() to examples
Since this module's documentation already includes complete usage
examples, make them more complete by showing the include() explicitly.

Issue: #16309
2016-09-15 11:34:34 -04:00
Brad King 46ded385c0 FeatureSummary: Format documentation
Revise the documentation using reStructuredText inline markup and
explicit blocks so that it formats well.
2016-09-15 11:33:24 -04:00
Brad King 5d17e99580 FeatureSummary: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-09-15 09:50:32 -04:00
Brad King 7c92c84302 FeatureSummary: Order function implementations the same as the documentation 2016-09-15 09:49:03 -04:00
Brad King 6f31436c91 Merge topic 'extend_matlab_unit_test'
4ebb4ae6 FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
2016-09-15 08:46:42 -04:00
Brad King 0b282335ab Merge topic 'fix-CMAKE_COMPILER_IS_GNU-confusion'
152bbe50 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
a6d3f541 Help: Clarify documentation of CMAKE_COMPILER_IS_GNU{CC,CXX,G77}
2016-09-15 08:46:30 -04:00
Ruslan Baratov e1ca117332 ExternalProject: Add HTTP_{USERNAME,PASSWORD} 2016-09-15 07:52:54 +03:00
Bill Hoffman 4ebb4ae6cf FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
Allow a custom matlab set of commands to be run as the test instead of
just `runtests('matlab_file_name')`.
2016-09-14 13:08:19 -04:00
Brad King 152bbe5068 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
It is not called `CMAKE_COMPILER_IS_GNUC` (without last `C`).

Closes: #16297
2016-09-14 10:12:30 -04:00
Yen Chi Hsuan c31573b964 FindPython{Interp,Libs}: Add version 3.7 2016-09-14 09:13:15 -04:00
Brad King b3b238c3cc Merge topic 'bzip2-imported-targets'
79eba4b7 Help: Add notes for topic 'bzip2-imported-targets'
069cac58 Tests: Add FindBZip2 unit tests
e9ce0503 FindBZip2: Add imported target
2016-09-12 09:31:41 -04:00
Brad King f27f6f8f3f Merge topic 'wix-feature-patch'
c0bccc51 CPackWIX: Enabled patching of WIX <Feature> tags
2016-09-12 09:31:35 -04:00
Roger Leigh e9ce050342 FindBZip2: Add imported target 2016-09-09 11:42:34 -04:00
Michael Stürmer c0bccc51df CPackWIX: Enabled patching of WIX <Feature> tags 2016-09-09 13:03:57 +02:00
Brad King 258b7b2833 GetPrerequisites: Recognize absolute paths to UCRT system libraries
The matching expression added by commit v3.5.0-rc1~33^2
(GetPrerequisites: Define api-ms-win-* files as system libraries,
2016-01-19) did not account for absolute paths to the UCRT libraries.
We already recognize absolute paths to the MSVC runtime libraries.
Do this for UCRT libraries too.

Issue: #16240
2016-09-08 10:24:01 -04:00
Brad King 988b3806b6 Merge topic 'vs-15-generator'
bdc679a8 VS15: Add Visual Studio 15 generator
a8936656 VS: Update v140 flag tables from VS 15 MSBuild files
21346d3f Features: Record features for VS 15 Preview 4
2016-09-08 09:36:54 -04:00
Brad King f9973166e8 ExternalData: Tolerate files duplicated across multiple targets
If multiple ExternalData_Target_Add calls generate the same output file
then we need to avoid calling add_custom_command multiple times with
that output.  This was already done within a single target by setting a
variable in the local function scope.  This will not be visible in other
calls though so we need to use a directory property instead to prevent
adding a custom command multiple times for one output in a directory.

Normally it is not safe to have multiple custom commands that produce
the same output file across multiple independent targets, but since we
use atomic replacement of outputs the resulting races should not be a
problem.  For the convenience of projects, tolerate this instead of
diagnosing it.  In particular, we previously allowed up to two copies
of the custom command in one directory because CMake has a fallback
from MAIN_DEPENDENCY to an `<output>.rule` file.

While at it, add a note to the documentation that typically only one
external data target should be needed for a project.

Reported-by: David Manthey <david.manthey@kitware.com>
2016-09-07 15:17:33 -04:00
Brad King 7f7e5eafd8 Merge topic 'GNUInstallDirs-function'
17a24dc3 GNUInstallDirs: Add macro to expose internal logic publicly
2016-09-07 09:48:38 -04:00
Brad King 8665332513 Merge topic 'cpack-deb-package-description-fallback'
332b089a CPack/DEB: Make package description variable precedence match RPM
2016-09-07 09:48:35 -04:00
Brad King 48b33b0633 Merge topic 'FindMatlab-fix-empty-list-index'
29768b03 FindMatlab: Avoid indexing an empty list of versions
2016-09-07 09:48:17 -04:00
Roger Leigh 17a24dc3b9 GNUInstallDirs: Add macro to expose internal logic publicly 2016-09-07 09:40:41 -04:00
Domen Vrankar 332b089ad2 CPack/DEB: Make package description variable precedence match RPM
Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence
match CPackRPM behavior as much as possible.  This is technically a
breaking change, but the new behavior is more consistent with
expectation anyway.

Closes: #16272
2016-09-07 09:33:35 -04:00
Brad King 21346d3f12 Features: Record features for VS 15 Preview 4 2016-09-06 10:22:39 -04:00
Brad King 9109ba4347 Merge topic 'test-GenerateExportHeader-with-RunCMake'
72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat
fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure
4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
2016-09-06 08:51:01 -04:00
Brad King 29768b03ea FindMatlab: Avoid indexing an empty list of versions 2016-09-06 08:39:38 -04:00
Brad King 4feba34d02 GNU: Do not use -fvisibility on AIX or HP-UX
Use of `-fvisibility=hidden` warns:

  warning: visibility attribute not supported in this configuration; ignored
2016-09-05 09:45:13 -04:00
Domen Vrankar 4ffdd564eb CPack/DEB: Add option to select archive type
Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an
archive type that supports long file names.

Closes: #14332
2016-09-05 09:24:45 -04:00
Brad King 44efb0a747 Merge topic 'FindHDF5-is-parallel'
b61eab24 FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
2016-09-03 08:10:12 -04:00
Brad King 61b99cdeaa Merge topic 'FindHDF5-fix-hl-fortran'
befe8648 FindHDF5: Fix regression in finding hdf5hl_fortran
2016-09-03 08:10:09 -04:00
Brad King befe8648a3 FindHDF5: Fix regression in finding hdf5hl_fortran
Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching
to correctly find HL for all bindings, 2016-05-12) accidentally dropped
the name `hdf5hl_fortran` from the list of library names and replaced it
with `hdf5_hl_fortran`.  IIUC the latter name is when HDF5 is built with
CMake and the former name is for other build systems.  Since this is the
non-CMake code path, user the former name.

Closes: #16233
2016-09-02 15:09:47 -04:00
Brad King b61eab249f FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
Since commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler
wrappers, 2016-04-01) we have additional code paths that find HDF5 and
suppress the original search logic.  Report HDF5_IS_PARALLEL from these
other code paths too.

Closes: #16257
2016-09-02 15:06:52 -04:00
Brad King 0cbaaf2dc3 GenerateExportHeader: Fix add_compiler_export_flags regression
The mechanical conversion in commit 5d0d980d (Use string(APPEND) in
Modules, 2016-07-28) accidentally introduced use of

  string(APPEND ... PARENT_SCOPE)

Split that into the string(APPEND) and set(PARENT_SCOPE) pieces.
2016-09-01 15:33:49 -04:00
Brad King 0c46750d2c Merge topic 'FindEXPAT-use-PkgConfig'
fc695a77 FindEXPAT: use hints from PkgConfig
2016-09-01 10:39:43 -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 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
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
Raffi Enficiaud bf09271b65 FindMatlab: adding handling of component "MAT"
- documentation
- test
- cosmetic changes
2016-08-30 14:50:20 +02:00
Brad King 41f03f5fa7 Merge topic 'cpack-rpm-debuginfo-pkg'
426f97d3 CPack/RPM: Add test for debuginfo package generation
bc8c0add CPack RPM debuginfo packages generation
2016-08-26 09:45:36 -04:00
Istvan Bodnar bc8c0add7f CPack RPM debuginfo packages generation
Added new variable to CPackRPM for debuginfo rpm package
generation. Binaries will be checked for debug symbols.
2016-08-25 18:36:09 +02:00
Brad King 20d7da5276 FindwxWidgets: Add VS-versioned library directory prefixes
Add Visual Studio version number (supported: VS2008 to VS2015) to
WX_LIB_DIR_PREFIX (old: vc / vc_x64; new: vc120 / vc120_x64).

Patch-by: Hannes Grobler (Johnny_xy on gitlab.kitware.com)
2016-08-25 11:26:34 -04:00
Brad King 4ef8a205ed FindwxWidgets: Add version 3.1.0
Patch-by: Hannes Grobler (Johnny_xy on gitlab.kitware.com)
2016-08-25 11:25:38 -04:00
Brad King 96de37092a Merge topic 'android-platform-modules'
7b637ebd Android: Add `ANDROID` variable to indicate the target
c2f561e5 Android: Add test cases covering use of the NDK and standalone toolchains
6b84df8d Help: Document cross compiling for Android
d7d40830 Android: Select the STL type for NDK builds
b22294bc Android: Populate compiler flags for current ABI
b6a3102a Android: Add a CMAKE_BUILD_TYPE default
d1e3cec2 Android: Add Clang -target option for current ABI
504db72d Android: Add placeholders for compiler/abi-specific settings
fa632578 Android: Avoid interfering with common pre-existing toolchain files
6299693f Android: Search for NDK and standalone toolchain in more places
29b51379 Android: Detect and save a standalone toolchain without the NDK
7d9b49fb Android: Detect settings from the CMAKE_SYSROOT if it is set
4389664a Android: Detect and save a toolchain from the NDK
328191f6 Android: Set CMAKE_SYSROOT automatically
9e032304 Android: Detect and save the architecture, ABI, and processor
fde59c4d Android: Detect and save the API level
...
2016-08-24 09:45:50 -04:00
Brad King 7b637ebdc9 Android: Add `ANDROID` variable to indicate the target
Allow projects to use `if(ANDROID)` to condition their Android-specific
code paths.
2016-08-23 13:10:51 -04:00
Brad King d7d4083025 Android: Select the STL type for NDK builds
Populate standard include directories and link libraries for the
platform.  Select the STL corresponding to CMAKE_ANDROID_STL_TYPE and
matching the current ABI and toolchain to be used.  Refer to the NDK
sources/cxx-stl/*/Android.mk files for the needed file locations.
2016-08-23 12:53:10 -04:00
Brad King b22294bc41 Android: Populate compiler flags for current ABI
Initialize the CMAKE_{C,CXX}_FLAGS{,_<CONFIG>} cache entries with
flags for each ABI as specified by NDK toolchain `setup.mk` files.
2016-08-23 12:51:58 -04:00
Boris Fomitchev 2dc9a754b5 FindCUDA: Support `2.1(2.0)` architecture notation
Also tweak some messages and comments.
2016-08-23 10:47:27 -04:00
Peter Boettcher 7ded655f7b FindCUDA: Take NVCC include directories from target properties
Fixes issue where include directories specified on the target are
not passed on to NVCC.  This includes both target_include_directories()
as well as include directories added by dependency chaining.

Closes: #14201
2016-08-16 14:16:35 -04:00
Brad King e240a7c017 Merge topic 'ExternalProject-SOURCE_SUBDIR'
a8345d65 ExternalProject: Add SOURCE_SUBDIR option
2016-08-16 13:26:22 -04:00
Brad King 074d098ffb Merge topic 'FindMatlab-mingw'
8ba204a6 FindMatlab: Use pre-built libraries for MinGW if needed
2016-08-16 13:26:19 -04:00
Brad King 447b142b6a Merge topic 'issue-tracker-urls'
2bdba83e issues: update references to the CMake issue tracker
2016-08-16 13:26:15 -04:00
Matthew Woehlke a8345d65f3 ExternalProject: Add SOURCE_SUBDIR option
Add a new SOURCE_SUBDIR option to ExternalProject_Add that allows
specifying the location of the CMakeLists.txt to use as the project root
relative to the SOURCE_DIR.

This is helpful for projects that have unusual layouts, or projects that
provide both a superbuild and project-only build depending on which
CMakeLists.txt is used.

Fixes: #15118
2016-08-16 13:18:18 -04:00
Ben Boeckel 2bdba83e4b issues: update references to the CMake issue tracker
References to specific comments are left as-is since comments were not
migrated.
2016-08-15 09:34:06 -04:00
Sebastian Niemann 8ba204a696 FindMatlab: Use pre-built libraries for MinGW if needed 2016-08-15 09:28:54 -04:00
Brad King 7fe5c79dd0 Merge topic 'FindCUDA-fixes'
1aa5c1be FindCUDA: Fix missing librt on Linux when using static cuda runtime.
aab1f6e9 FindCUDA: Restore default behavior of CUDA_USE_STATIC_CUDA_RUNTIME
2016-08-15 08:59:48 -04:00
Brad King d47abe40b6 Merge topic 'GetPrerequisites-fix-regression'
a2d5c25a GetPrerequisites: Fix regression in gp_resolved_file_type
2016-08-15 08:59:43 -04:00
Brad King b6a3102a9f Android: Add a CMAKE_BUILD_TYPE default
Android NDK builds are always `debug` or `release`.  We may populate
flags for these configurations that are needed to produce compatible
binaries.  Ensure they are used by default.
2016-08-12 10:40:54 -04:00
Brad King d1e3cec2aa Android: Add Clang -target option for current ABI 2016-08-12 10:40:54 -04:00
Brad King 504db72d99 Android: Add placeholders for compiler/abi-specific settings
The Android NDK source repository at

  https://android.googlesource.com/platform/ndk.git

has `<ndk>/build/core/toolchains/*/setup.mk` files that store tables of
information for their build system.  Add an equivalent file for each
compiler/abi combination.
2016-08-12 10:40:54 -04:00
Brad King fa63257821 Android: Avoid interfering with common pre-existing toolchain files
Commonly used Android toolchain files that pre-date CMake upstream
support may need to be updated to work with our new functionality.
They typically set CMAKE_SYSTEM_VERSION to 1, so detect that and
skip our upstream Android settings.  When such toolchain files are
updated to account for our upstream support, they can then set
CMAKE_SYSTEM_VERSION to a valid Android API and get new behavior.
2016-08-12 10:40:54 -04:00
Brad King 6299693f8a Android: Search for NDK and standalone toolchain in more places
Commonly used Android toolchain files that pre-date CMake upstream
support use a few environment and CMake variables as search locations.
Use them too to aid transition.
2016-08-12 10:40:53 -04:00
Brad King 29b51379de Android: Detect and save a standalone toolchain without the NDK 2016-08-12 10:40:53 -04:00