Commit Graph

9427 Commits

Author SHA1 Message Date
Brad King
da0937c04f Merge topic 'swift-response'
9e5457d3b4 Ninja,Swift: correct response file handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3367
2019-05-28 11:50:28 -04:00
Brad King
56fec2fe8f Merge topic 'FindICU-find-names'
59c392b44e FindICU: Pass explicit NAMES argument to find command calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3371
2019-05-28 11:49:17 -04:00
Brad King
540640fc0a Merge topic 'FindBoost-contract-requires-compile-features'
b915a42585 FindBoost: Add compiler features for Boost Contract library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3368
2019-05-28 11:42:12 -04:00
Brad King
59c392b44e FindICU: Pass explicit NAMES argument to find command calls
This improves readability and avoids an undocumented signature variant.

Fixes: #19302
2019-05-24 10:31:35 -04:00
Alex Turbov
b915a42585 FindBoost: Add compiler features for Boost Contract library 2019-05-24 07:13:56 -04:00
Saleem Abdulrasool
9e5457d3b4 Ninja,Swift: correct response file handling
The response file was being written but not used due to the wrong
variable being configured for Swift.  Swift does compile+link in a
single phase and does not use the `<OBJECTS>` placeholder.  Use the
`<SWIFT_SOURCES>` placeholder instead for the response file substitution
which serves the same purpose.
2019-05-23 14:05:37 -07:00
Ben Boeckel
32e4f236b7 ARMClang: fix policy manipulation in the compiler module
Policies have their own scoping and cannot be set within a function
without affecting callers.
2019-05-23 09:19:59 -04:00
Brad King
22df62b58d Merge topic 'swift-flag-variables'
24223ac84b Modules: add Swift MSVC_RUNTIME_LIBRARY flags
7e636fd8e0 Modules: add `CMAKE_Swift_FRAMEWORK_SEARCH_FLAG`
0fbf936b46 Modules: remove `CMAKE_INCLUDE_FLAG_SEP_Swift`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3353
2019-05-23 09:02:55 -04:00
Brad King
5222400d9f Merge topic 'FindPython-find_strategy'
8517b549f4 FindPython: Add policy to manage lookup stratgey default.
9f205acefe FindPython: Implement lookup strategies.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3354
2019-05-23 08:59:25 -04:00
Brad King
79c6a573f4 Merge topic 'swift-flags'
02c14b7fcd Ninja,Swift: pass along DEFINES/FLAGS/INCLUDES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3355
2019-05-23 08:55:16 -04:00
Brad King
f83f29dbaa Merge topic 'vs-ApplicationTypeRevision'
9c07cefee5 VS: Fix ApplicationTypeRevision in builtin check projects
639e14def6 VS: Factor out helper to compute ApplicationTypeRevision

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3350
2019-05-22 10:27:01 -04:00
Saleem Abdulrasool
02c14b7fcd Ninja,Swift: pass along DEFINES/FLAGS/INCLUDES
Since the Swift model does a single compile/link phase, we would not
get the compile definitions, includes, and options past along to the
build of the module.  Compute these for the target when constructing
the main command.
2019-05-21 08:53:50 -07:00
Saleem Abdulrasool
24223ac84b Modules: add Swift MSVC_RUNTIME_LIBRARY flags
This adds support for the newly minted `-libc` flag to the Swift driver
invocation.  These allow users to control the MSVC linkage properly on
Windows targets.
2019-05-21 08:38:23 -07:00
Saleem Abdulrasool
7e636fd8e0 Modules: add CMAKE_Swift_FRAMEWORK_SEARCH_FLAG
Swift supports frameworks and uses them across all OSes.  They are added
using the `-F` flag.  There must be a space following the flag and
before the parameter.
2019-05-21 08:38:23 -07:00
Saleem Abdulrasool
0fbf936b46 Modules: remove CMAKE_INCLUDE_FLAG_SEP_Swift
The include flag specifier should be specified multiply.  The separator
was being misused for adding a space after the `-I` flag.  Correct this
to get multiple include paths correct.
2019-05-21 08:38:23 -07:00
Brad King
4c0fb923b7 IAR: Do not print compiler architecture id for non-IAR compilers
The compiler identification message was modified in commit ea83d0f8fb
(IAR: Generalize and add support for IAR RX compiler, 2019-04-05) to
include the architecture id since IAR compilers are arch-specific.
Revise the logic to avoid modifying the message for other compilers.
2019-05-21 10:58:18 -04:00
Marc Chevrier
8517b549f4 FindPython: Add policy to manage lookup stratgey default. 2019-05-21 16:13:27 +02:00
Marc Chevrier
9f205acefe FindPython: Implement lookup strategies.
Configration variable Python_FIND_STRATEGY controls the lookup startegy.
Possible values are LOCATION and VERSION.

