Commit Graph

23823 Commits

Author SHA1 Message Date
Kitware Robot bfbe4aaeb8 CMake Nightly Date Stamp 2017-12-02 00:03:10 -05:00
Brad King 22e67bc6bb Merge topic 'simplify_target_link_libraries'
8112059e target_link_libraries: Simplify implementation and add comments.
b0e2f141 target_link_libraries: Slightly fix some error-messages.
85457b63 target_link_libraries: Return earlier on some error.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1531
2017-12-01 08:24:08 -05:00
Brad King e61c1cf64c Merge topic 'libuv-raii'
3bcaa870 cmUVHandlePtr: Add uv_process_ptr
dd700e9b cmUVHandlePtr: Add uv_timer_ptr
32cfa7b3 cmUVHandlePtr: Move to CMakeLib to make it available everywhere

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1541
2017-12-01 08:22:49 -05:00
Brad King 006a4956a2 Merge topic 'fixCMakeVersionRC'
4a3c19a5 Windows: Fix version embedding in CMake binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1536
2017-12-01 08:11:07 -05:00
Brad King 4d0bcc94c4 Merge topic 'simplify-fallthrough'
b2f612a0 Simplify CM_FALLTHROUGH implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1540
2017-12-01 08:04:21 -05:00
Brad King 340fae777a Merge topic 'update-kwsys'
d094b679 Merge branch 'upstream-KWSys' into update-kwsys
5fa41459 KWSys 2017-11-30 (fa1ab7b8)
a3e029ef cmStandardLexer.h: Do not include a C++ header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1539
2017-12-01 08:03:53 -05:00
Kitware Robot 6287365ab0 CMake Nightly Date Stamp 2017-12-01 00:01:20 -05:00
Brad King 3bcaa87007 cmUVHandlePtr: Add uv_process_ptr 2017-11-30 13:43:43 -05:00
Brad King dd700e9bfb cmUVHandlePtr: Add uv_timer_ptr 2017-11-30 13:26:35 -05:00
Deniz Bahadir 8112059ee7 target_link_libraries: Simplify implementation and add comments.
The implementation of `target_link_libraries` did grow over the years
when new features where added. This commit cleans up the implementation
and adds comments to better document its intention.

The behavior of `target_link_libraries` itself is left untouched.
2017-11-30 17:35:25 +01:00
Brad King 32cfa7b324 cmUVHandlePtr: Move to CMakeLib to make it available everywhere 2017-11-30 11:19:31 -05:00
Brad King 92b212e875 Merge topic 'libuv-raii'
1e9b7d3c server: Switched to a auto model for handles
f43b9219 tests: Added tests to verify UV RAII semantics/constructs
a3abb85c Add RAII handles for libuv handle types
90f8db26 tests: unconditionally enabled server tests
b56b51fc utility: Disabled copy ctors in thread classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1453
2017-11-30 10:57:52 -05:00
Justin Goshi 4a3c19a583 Windows: Fix version embedding in CMake binaries
In commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25) we left out `<winres.h>` since MinGW does not have
the header, but it is needed for the `VS_VERSION_INFO` macro.  Provide
the macro ourselves.

Suggested-by: Christian Pfeiffer <cpfeiffer@live.de>
2017-11-30 10:42:26 -05:00
Brad King b2f612a0fa Simplify CM_FALLTHROUGH implementation
Use the macro now provided by KWSys instead of using `try_compile`
checks.  It will no longer consider the `__attribute__((fallthrough))`
variant, but compilers that don't have one of the modern attributes
shouldn't warn about not using one anyway.
2017-11-30 09:50:39 -05:00
Brad King d094b6796a Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-11-30 (fa1ab7b8)
2017-11-30 08:52:45 -05:00
Brad King a3e029effd cmStandardLexer.h: Do not include a C++ header
This header is meant for inclusion in lexer `.c` files.
2017-11-30 08:46:06 -05:00
Brad King 5d43e46ad5 Merge topic 'whitelist-more-interface-properties'
fb3c5bfd cmTargetPropertyComputer: whitelist custom properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1515
2017-11-30 07:57:08 -05:00
Kitware Robot 868fdb439a CMake Nightly Date Stamp 2017-11-30 00:01:14 -05:00
Justin Berger 1e9b7d3ceb server: Switched to a auto model for handles 2017-11-29 16:36:31 -05:00
Justin Berger a3abb85c6f Add RAII handles for libuv handle types
The `uv_*_t` handle types are closed by `uv_close`, but the semantics
are tricky.  Calling `uv_close` may not close immediately.  Instead it
hands ownership to the uv loop to which the handle is currently
attached.  When the loop decides to close it, a callback is used to
allow the `uv_close` caller to free resources.

