Marc Chevrier
9432f686e6
Add generator expression support to per-source COMPILE_DEFINITIONS
...
This allows users to specify different genex-based compile definitions for each file in a target.
Fixes : #17508
2017-12-05 14:47:39 +01:00
Marc Chevrier
6bffc13ef1
Refactor per-source generator expression evaluation
...
Prepare to add generator expression support to more source properties.
Factor out some duplicated code into a helper to avoid further
duplication.
2017-12-04 09:10:09 -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
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
Justin Goshi
fe2c2b0ffb
server: ctestInfo fix to return all tests
...
Prior to this change we were looking at targets. But tests are
associated with directories. This change fixes how we gather all tests.
2017-11-17 09:19:26 -08:00
Justin Goshi
cb7d0a80fa
server: project has install rule bug fix
...
Need to check all generators associated with the project because any of
them may have an install rule.
2017-11-16 09:03:08 -08:00
Justin Goshi
cdf5f34b0c
server: return minimum cmake required version for each project
2017-11-07 12:15:57 -08:00
Justin Goshi
35a52bd1b4
server: add "ctestInfo" request to get test info
2017-11-03 09:39:01 -07:00
Justin Goshi
296eb9ad4c
cmake-server: Add target install destinations to codemodel
...
Protocol version is updated to 1.2 since this is a change
to what was released in cmake version 3.10.
2017-10-24 14:58:07 -04:00
Matthias Maennich
79b8c3802a
Improve several occurrences of vector::push_back in loops
...
Fix issues diagnosed by clang-tidy by pre-allocating the vector capacity
before the loop [performance-inefficient-vector-operation].
Signed-off-by: Matthias Maennich <matthias@maennich.net>
2017-09-28 07:23:41 -04:00
Pavel Solodovnikov
7d5095796a
Meta: modernize old-fashioned loops to range-based for
.
...
Changes done via `clang-tidy` with some manual fine-tuning
for the variable naming and `auto` type deduction
where appropriate.
2017-09-12 16:22:47 +03:00
Daniel Pfeifer
2b4c32c95f
clang-format: format all code as Cpp11
2017-08-30 11:07:05 -04:00
Daniel Pfeifer
7ddd43183d
Merge topic 'cstyle-casts'
...
190e3825 Replace C-style casts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1176
2017-08-30 06:38:00 -04:00
Daniel Pfeifer
190e3825d4
Replace C-style casts
2017-08-27 09:58:46 +02:00
Daniel Pfeifer
4614a3b287
server: backport to C++11
2017-08-26 07:46:57 +02:00
Daniel Pfeifer
5962db4389
Use C++11 nullptr
2017-08-24 23:39:47 +02:00
Aaron Orenstein
7bc6577017
Performance: Fix a few more unnecessary vector copies missed in af3fd6f
2017-08-18 07:59:52 -07:00
Daniel Pfeifer
cbcf6458f4
cmServerProtocol: Do not move into json::Value::append()
...
CMake's copy of json-cpp is not aware of rvalues yet. It is confusing
to pass the result of std::move to a function that takes a const&
because no move will actually happen. This change may be reverted once
CMake upgrades to a new version of json-cpp.
2017-08-15 22:43:08 +02:00
Daniel Pfeifer
91417e4ca3
cmServerProtocol: pass cmBacktraceRange by value
2017-08-15 22:37:05 +02:00
Daniel Pfeifer
1df3875871
cmServerProtocol: allow 'cache' request before 'configure'
...
Fixes : #16989
2017-08-13 22:02:31 +02:00
Daniel Pfeifer
187332b2fa
cmServerProtocol: fix test of empty values
...
If a required value is in the cache, it is not necessary to set it
explicitly.
Fixes : #16948 , #16988
2017-08-13 22:02:30 +02:00
Brad King
ee79d7a130
Merge topic 'server-fix-crash'
...
70272f3c server: Fix crash on missing cache entries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1096
2017-08-03 09:34:15 -04:00
Laurent Rineau
70272f3c36
server: Fix crash on missing cache entries
...
Test for nullptr before constructing std::string.
2017-08-02 16:13:55 -04:00
Brad King
fc4f352513
Merge topic 'server-refactor'
...
cf0ae55d server: Add support for connections that aren't event based
5ddfb6a4 server: Add connection as part of a request
d4f5d35c server: Refactor to make the event loop owned by server object
5acbf08b Tests: Teach Server test to forward exit code from server process
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !552
2017-07-18 11:14:02 -04:00
Ivan Shcherbakov
0c57238215
server: Report backtraces in codemodel response
...
Report the source locations (e.g. in `CMakeLists.txt`) for all targets
and target-related statements. This allows IDEs to locate the
statements and automatically edit them when the user adds or removes
files or changes target properties via GUI.
Increment the protocol minor version number to tell clients that the new
information is available.
2017-07-11 07:50:22 -04:00
Justin Berger
5ddfb6a472
server: Add connection as part of a request
2017-07-10 18:11:33 -06:00
Ivan Shcherbakov
4db3227514
server: Rename cmServerProtocol1_0 to cmServerProtocol1
...
It will serve additional minor versions.
Suggested-by: Tobias Hunger <tobias.hunger@qt.io>
2017-07-06 11:03:14 -04:00
Daniel Pfeifer
c36d63cd48
cmake: initialize with Role that controls which commands to register
2017-05-08 22:29:44 +02:00
Daniel Pfeifer
f3e216131b
cmServer: include what you use
2017-05-06 00:03:47 +02:00
Daniel Pfeifer
a168b4ccc2
cmServerProtocol: avoid copies in range for
2017-04-26 08:59:56 +02:00
Gregor Jasny
cf320f7cd7
Replace boolean implib
parameters with enum
...
Named enumeration values are much clearer at call sites and add more
type safety.
2017-04-20 10:22:33 -04:00
Brad King
677b3cbf28
Merge topic 'server-mode-fix-home-dir-check'
...
8285ad51 server-mode: Make CMAKE_HOME_DIRECTORY more reliable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !611
2017-03-23 08:46:30 -04:00
Tobias Hunger
8285ad511a
server-mode: Make CMAKE_HOME_DIRECTORY more reliable
...
Make CMAKE_HOME_DIRECTORY detection work more reliably in the face
of symlinks.
Closes #16736
2017-03-22 17:31:02 +01:00
Tobias Hunger
c0bd1eb6d0
server-mode: Do not crash when running into INTERFACE_LIBRARY
...
Closes : #16539
2017-01-09 16:40:46 -05:00
Brad King
a0ed39ac22
Merge topic 'mr-reset-error-flag-on-configure'
...
7789dd9a server-mode: Call ResetErrorOccured before configure
2017-01-09 16:27:19 -05:00
Tobias Hunger
7789dd9a1a
server-mode: Call ResetErrorOccured before configure
...
Closes : #16506
2016-12-16 08:54:37 -05:00
Daniel Pfeifer
58c66393cf
clang-tidy: apply readability-static-definition-in-anonymous-namespace fixes
2016-12-12 14:04:15 -05:00
Brad King
f6f42b25c8
Merge topic 'src-COMPILE_FLAGS-genex'
...
5dec0a23 server-mode: Fix per-source COMPILE_FLAGS genex evaluation
2016-12-05 09:23:22 -05:00
Tobias Hunger
5dec0a2328
server-mode: Fix per-source COMPILE_FLAGS genex evaluation
...
Logic added by commit 1e4bb358 (Add generator expression support to
per-source COMPILE_FLAGS, 2016-10-25) accidentally frees memory before
finishing with it. Revise the logic to hold the memory long enough.
2016-12-02 10:15:50 -05:00
Brad King
23a63d2024
Merge topic 'cmake-server-pad-arguments'
...
28e891f0 server-mode: Do not ignore the first cacheArgument on configure
2016-12-01 08:50:41 -05:00
Tobias Hunger
28e891f0c7
server-mode: Do not ignore the first cacheArgument on configure
...
SetCacheArgs skips the first argument it gets, so add some padding before
calling it.
2016-11-30 13:14:15 -05:00
Brad King
dadccc752e
Merge topic 'cmake-server-fix-16423'
...
516a2cd3 server-mode: Reset GlobalGenerator before configure
2016-11-15 09:26:07 -05:00
Tobias Hunger
516a2cd360
server-mode: Reset GlobalGenerator before configure
...
This is what cmake-gui also does to avoid CMake crashing on repeated
attempts to configure it.
Fixes #16423 .
2016-11-14 11:06:37 -05:00
Brad King
01567fd74f
Merge topic 'src-COMPILE_FLAGS-genex'
...
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
2016-11-01 09:14:25 -04:00
Daniel Pfeifer
5214bb354b
Avoid some copies
2016-10-30 19:50:19 +01:00
Zsolt Parragi
1e4bb35894
Add generator expression support to per-source COMPILE_FLAGS
...
This allows users to specify different genex-based compile flags for
each file in a target, e.g. compiling just a single file with `Od/Ox` in
release builds on Visual Studio.
2016-10-28 11:18:03 -04:00
Brad King
18a966c80f
Merge topic 'cmake-server-handshake-improvements'
...
42ccbee1 server-mode: Handle generator toolset and platform in handshake
d792491c cmake-server: Better error reporting during handshake
2016-10-28 08:26:49 -04:00
Tobias Hunger
42ccbee11c
server-mode: Handle generator toolset and platform in handshake
2016-10-28 13:46:15 +02:00
Tobias Hunger
d792491c40
cmake-server: Better error reporting during handshake
...
Catch more problematic input during handshake and report failure.
These were caught before when trying to configure, but it is way better
to get these reports early.
2016-10-27 14:18:42 -04:00