Fixes: #19159
2019-05-21 16:13:27 +02:00
Brad King
8538685c85 Merge topic 'FindPostgreSQL-config-support'
368bcba28a FindPostgreSQL: Find debug lib, imported configs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3298
2019-05-21 09:44:19 -04:00
Brad King
9c07cefee5 VS: Fix ApplicationTypeRevision in builtin check projects
Do not use the entire `CMAKE_SYSTEM_VERSION`, but rather the first two
components only.

Fixes: #19275
2019-05-21 08:50:37 -04:00
Andrei Lebedev
368bcba28a FindPostgreSQL: Find debug lib, imported configs
* Add find_library calls for debug and release
* Set imported configs for corresponding libraries in imported target
* Set debug/optimized in PostgreSQL_LIBRARIES

Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
2019-05-20 11:29:04 -04:00
Brad King
a9fb9a8774 Merge topic 'ninja-swift'
a9180ccf9a Tests: add a check for the Swift compiler
d745551fb6 Help: add some initial documentation for Swift support
9a182c9e5b Auxiliary: update vim syntax highlighting
e9b0063e8e Modules: add build rules for Swift Ninja support
b6412e3e38 Ninja: add placeholders to support Swift build
7d7f31161d Ninja: add support for Swift's output-file-map.json
d688c4c19d Swift: remove unnecessary unreleased Ninja infrastructure
0723582208 Swift: Detect compiler version
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3297
2019-05-20 10:55:27 -04:00
Axel Huebl
21c74faa1a FindPNG: Fix definitions on imported target
The `INTERFACE_COMPILE_DEFINITIONS` property should not have ``-D``
in its value.
2019-05-17 12:07:18 -04:00
Brad King
94b2c75772 Merge topic 'findblas_mklroot_bla_vendor'
89ab54c112 FindBLAS: Choose MKL arch based on BLA_VENDOR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3330
2019-05-17 09:39:48 -04:00
Brad King
21f5ed8091 Merge topic 'use_additional_clean_files'
eda3963615 UseSWIG: Use ADDITIONAL_CLEAN_FILES for cleaning
8c47be28cc UseJava: Use ADDITIONAL_CLEAN_FILES for cleaning
ac86c02d1b UseEcos: Use ADDITIONAL_CLEAN_FILES for cleaning
2532e00339 FindDoxygen: Use ADDITIONAL_CLEAN_FILES for cleaning
4edc0ef359 Test: Improve WarnUnusedCliUnused to run on all generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3328
2019-05-17 09:37:33 -04:00
Saleem Abdulrasool
e9b0063e8e Modules: add build rules for Swift Ninja support
Add rules to support building Swift sources using Ninja.
2019-05-16 14:41:05 -04:00
Brad King
0723582208 Swift: Detect compiler version 2019-05-16 14:41:04 -04:00
Brad King
086c51dc04 CMakeDetermineCompilerId: Make CMAKE_${lang}_COMPILER available earlier
If compiler id detection gave us the compiler tool, copy its value to
the `CMAKE_${lang}_COMPILER` variable as early as possible.
2019-05-16 14:31:30 -04:00
Brad King
64a7f491ef Merge topic 'armclang'
7b0abaac31 ARMClang: Add support for Clang-based ARM compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3315
2019-05-16 10:27:44 -04:00
Brad King
9fdad3a601 Merge topic 'FindBoost-allow-root'
e1e3935f5d FindBoost: Remove obsolete diagnostic message about Boost_ROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3323
2019-05-16 10:21:02 -04:00
Jakub Benda
89ab54c112 FindBLAS: Choose MKL arch based on BLA_VENDOR
Recently, FindBLAS has been extended with additional library search
path based on the environment variable MKLROOT. However, the choice
of the Intel MKL architecture (IA-32 vs Intel64) was based on
unrelated (and possibly undefined) size of integer.

This commit changes the selection of the Intel MKL architecture to
instead consider the variable BLA_VENDOR, if available.

So, if the environment variable MKLROOT is defined and
BLA_VENDOR=Intel10_32, then $ENV{MKLROOT}/lib/ia32_<OS> will be added
to the search path (OS = lin, win, or mac).