Provide an abstraction layer as `cm::uv_*_ptr` types corresponding to
the `uv_*_t` handle types.  Each pointer is either empty (`nullptr`)
or has an initialized handle attached to a loop.  Use move semantics
to ensure a single owner of the handle so that clients can predict
when the handle is destroyed.
2017-11-29 16:36:31 -05:00
Justin Berger b56b51fcaf utility: Disabled copy ctors in thread classes 2017-11-29 16:36:31 -05:00
Craig Scott b311b87518 Merge topic 'check_fixtures_before_exe_existence'
fbe91dba CTest: Check failed fixture dependencies before test command and args

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1526
2017-11-29 15:09:58 -05:00
Deniz Bahadir b0e2f1415e target_link_libraries: Slightly fix some error-messages.
Some error-messages are slightly adjusted to better tell what
invocation would be correct instead. Tests are adjusted accordingly.
2017-11-29 17:01:47 +01:00
Deniz Bahadir 85457b63c8 target_link_libraries: Return earlier on some error. 2017-11-29 17:00:56 +01:00
Brad King c07b18d883 Merge topic 'CodeBlocks-custom-compiler-id'
e04f1d1b CodeBlocks: add option for the CB compiler ID

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1512
2017-11-29 08:32:26 -05:00
Brad King 71c28bddba Merge topic 'aix-threads'
4ff89fb6 AIX: Add -pthread flag to enable std::thread with GCC
6e613ff3 bootstrap: Add infrastructure to detect threading flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1535
2017-11-29 08:32:00 -05:00
Brad King 89a628e28f Merge topic 'fortran-compiler-launcher'
f19c70c3 Fortran: Add option to run the compiler through launcher tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1517
2017-11-29 08:21:44 -05:00
Kitware Robot a4ddc7357a CMake Nightly Date Stamp 2017-11-29 00:01:04 -05:00
Craig Scott fbe91dba6a CTest: Check failed fixture dependencies before test command and args 2017-11-29 07:27:20 +11:00
Brad King 4ff89fb608 AIX: Add -pthread flag to enable std::thread with GCC 2017-11-28 11:24:26 -05:00
Kitware Robot 8b5ae1c1d3 CMake Nightly Date Stamp 2017-11-28 00:03:39 -05:00
Melven Roehrig-Zoellner e04f1d1b47 CodeBlocks: add option for the CB compiler ID
CodeBlocks uses his own compiler ID string which may differ from
CMAKE_<LANG>_COMPILER_ID. In particular CodeBlocks supports a large
number of different compiler configurations (with different IDs)
This commit adds a cache variable "CMAKE_CODEBLOCKS_COMPILER_ID",
so the user might adjust it when needed.
2017-11-27 14:41:54 -05:00
Brad King 1882ba2e05 Merge topic 'extend-compile-language-genex'
2ae880fa Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual Studio
2b7d59f3 Genex: Enable COMPILE_LANGUAGE for file(GENERATE) with Visual Studio
0f6f7c8a Genex: Fix COMPILE_LANGUAGE messages to allow file(GENERATE) with Xcode
c5a82d0f Tests: Decouple COMPILE_LANGUAGE in file(GENERATE) from COMPILE_OPTIONS
25773650 Tests: Remove unnecessary result files from RunCMake.File_Generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !1511
2017-11-27 09:00:44 -05:00
Brad King b67762ff3c Merge topic 'hardcoded-path-removal'
a62d50ec Modules: Replace coded PATHS with PATH_SUFFIXES
fd56d6a8 FindMPEG,2: Update to current libmpeg2 behavior
5f382cd8 FindPike: Update names and paths
6720807d FindAVIFile: Replace PATHS with updated suffixes
f88ef9a9 Modules: Remove paths set as global Unix prefixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1502
2017-11-27 08:53:04 -05:00
Brad King 08f66764b3 Merge topic 'server-target-isGeneratorProvided'
afd9a339 server: return whether or not a target is generator provided

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1475
2017-11-27 08:52:06 -05:00
Brad King 0c1912e3e5 Merge topic 'serverFixTestDiscovery'
fe2c2b0f server: ctestInfo fix to return all tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1479
2017-11-27 08:51:35 -05:00
Kitware Robot b1d3fb7fba CMake Nightly Date Stamp 2017-11-27 00:01:15 -05:00
Kitware Robot 53c6da8b9e CMake Nightly Date Stamp 2017-11-26 00:01:10 -05:00
Kitware Robot c55fe43fc1 CMake Nightly Date Stamp 2017-11-25 00:01:04 -05:00
Kitware Robot eea976e930 CMake Nightly Date Stamp 2017-11-24 00:01:22 -05:00
Kitware Robot e1243a50a7 CMake Nightly Date Stamp 2017-11-23 00:01:05 -05:00
Kitware Robot 7dbeb3ac5c CMake Nightly Date Stamp 2017-11-22 00:02:20 -05:00
Brad King f19c70c3d2 Fortran: Add option to run the compiler through launcher tools
Add a `Fortran_COMPILER_LAUNCHER` target property like those added for C
and CXX by commit v3.4.0-rc1~450^2 (Add options to launch the compiler
through tools like ccache or distcc, 2015-06-04) and CUDA by commit
v3.10.0-rc1~531^2 (CUDA: Add option to run the compiler through launcher
tools, 2017-06-09).

