Commit Graph

6733 Commits

Author SHA1 Message Date
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 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
Brad King 7d9b49fbdf Android: Detect settings from the CMAKE_SYSROOT if it is set 2016-08-12 10:40:53 -04:00
Brad King 4389664a26 Android: Detect and save a toolchain from the NDK 2016-08-12 10:40:53 -04:00
Brad King 328191f65f Android: Set CMAKE_SYSROOT automatically
Compute CMAKE_SYSROOT automatically for the current API and architecture
selection.  This causes the --sysroot option to be passed to GNU and
Clang compilers.
2016-08-12 10:40:52 -04:00
Brad King 9e032304ea Android: Detect and save the architecture, ABI, and processor
Add new CMakeSystem.cmake entries for the architecture and ABI.
Store the processor in CMAKE_SYSTEM_PROCESSOR.
2016-08-12 10:40:52 -04:00
Brad King fde59c4d88 Android: Detect and save the API level
Store the Android API level in CMAKE_SYSTEM_VERSION.  If it is not
provided by the user, initialize it from CMAKE_ANDROID_API or fall back
to finding the latest available in the NDK.
2016-08-12 10:40:52 -04:00
Brad King 52b6effd81 Android: Detect and save the NDK directory
Add a new CMakeSystem.cmake entry for the NDK location.
2016-08-12 10:40:52 -04:00
Brad King 8e0cb45e55 Android: Suppress new functionality with Nsight Tegra in VS IDE builds
Support for NVIDIA Nsight Tegra Visual Studio Edition was previously
implemented in the CMake VS IDE generators.  Avoid interfering with
that functionality for now.  Later we may try to integrate this.
2016-08-12 10:40:52 -04:00
Brad King d5e7d5f3eb Android: Add placeholders for platform-specific initialization
Add infrastructure modules to be loaded when initializing builds
targeting Android platforms.
2016-08-12 10:40:51 -04:00