1. 14 Mar, 2019 1 commit
  2. 26 Feb, 2019 1 commit
    • Brad King's avatar
      Tests: Restore support for CMake 3.1 through 3.6 with MSVC · a0d4430d
      Brad King authored
      The change in commit a5dd1599 (Tests: Fix RunCMake.try_compile
      CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use
      of `if()` conditions not supported until CMake 3.7, so while it was
      intended to restore support for CMake versions prior to 3.9, it actually
      only did so for 3.7 and 3.8.  Backport the logic to work with CMake 3.1.
      
      Fixes: #18987
      a0d4430d
  3. 30 Jan, 2019 2 commits
  4. 28 Jan, 2019 1 commit
  5. 23 Jan, 2019 1 commit
    • Kyle Edwards's avatar
      cmMakefile: Impose maximum recursion limit · a6982cff
      Kyle Edwards authored
      In order to keep infinitely-recursive scripts from causing a stack
      overflow in the CMake executable, CMake now imposes a maximum
      recursion limit before issuing an error message. The limit can be
      adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.
      
      Fixes: #18694
      a6982cff
  6. 21 Jan, 2019 1 commit
    • chuck cranor's avatar
      Compute implicit include directories from compiler output · 5990ecb7
      chuck cranor authored
       - CMakeParseImplicitIncludeInfo.cmake: new parser that extracts the
         compiler's include path from verbose output.  If the parser cannot
         parse the output, we fall back to the old behavior.  On osx we skip
         over framework directories (handled elsewhere).
      
       - CMakeDetermineCompilerABI.cmake:
           - use verbose flag in try_compile for ${src}
           - use new cmake_parse_implicit_include_info() to attempt extract
             implicit include directory path and if successful set
              CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES
      
       - CMakeCCompiler.cmake.in and CMakeCXXCompiler.cmake.in - preserve
         CMAKE_${LANG}_IMPLICIT_INCLUDE_DIRECTORIES value between runs in
         the same way CMAKE_${LANG}_IMPLICIT_LINK_DIRECTORIES is preserved
      
       - Tests/RunCMake/ParseImplicitIncludeInfo: tests for parse
         based on the older Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in.
         The test runs a set of verbose compiler outputs collected from
         various machines through the parser and checks the results.  New
         compiler files can be added by dropping input/output files in the
         ParseImplicitIncludeInfo/data subdirectory and then adding the new set
         of files to the ${targets} list in ParseImplicitIncludeInfo.cmake.
         There is a helper CMakeLists.txt in ParseImplicitIncludeInfo/data
         that can help with the generation of test input files.
         NOTE: the standard cmake pre-commit hook rejects verbose compiler
         output with trailing spaces... you have to manually edit them out.
         This shouldn't impact the test.
      
      Note that both the parser and the test code can use CMAKE_${LANG}_COMPILER_*
      variables such as ${CMAKE_CXX_COMPILER_ID} to decide how to parse
      verbose compiler output.  For the test code, this requires us to
      save the variables values in the test input files.
      
      Fixes: #16291
      5990ecb7
  7. 17 Jan, 2019 1 commit
  8. 11 Jan, 2019 2 commits
  9. 10 Jan, 2019 3 commits
  10. 08 Jan, 2019 1 commit
  11. 12 Dec, 2018 1 commit
    • Brad King's avatar
      fileapi: Add protocol v1 infrastructure with support for shared query files · eb2ec41a
      Brad King authored
      Add a file-based API that clients may use to get semantic information
      about the buildsystem that CMake generates.  Clients will write query
      files under a designated location in the build tree, and CMake will
      write reply files for clients to read.
      
      Start with support for shared stateless query files.  These allow
      clients to share requests for major object versions and get all those
      recognized by CMake.  Once any client has written a shared request to a
      build tree it will persist.  Other clients will not need to overwrite
      the request (since it is stateless) and should not remove it either.
      
      For now we add only an undocumented object kind to use for testing the
      query and reply infrastructure.  Object kinds providing real semantic
      information will be added later.
      
      Issue: #18398
      eb2ec41a
  12. 07 Dec, 2018 1 commit
  13. 01 Dec, 2018 1 commit
  14. 15 Nov, 2018 1 commit
    • Brad King's avatar
      CTest: Restore inheritance of stdin by test processes · 86e83154
      Brad King authored
      Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process
      handling using libuv, 2017-12-10) we do not give the child test
      processes any stdin.  Prior to that change we let the child test
      processes inherit stdin from ctest itself.  Tests that run serially
      might be able to use the real stdin meaningfully, so restore that
      behavior and add a test case.
      
      Fixes: #18591
      86e83154
  15. 14 Nov, 2018 2 commits
  16. 11 Nov, 2018 1 commit
  17. 05 Nov, 2018 1 commit
    • Craig Scott's avatar
      CPack: Rename Ext generator to External · 20d5e77a
      Craig Scott authored
      Ext and External were used inconsistently in the code and the
      docs. This change converts all uses of Ext to External, including
      within variable names used by the generator.
      20d5e77a
  18. 29 Oct, 2018 1 commit
    • Brad King's avatar
      set_directory_properties: Restore in script mode · 50572d63
      Brad King authored
      Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
      CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
      accidentally not allowed in script mode.  It was dropped because
      `ctest -S` mode needs to start with CMake's normal script mode and
      then replace the `set_directory_properties` implementation.  Restore
      the normal `set_directory_properties` in script mode and then add
      special logic to replace it in ctest.  Also add a test case.
      
      Fixes: #18523
      50572d63
  19. 26 Oct, 2018 1 commit
  20. 28 Sep, 2018 1 commit
  21. 25 Sep, 2018 1 commit
  22. 19 Sep, 2018 1 commit
  23. 25 Jul, 2018 1 commit
  24. 24 Jul, 2018 1 commit
  25. 09 Jul, 2018 1 commit
  26. 02 Jul, 2018 1 commit
  27. 22 Jun, 2018 1 commit
  28. 06 Jun, 2018 1 commit
    • Marc Chevrier's avatar
      LINK_OPTIONS: Add new family of properties · c1f5a44b
      Marc Chevrier authored
      This family enable to manage link flags
      
      Three new properties:
      * directory property: LINK_OPTIONS
      * target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS
      
      Two new commands
      * add_link_options(): to populate directory property
      * target_link_options(): to populate target properties
      
      Fixes: #16543
      c1f5a44b
  29. 24 May, 2018 1 commit
  30. 03 May, 2018 1 commit
  31. 24 Apr, 2018 1 commit
  32. 23 Apr, 2018 1 commit
    • Raffi Enficiaud's avatar
      FindMatlab: Matlab Runtime Compiler support · 59fb9e89
      Raffi Enficiaud authored
      * Determining automatically the MCR version on OSX and Windows
      * Distinguishing between MCR and Matlab
      * Specific tests for the MCR
      * mexext on windows does not work properly: the mexext is hardcoded
      * Doc updates for the MCR
      
      Fixes: #16487
      59fb9e89
  33. 10 Apr, 2018 1 commit
    • Brad King's avatar
      CPack: Fix crash on invalid generator name · 6f2701ab
      Brad King authored
      In commit v3.11.0-rc1~68^2 (CPack: accept --trace and --trace-expand,
      2017-12-09) a nullptr dereference was added that occurs when
      `cpack -G NotAGenerator` is invoked.  Add the needed condition.
      
      Fixes: #17900
      6f2701ab
  34. 05 Apr, 2018 1 commit
    • Brad King's avatar
      Ninja: Fix Fortran support with response files · d6390ce2
      Brad King authored
      The Ninja generator splits preprocessing and compilation steps for
      Fortran.  Fix this logic to work when using response files for
      compilation so that it works for the preprocessing step too.
      
      This fixes behavior under `CMAKE_NINJA_FORCE_RESPONSE_FILE`.
      
      Issue: #17877
      d6390ce2
  35. 02 Apr, 2018 1 commit