7536 Commits

Author SHA1 Message Date
Christian Pfeiffer
4eb15824b3 Windows-PGI: Add platform definitions
PGI on Windows should use the Visual C++ linker and librarian and not
the ar provided for legacy reasons. The compiler parameters themselves
are the same as their Linux parameters and not compatible to MSVC
however.
2017-05-20 20:02:51 +02:00
Christian Pfeiffer
a94ae96e6e Windows-PGI: Adapt default compiler flags
PGI demands -Bdynamic (/MD equivalent) for linking together dynamic
libraries, so we should make it our default mirroring the settings of
e.g. Visual C++ and Intel C++.
2017-05-20 20:02:51 +02:00
Christian Pfeiffer
c2c2d36619 ImplicitLinkInfo: Add support for PGI on Windows
Since PGI does not write linker directives into objects, the necessary
libraries have to be parsed from commandline. PGI does however link the
Visual C++ runtime libraries, so they have to be filtered out to ensure
no collision with settings of other languages can occur.
2017-05-20 20:02:43 +02:00
Brad King
793b223c02 Merge topic 'getprerequisites-fix'
e0e414d6 GetPrerequisites: Only recurse on resolved unseen prerequisites

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !804
2017-05-12 09:13:37 -04:00
Brad King
592206a157 Merge topic 'add_cuda_cxx14_flag'
036ffe81 CUDA: Add support for the C++14 standard flag.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !830
2017-05-12 09:13:19 -04:00
Guillaume Dumont
e0e414d659 GetPrerequisites: Only recurse on resolved unseen prerequisites
I encountered an issue where not all prerequisites would be listed by
`get_prerequisites` since some of the prerequisites cannot be resolved
and are added to the list of unseen prerequisites.  This has the side
effect of clearing the list of `prerequisites_var` and thus removes some
prerequisites from the list.  Fix it.
2017-05-11 16:12:38 -04:00
Brad King
5d13fe2822 Features: Record features for SunPro C 5.13 and 5.14 2017-05-11 15:59:48 -04:00
Robert Maynard
036ffe815a CUDA: Add support for the C++14 standard flag.
CUDA 9 toolkit has announced support for C++14 flag, so lets allow users
to use it.
2017-05-11 13:42:42 -04:00
Brad King
20c838da6b Merge topic 'sunpro-fpp-fix'
1cd40bd2 SunPro: Use -fpp to process all files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !826
2017-05-11 09:59:47 -04:00
Christian Pfeiffer
1cd40bd226 SunPro: Use -fpp to process all files
By using only -F, SunPro does not process files that don't have a .F or
.F90 extension. This means that the preprocess rules don't quite work as
expected, for instance breaking the Ninja generator's behavior during
cmake_ninja_depends.
2017-05-10 19:33:48 +02:00
Chuck Atkins
67c9f47901 PGI: Fix typo in compiler version test for language standards 2017-05-10 12:25:44 -05:00
Brad King
8cc9e07a2c Merge topic 'sunpro-c++11-link'
d49aa107 Features: On SunPro link feature check with lang std flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !818
2017-05-10 09:36:16 -04:00
Brad King
d49aa10768 Features: On SunPro link feature check with lang std flag
Follow up commit e17b179184 (Features: On SunPro link with language
standard compiler flag, 2017-04-28) to apply the same fix to the feature
checks.  The `try_compile` used for these is intentionally not using
`CXX_STANDARD`-based logic so that it can test the individual flags.
2017-05-09 11:22:18 -04:00
Christian Pfeiffer
80ca9ac84b FindOpenMP: Cache compilation results 2017-05-08 18:52:48 +02:00
Christian Pfeiffer
ec5c6bc9bc FindOpenMP: Refine list of flags to try 2017-05-08 18:26:17 +02:00
Brad King
141b8ccf2c Merge topic 'f2c-int-fix'
93f119ed FortranCInterface: Add support for PGI on Windows
2cfea104 FortranCInt: Pass CONFIG flags to try_compile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !802
2017-05-08 09:54:11 -04:00
Brad King
0361ca52f6 Merge topic 'nag-fortran-version'
d47190ba NAG: Detect compiler version of NAG Fortran
d52a4256 NAG: Extend compiler tool selection with NAG Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: Tom <tom.clune@nasa.gov>
Merge-request: !809
2017-05-08 09:50:20 -04:00
Brad King
b05688db47 Merge topic 'pgi-rdynamic-fix'
fb31229e Linux-PGI: Prevent -rdynamic ending up in flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !808
2017-05-08 09:49:12 -04:00
Brad King
2f087606b7 Merge topic 'pgi-fix-linux'
d59e3509 Do not assume GCC libs are linked by all compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !800
2017-05-08 09:48:19 -04:00
Brad King
9fe8abbe03 Merge topic 'FindOpenCL-AMDAPPSDKROOT'
b259fe84 FindOpenCL: Add missing PATHS keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !807
2017-05-08 09:47:35 -04:00
Christian Pfeiffer
93f119ed25 FortranCInterface: Add support for PGI on Windows 2017-05-06 16:36:33 +02:00
Christian Pfeiffer
2cfea104a6 FortranCInt: Pass CONFIG flags to try_compile
This change ensures that Intel Fortran's /libs: in
CMAKE_Fortran_FLAGS and Visual C++'s /MT or /MD in the
CMAKE_C_FLAGS_RELEASE do not conflict with each other.
2017-05-06 16:36:24 +02:00
Christian Pfeiffer
fb31229e99 Linux-PGI: Prevent -rdynamic ending up in flags
Ensure that PGI on Linux keeps its
CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS empty, especially of -rdynamic.
In CMakeFortranInformation a lot of flags will be copied from their C
equivalents if they're not defined. By using a combination of GCC and
PGFortran, this will lead to -rdynamic ending up in the PGI flags and
none of the PGI compilers understand that flag, crashing with a fatal
error.
2017-05-05 17:30:11 +02:00
Christian Pfeiffer
d59e350985 Do not assume GCC libs are linked by all compilers
Not all compilers link libgcc and libgcc_s causing trouble when linking
C++ code with instance PGI Fortran and C compilers.
2017-05-05 17:26:29 +02:00
Tom Clune
d47190ba46 NAG: Detect compiler version of NAG Fortran
Fixes: #16817
2017-05-05 11:08:37 -04:00
Tom Clune
d52a4256b2 NAG: Extend compiler tool selection with NAG Fortran
Add `nag` and `nagfor`.
2017-05-05 10:31:09 -04:00
Kirill Mavreshko
b259fe84ab FindOpenCL: Add missing PATHS keyword
The change in commit b888104e44 (FindOpenCL: add AMDAPPSDKROOT into
paths for OpenCL library, 2017-05-03) accidentally left out the `PATHS`
keyword.  Without it properly installed AMD APP SDK (OpenCL) cannot be
detected.  Tested on Ubuntu 16.04.
2017-05-05 10:19:19 -04:00
Brad King
5a9f1b87c3 Merge topic 'add-more-sunpro-c-flags'
1a09a7d9 SunPro: Add more flags for C language standards

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !803
2017-05-05 09:47:57 -04:00
Brad King
718f0c24f7 Merge topic 'findjava-openjdk9'
f5a3ec4d FindJava: Add support for OpenJDK early access builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !797
2017-05-05 09:45:30 -04:00
Chuck Atkins
1a09a7d992 SunPro: Add more flags for C language standards 2017-05-04 14:10:07 -04:00
Brad King
30cb24f39c Merge topic 'sunpro-5.14'
f15f905b Features: Record standards and features for SunPro 5.14

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !795
2017-05-04 11:33:38 -04:00
Bryan Donlan
f5a3ec4d76 FindJava: Add support for OpenJDK early access builds
OpenJDK 9 early access builds use a version string of "9-ea", and
locally built installations use "9-internal", neither of which is
currently accepted by the FindJava macro.  Map those versions to "1.9".
If the final released version is "9.0" the version interpretation could
be changed to match at that time.
2017-05-04 10:49:17 -04:00
Brad King
a83250880a Merge topic 'FindOpenCL-AMDAPPSDKROOT'
b888104e FindOpenCL: add AMDAPPSDKROOT into paths for OpenCL library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !792
2017-05-04 10:31:47 -04:00
Brad King
f15f905bab Features: Record standards and features for SunPro 5.14
Oracle Studio 12.5 adds support for C 11 and associated standard flags.
It also adds a few more C++ 11 features.
2017-05-03 13:13:43 -04:00
Jeremy Tellaa
b888104e44 FindOpenCL: add AMDAPPSDKROOT into paths for OpenCL library
This path was only looked up for windows.  The AMD SDK also exists for
Linux, and we may want to use the OpenCL library for there.
2017-05-03 11:53:25 -04:00
Brad King
1fe2dc5ef2 Merge topic 'ipo-xcode'
7e75568b Xcode: Support IPO (LTO)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !785
2017-05-03 11:04:17 -04:00
Brad King
bf3c08d648 Merge topic 'port-language-default-to-common-macro'
d9089876 AppleClang: Use common compiler macros for language standard default
174c02e1 SunPro: Use common compiler macros for language standard default
08fa2ba8 Clang: Use common compiler macros for language standard default
0198502f Intel: Use common compiler macros for language standard default
d1aa2b3f GNU: Use common compiler macros for language standard default
87b9d6d9 XL: Use common compiler macros for language standard default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !787
2017-05-03 11:01:12 -04:00
Ruslan Baratov
7e75568b00 Xcode: Support IPO (LTO) 2017-05-02 18:33:25 +03:00
Chuck Atkins
0225417f60 PGI: Fix typo in logic for C standard flags 2017-05-02 10:08:56 -04:00
Chuck Atkins
d908987634 AppleClang: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Chuck Atkins
174c02e149 SunPro: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Chuck Atkins
08fa2ba8d0 Clang: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Chuck Atkins
0198502ff4 Intel: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Chuck Atkins
d1aa2b3f60 GNU: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Chuck Atkins
87b9d6d93f XL: Use common compiler macros for language standard default 2017-05-02 09:49:23 -04:00
Brad King
a9e48968bb Merge topic 'add-language-standards-to-more-compilers'
9b97cb55 PGI: Add language standards for PGI
daae564d Cray: Add language standards for the Cray compiler
25e83ce5 CompileFeatures: Let STD compile options be a list
1de70845 Compilers: Add common macros to be used by various compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !784
2017-05-02 08:24:06 -04:00
Brad King
96a8b68d5a Merge topic 'sunpro-c++11-link'
e17b1791 Features: On SunPro link with language standard compiler flag
d037be12 cmLocalGenerator: Add a hook for compiler flags used at link time
b115bc49 Features: Refactor <LANG>_STANDARD update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !783
2017-05-02 08:20:38 -04:00
Brad King
96ad8fe608 Merge topic 'FindMatlab-2017a'
6f04dffb FindMatlab: Add support for Matlab 2017a

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !780
2017-05-02 08:18:52 -04:00
Chuck Atkins
9b97cb5562 PGI: Add language standards for PGI 2017-05-01 15:15:30 -04:00
Chuck Atkins
daae564d87 Cray: Add language standards for the Cray compiler 2017-05-01 15:15:30 -04:00