Fixes: #17499
2017-11-21 14:44:01 -05:00
Ben Boeckel fb3c5bfdbe cmTargetPropertyComputer: whitelist custom properties
CMake's properties will never begin with an underscore or a lowercase
letter, so allow them to be set by projects.
2017-11-21 11:35:41 -05:00
Kitware Robot 9698eef88a CMake Nightly Date Stamp 2017-11-21 00:01:05 -05:00
Justin Goshi afd9a339a1 server: return whether or not a target is generator provided
Some generators auto-generate targets. For example VS generators create
the ALL_BUILD target. Add the ability to mark targets as generator
provided and return that info through cmake-server codemodel.
2017-11-20 14:29:50 -05:00
Brad King 2ae880fa8f Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual Studio
Since commit v3.9.0-rc4~3^2~1 (VS: Fix target_compile_options for CUDA,
2017-06-21), the evaluation of `COMPILE_LANGUAGE` receives the proper
language.  The set of compile flags used for a target's C and C++
sources is based on the linker language.  By default this is always the
C++ flags if any C++ sources appear in the target, and otherwise the C
flags.  Therefore we can define the `COMPILE_LANGUAGE` generator
expression in `COMPILE_OPTIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
can do.  It is also sufficient for many use cases since the set of
allowed flags for C and C++ is almost the same in Visual Studio.
Furthermore, since the VS generator moves many of the flags to
declarative `.vcxproj` elements, it will automatically avoid passing
C++ flags for C sources.

Issue: #17435
2017-11-20 13:51:25 -05:00
Brad King d5624a40f2 Merge topic 'fix-cmake-server-bad-buffering'
01c42155 server: Fix regression in partial message handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: jdavidberger <j.david.berger@gmail.com>
Merge-request: !1498
2017-11-20 10:23:48 -05:00
Christian Pfeiffer f88ef9a9b8 Modules: Remove paths set as global Unix prefixes
This commit removes hardcoded paths that are already given in the
platform files or in `UnixPath` on a global level.
2017-11-20 16:21:49 +01:00
Brad King 08ce62bee5 Merge topic 'autogen-rcc-custom-command'
40434631 Autogen: Use integers instead of strings for the Qt version
be11a852 Autogen: Use project relative paths in rcc custom command comment
ab9d5896 Autogen: Detect rcc feature once during configuration
2a85b5ac Autogen: Make cmQtAutoGeneratorInitializer an instantiable class
75819b86 Autogen: Add and use cmQtAutoGenerator base class
27ed3b35 Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUic
1cd285fe Autogen: Remove rcc code from cmQtAutoGenerators
a87f82e0 Autogen: Switch to use custom commands for RCC
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1494
2017-11-20 10:13:11 -05:00