Commit Graph

9539 Commits

Author SHA1 Message Date
Brad King f326591c13 Merge topic 'FindPython-find_framework'
62d6ed79fb FindPython: Add variable 'Python_FIND_FRAMEWORK' to control frameworks lookup.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3374
2019-05-28 11:53:21 -04:00
Brad King 76cb43c7c5 Merge topic 'GetPrerequisites-use-if-IN_LIST'
3dfc8b9bd6 GetPrerequisites: use if(IN_LIST) instead of foreach

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3299
2019-05-28 11:51:58 -04:00
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 f07d42632b Merge branch 'FindThreads-doc-c++' into release-3.14
Merge-request: !3391
2019-05-28 11:39:39 -04:00
Brad King a38b63c1bb FindThreads: Drop incorrect docs about usage with C++
Drop the sentence added by commit 5a5a1d90f0 (Help: FindThreads not
needed with modern C++., 2019-01-09, v3.14.0-rc1~186^2) about not
needing the module with modern C++.  The module is often still needed.

Fixes: #19297
2019-05-28 11:36:27 -04:00
Marcin Ślusarz a7754448f6 FindFLEX: fix example
Binaries using flex must link with the detected library.
2019-05-26 22:34:06 +02:00
Saleem Abdulrasool abea06efdf Modules: setup CMAKE_Swift_LINKER_PREFERENCE
Swift's driver will invoke the C++ driver (`clang++`) to invoke the
linker.  Additionally, it will configure the command line to deal with
the linkage runtime support object (`swiftrt.o` or `swiftrt.obj`) to be
added at the right time (similar to C/C++).  Since it indirects through
`clang++` it will properly setup the linker invocation for C++ and C as
well.  This should permit the correct linker driver to be invoked in
multi-language projects.

Closes #19299
2019-05-24 10:33:25 -07:00
Christian Pfeiffer 26f2b65fec FindOpenMP: Add 5.0 and VS19 spec dates
Fixes: #19289
2019-05-24 19:01:28 +02:00
Marc Chevrier 62d6ed79fb FindPython: Add variable 'Python_FIND_FRAMEWORK' to control frameworks lookup. 2019-05-24 18:44:43 +02: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
Zsolt Parragi d44c0db0b2 clang: setup correct configuration in gnu mode 2019-05-23 23:35:33 +02: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
Ben Boeckel 3dfc8b9bd6 GetPrerequisites: use if(IN_LIST) instead of foreach 2019-05-23 09:15:04 -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
Zsolt Parragi 3d0210d8dc binutils: add the llvm-* variants to the tool lists.
This allows cmake to use the ar/ranlib/objdump/ld tools on windows
without mingw installed.

These tools are selected when clang is in GNU command line mode.
2019-05-17 19:11:34 +02:00
Zsolt Parragi 53fbe23f3f clang: introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT
This variable is set to GNU on Windows when clang.exe ar clang++.exe is
used, and set to MSVC for clang-cl.exe.

CMAKE_<lang>_SIMULATE_ID is set to MSVC in both cases, as clang defaults
to -fms-compatibility for all command lines on windows.
2019-05-17 19:11:34 +02: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