1. 19 Jan, 2018 1 commit
  2. 17 Jan, 2018 1 commit
  3. 12 Jan, 2018 2 commits
    • Brad King's avatar
      Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode · 506fda1c
      Brad King authored
      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
      `INCLUDE_DIRECTORIES` to match the selected language.
      
      This is not exactly the same as for other generators, but is the best VS
      and Xcode can do.  It is also sufficient for many use cases since the
      set of include directories for C and C++ is frequently similar but may
      be distinct from those for other languages like CUDA.
      
      Fixes: #17435
      506fda1c
    • Brad King's avatar
      Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode · c2f79c98
      Brad King authored
      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_DEFINITIONS` to match the selected language.
      
      This is not exactly the same as for other generators, but is the best VS
      and Xcode can do.  It is also sufficient for many use cases since the
      set of definitions for C and C++ is frequently similar but may be
      distinct from those for other languages like CUDA.
      
      Issue: #17435
      c2f79c98
  4. 08 Jan, 2018 1 commit
    • Beren Minor's avatar
      Unhardcode the CMAKE_CONFIGURATION_TYPES values · 48f7e2d3
      Beren Minor authored
      This removes duplicated code for per-config variable initialization by
      providing a `cmake_initialize_per_config_variable(<PREFIX> <DOCSTRING>)`
      function.
      
      This function initializes a `<PREFIX>` cache variable from `<PREFIX>_INIT`
      and unless the `CMAKE_NOT_USING_CONFIG_FLAGS` variable is defined, does
      the same with `<PREFIX>_<CONFIG>` from `<PREFIX>_<CONFIG>_INIT` for every
      `<CONFIG>` in `CMAKE_CONFIGURATION_TYPES` for multi-config generators or
      `CMAKE_BUILD_TYPE` for single-config generators.
      48f7e2d3
  5. 03 Jan, 2018 1 commit
  6. 15 Dec, 2017 1 commit
  7. 06 Dec, 2017 2 commits
    • Brad King's avatar
      server: drop "ctestInfo" backtrace information · 976370d1
      Brad King authored
      Backtrace information was included by commit 35a52bd1 (server: add
      "ctestInfo" request to get test info, 2017-10-25) to match that already
      provided for targets.  However, the backtrace representation uses too
      much memory and needs to be dropped.  Remove it from test information.
      
      Issue: #17502
      976370d1
    • Brad King's avatar
      server: Revert "Report backtraces in codemodel response" · 8b2736c7
      Brad King authored
      The backtrace information is very repetitive and hugely increases the
      size of the codemodel object.  We need to remove it until an alternative
      representation can be developed.  Revert commit v3.10.0-rc1~393^2
      (server: Report backtraces in codemodel response, 2017-06-20), except
      for the protocol version number (because it indicates other new things).
      
      Unfortunately this is incompatible with clients that expect the
      "crossReferences" field in targets.  However, the regression in memory
      usage is quite serious, especially on large projects, and therefore
      breaks even older clients that do not use backtraces.  Since the
      "crossReferences" field was only provided by one release (3.10.0), it is
      simplest to revert it outright for 3.10.1.
      
      Fixes: #17502
      8b2736c7
  8. 29 Nov, 2017 2 commits
  9. 27 Nov, 2017 1 commit
    • Melven Roehrig-Zoellner's avatar
      CodeBlocks: add option for the CB compiler ID · e04f1d1b
      Melven Roehrig-Zoellner authored
      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.
      e04f1d1b
  10. 20 Nov, 2017 2 commits
    • Justin Goshi's avatar
      server: return whether or not a target is generator provided · afd9a339
      Justin Goshi authored
      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.
      afd9a339
    • Brad King's avatar
      Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual Studio · 2ae880fa
      Brad King authored
      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
      2ae880fa
  11. 17 Nov, 2017 3 commits
  12. 10 Nov, 2017 3 commits
  13. 08 Nov, 2017 2 commits
    • Domen Vrankar's avatar
      CPack: enable setting default dir creation permissions · 7e896029
      Domen Vrankar authored
      Introduces CPACK_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS
      variable which adds support for functionality introduced
      by CMAKE_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS variable.
      
      Fixes #17333
      
      # Conflicts:
      #	Help/release/dev/cmake-default-dir-install-permissions.rst
      7e896029
    • Domen Vrankar's avatar
      CMake: enable setting default dir creation permissions · deeba85f
      Domen Vrankar authored
      Introduces CMAKE_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS
      variable which enables the user to specify the default
      permissions for directory creation. This setting is then
      used to auto set the permissions on directories which
      are implicitly created by install() and file(INSTALL)
      commands such as CMAKE_INSTALL_PREFIX directories.
      deeba85f
  14. 07 Nov, 2017 3 commits
    • Justin Goshi's avatar
    • Betsy McPhail's avatar
      cmCTest: Remove dead code · e80dc2ad
      Betsy McPhail authored
      The option 'ctest-config' is ignored.
      e80dc2ad
    • Deniz Bahadir's avatar
      Add new target-property `IMPORTED_GLOBAL`. · 6a3922be
      Deniz Bahadir authored
      The purpose of this new `IMPORTED_GLOBAL` target-property is to prolong
      the lifetime and scope of `IMPORTED` targets in such a way as if they
      had been created with the keyword `GLOBAL` in the first place.
      
      * It can only be set to `TRUE`. That means, a local `IMPORTED` target
        can be promoted to global scope but a global `IMPORTED` target cannot
        be degraded to local scope!
      * Setting it to `TRUE` only succeeds if done from within the same
        directory in which the `IMPORTED` target was created in the first
        place.
      
      Fixes #17256.
      6a3922be
  15. 03 Nov, 2017 1 commit
  16. 31 Oct, 2017 1 commit
  17. 30 Oct, 2017 1 commit
  18. 24 Oct, 2017 1 commit
  19. 19 Oct, 2017 1 commit
    • Brad King's avatar
      Add infrastructure for generators to select a build tool instance · 314613d1
      Brad King authored
      Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location
      persistently across re-runs of CMake in a given build tree.
      
      For now we reject the option by default if explicitly set.  It will be
      implemented on a per-generator basis.  Pass the setting into try_compile
      project generation.  Add a RunCMake.GeneratorInstance test to cover
      basic use cases for the option.  Verify that `CMAKE_GENERATOR_INSTANCE`
      is empty by default, and that it is rejected when the generator does not
      support a user setting.
      
      Issue: #17268
      314613d1
  20. 18 Oct, 2017 1 commit
  21. 16 Oct, 2017 1 commit
  22. 13 Oct, 2017 3 commits
    • Gregor Jasny's avatar
      cmake: Add --open option for IDE generators · 5de37a4a
      Gregor Jasny authored
      5de37a4a
    • Brad King's avatar
      Help: Clarify documentation of NO_SYSTEM_FROM_IMPORTED · 22beb07f
      Brad King authored
      This property is meant to be set on the consumers of imported targets,
      not the imported targets themselves.
      
      Fixes: #17348
      22beb07f
    • Brad King's avatar
      Do not initialize NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries · 2de0e0fd
      Brad King authored
      The change in commit v3.8.0-rc1~276^2 (Allow NO_SYSTEM_FROM_IMPORTED on
      imported INTERFACE libraries, 2016-11-21) was incorrect.  The property
      is not meant to be set on imported targets at all.  It is meant to be
      set on their consumers that compile sources.  Since INTERFACE libraries
      have no sources to compile, the property is not needed on them.
      
      Revert most of that change.  Unfortunately we must still tolerate
      project code setting NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries
      because they were allowed by CMake 3.8 and 3.9.
      
      Issue: #17348
      2de0e0fd
  23. 10 Oct, 2017 1 commit
  24. 03 Oct, 2017 1 commit
  25. 02 Oct, 2017 1 commit
  26. 29 Sep, 2017 1 commit
  27. 28 Sep, 2017 1 commit