Similarly, if MKLROOT is defined and BLA_VENDOR=Intel10_64lp or
BLA_VENDOR=Intel10_64ilp, then the path $ENV{MKLROOT}/intel64_<OS>
will be used.

If either MKLROOT or BLA_VENDOR is undefined, no additional search
path on top of LD_LIBRARY_PATH / DYLD_LIBRARY_PATH / LIB is be added.
2019-05-16 10:35:37 +01:00
Brad King
9ee24ede73 Merge topic 'msvc-jmc'
2a9ff9703e MSVC: Add support for /JMC (Just My Code)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3121
2019-05-15 14:06:58 -04:00
Dennis Klein
e1e3935f5d FindBoost: Remove obsolete diagnostic message about Boost_ROOT
CMake 3.12 introduced <package>_ROOT CMake and environment variables to
be valid hints to find_package(<package>). Defining Boost_ROOT is no
longer wrong if CMP0074 is set to NEW.

Fixes #18810
2019-05-15 15:45:14 +02:00
Sebastian Holtermann
eda3963615 UseSWIG: Use ADDITIONAL_CLEAN_FILES for cleaning
Replace use of the deprecated `ADDITIONAL_MAKE_CLEAN_FILES` directory property
with the new `ADDITIONAL_CLEAN_FILES` directory property.
2019-05-15 15:31:05 +02:00
Sebastian Holtermann
8c47be28cc UseJava: Use ADDITIONAL_CLEAN_FILES for cleaning
Replace use of the deprecated `ADDITIONAL_MAKE_CLEAN_FILES` directory property
with the new `ADDITIONAL_CLEAN_FILES` directory property.
2019-05-15 15:31:05 +02:00
Sebastian Holtermann
ac86c02d1b UseEcos: Use ADDITIONAL_CLEAN_FILES for cleaning
Replace use of the deprecated `ADDITIONAL_MAKE_CLEAN_FILES` directory property
with the new `ADDITIONAL_CLEAN_FILES` directory property.
2019-05-15 15:31:01 +02:00
Sebastian Holtermann
2532e00339 FindDoxygen: Use ADDITIONAL_CLEAN_FILES for cleaning
Replace use of the deprecated `ADDITIONAL_MAKE_CLEAN_FILES` directory property
with the new `ADDITIONAL_CLEAN_FILES` directory property.
2019-05-15 15:28:37 +02:00
Craig Scott
7063ed271e Merge topic 'refactor_docs_use_java'
359e2d401d UseJava: Refactor documentation for better formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3303
2019-05-15 09:18:40 -04:00
Robert Maynard
359e2d401d UseJava: Refactor documentation for better formatting
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2019-05-15 22:54:15 +10:00
Kitware Robot
932dcce1e6 Modules: Consistently use 2 space indentation 2019-05-14 15:26:46 -04:00
Johan Stridkvist
7b0abaac31 ARMClang: Add support for Clang-based ARM compiler
Fixes: #18215
2019-05-14 14:59:55 -04:00
Luca Cappa
2a9ff9703e MSVC: Add support for /JMC (Just My Code) 2019-05-14 13:27:18 -04:00
Brad King
2389fcc677 Merge topic 'find-boost-cmp0093'
5108759ed2 FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3317
2019-05-14 11:14:33 -04:00
Brad King
730d8a135e Merge topic 'relax_cxx_relaxed_constexpr_requirements'
d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support
62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support
1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3292
2019-05-14 10:53:24 -04:00
Brad King
e0ab9e1cb9 Merge topic 'apple_clang_cxx_20_support'
9523ca72e2 Features: Activate C++20 support for AppleClang 10.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3294
2019-05-14 10:52:17 -04:00
Brad King
b0b357a878 Merge topic 'swig4'
65c5c1b567 FindSWIG: Support swig4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3314
2019-05-14 10:49:30 -04:00
Brad King
7d9db24f4c Merge topic 'ios-xctest-lookup'
e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3309
2019-05-14 10:48:13 -04:00
Robert Maynard
d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++14 feature support when the
running compiler is known to have all features.
2019-05-13 13:13:09 -04:00
Robert Maynard
62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++14 feature support when the
running compiler is known to have all features.
2019-05-13 13:12:47 -04:00
Robert Maynard
1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements
This in effect means that cxx_relaxed_constexpr is now supported
by MSVC and Intel 18.0-18.04.
2019-05-13 13:11:32 -04:00