1. 30 Sep, 2016 1 commit
  2. 28 Sep, 2016 4 commits
    • Matthew Woehlke's avatar
      cmake_parse_arguments: Add additional unit tests · 66c70cd9
      Matthew Woehlke authored
      Add additional unit tests for some corner cases in argument splitting.
      66c70cd9
    • Matthew Woehlke's avatar
      cmake_parse_arguments: Fix PARSE_ARGV multi-value argument handling · 41291b20
      Matthew Woehlke authored
      The `PARSE_ARGV` mode was recently added to help functions properly
      parse their arguments even when those arguments may be quoted and
      contain literal `;` in their values.  Fix the implementation to encode
      `;`s in reported multi-value arguments and in `UNPARSED_ARGUMENTS` so
      that `;`s in the individual values are preserved in the lists.  This
      allows clients to access all their argument values correctly.
      41291b20
    • Brad King's avatar
      project: Fix support for explicit RC language · 9c5238df
      Brad King authored
      The check added in commit v3.6.0-rc1~293^2 (Diagnose recursive
      project/enable_language without crashing, 2016-03-07) broke support for
      enabling `RC` explicitly along with other languages like `C`.  The
      reason is that we enable all listed languages at once so the internal
      `enable_language(RC)` that we do while enabling `C` or `CXX` on some
      platforms triggers the recursion check if `RC` is explicitly listed.
      
      Ideally we should refactor things to only enable one language at a time,
      but for now it is simplest to just exclude `RC` from the explicit list
      until other languages are enabled, and then enable it.
      
      Closes: #16330
      9c5238df
    • Brad King's avatar
      Tests: Add newline to RunCMake.CPack_RPM SOURCE_PACKAGE case · af35ddc8
      Brad King authored
      The `main.cpp` that this test generates needs a newline so that
      compilers do not warn about a missing newline.  Otherwise the warning
      causes RunCMake infrastructure to detect unexpected output.
      af35ddc8
  3. 27 Sep, 2016 3 commits
  4. 22 Sep, 2016 2 commits
    • Brad King's avatar
      Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup · 764775c4
      Brad King authored
      Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for
      property keys, 2015-10-25) changed the Xcode generator implementation of
      `XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each
      `XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping
      over the property entries directly.  This made the lookup of property names of
      the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed
      property logic for the undocumented/legacy `<CONFIG>_LOCATION` property.  Of
      course the computed property value is not the same as the value stored in the
      `XCODE_ATTRIBUTE_..._LOCATION` property.  Fix the computed property logic to
      avoid triggering on `XCODE_ATTRIBUTE_...` attributes.
      
      Closes: #16319
      764775c4
    • Tobias Hunger's avatar
      server-mode: Introduce cmServerConnection · 1d601c6c
      Tobias Hunger authored
      Use it to split pipe and stdin/out handling out of cmServer itself.
      
      The server will shut down when it looses its connection to the client.
      This has the nice property that a crashing client will cause the server
      to terminate as the OS will close the connection on behave of the client.
      1d601c6c
  5. 20 Sep, 2016 5 commits
  6. 19 Sep, 2016 7 commits
    • Brad King's avatar
      Add directory properties to get source and binary directories · d0be1e15
      Brad King authored
      Add SOURCE_DIR and BINARY_DIR directory properties that return the
      absolute paths to the corresponding directories.  These correspond
      to the target properties of the same names that we already have.
      d0be1e15
    • Brad King's avatar
      Add directory property to list buildsystem targets · cbca6582
      Brad King authored
      Add a BUILDSYSTEM_TARGETS property to allow project code to traverse
      the list of its own targets in a given directory.
      cbca6582
    • Brad King's avatar
      Add a directory property to list subdirectories · 7a4b8d0d
      Brad King authored
      Add a SUBDIRECTORIES directory property to allow project code to
      traverse the directory structure of itself as CMake sees it.
      7a4b8d0d
    • Petr Orlov's avatar
      CPack: Add option to generate a checksum file next to each package file · 1c63aa4d
      Petr Orlov authored
      Add variable CPACK_PACKAGE_CHECKSUM to activate it.
      1c63aa4d
    • Domen Vrankar's avatar
    • Tobias Hunger's avatar
      cmake-server: Bare-bones server implementation · b13d3e0d
      Tobias Hunger authored
      Adds a bare-bones cmake-server implementation and makes it possible
      to start that with "cmake -E server".
      
      Communication happens via stdin/stdout for now.
      
      Protocol is based on Json objects surrounded by magic strings
      ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies
      Json parsing significantly.
      
      This patch also defines an interface used to implement different
      versions of the protocol spoken by the server, but does not include
      any protocol implementaiton.
      b13d3e0d
    • Stephen Kelly's avatar
      Make the add_custom_command output more predictable · 92d76b50
      Stephen Kelly authored
      I otherwise get:
      
         Expected stderr to match:
      
          expect-err> CMake Error at AppendNotOutput.cmake:1 \(add_custom_command\):
          expect-err>   add_custom_command given APPEND option with output.*
          expect-err>   which is not already a custom command output.
          expect-err> Call Stack \(most recent call first\):
          expect-err>   CMakeLists.txt:3 \(include\)
      
         Actual stderr:
      
          actual-err> CMake Error at AppendNotOutput.cmake:1 (add_custom_command):
          actual-err>   add_custom_command given APPEND option with output
          actual-err>   "/home/stephen/dev/src/cmake/with
          actual-err> space/Tests/RunCMake/add_custom_command/AppendNotOutput-build/out" which is
          actual-err>   not already a custom command output.
          actual-err> Call Stack (most recent call first):
          actual-err>   CMakeLists.txt:3 (include)
      
      Using a specific line for paths is a style already used elsewhere for
      the same reason, such as CMP0041 output.
      92d76b50
  7. 15 Sep, 2016 3 commits
  8. 13 Sep, 2016 2 commits
  9. 12 Sep, 2016 3 commits
    • Matthew Woehlke's avatar
      Tests: Refactor GenerateExportHeader test code · 612d6f29
      Matthew Woehlke authored
      Refactor the library code used in the GenerateExportHeader test to use
      an improved naming convention that more directly identifies what it
      being tested, making use of namespaces to avoid possible symbol
      collisions. This also eliminates duplicate cases such as `libshared()`
      and `libshared_not_exported()` which had the same decoration, and adds
      consistent pairings of <name>_EXPORT and <name>_DEPRECATED_EXPORT which
      were missing previously. The data tests from the previous commit are
      also added to `libstatic` and `libshared_and_static` for consistency.
      
      Note that there are no exported members of exported classes, as these
      are not allowed on Windows.
      612d6f29
    • Matthew Woehlke's avatar
      Tests: Add data symbols to GenerateExportHeader test · ce76abb4
      Matthew Woehlke authored
      Add static data members and global variables to the GenerateExportHeader
      shared library, testing that export decoration for these works in
      addition to decoration of classes and free functions.
      ce76abb4
    • Matthew Woehlke's avatar
      Tests: Add failure test for GenerateExportHeader · 8f95b93b
      Matthew Woehlke authored
      Modify notation of statements in the GenerateExportHeader test expected
      to result in link errors. Modify script used to build the test to also
      generate a suite of modified sources, each having exactly one of the
      failing lines enabled, and to generate EXCLUDE_FROM_ALL executables for
      the same. Modify RunCMake script used to drive the test to read the list
      of such executables and try to build each of them, verifying that they
      do in fact fail to build.
      
      This will verify that the _NO_EXPORT macros are working as expected, and
      will also catch errors like the one that commit 0cbaaf2d
      (GenerateExportHeader: Fix add_compiler_export_flags regression,
      2016-09-01) fixed.
      
      When setting up the failure tests for GenerateExportHeader, check if the
      compiler actually hides non-exported stuff.  If not, the failure tests
      won't fail, and will cause the overall test to fail.  Since this
      typically is only the case for very old compilers, simply skipping them
      as opposed to trying to do something more fine grained seems reasonably
      safe.
      8f95b93b
  10. 09 Sep, 2016 1 commit
  11. 08 Sep, 2016 1 commit
  12. 07 Sep, 2016 1 commit
    • Brad King's avatar
      VS15: Add Visual Studio 15 generator · bdc679a8
      Brad King authored
      Call the generator "Visual Studio 15" without any year because the
      preview version of VS 15 does not provide a year in the product name.
      
      Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator
      and update version numbers accordingly.  Add the VS15 enumeration value.
      Note that we do not need to add a MSVC15 variable or v150 toolset
      because Visual Studio 15 comes with an updated version of the v140
      toolset and remains ABI-compatible.
      
      Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and
      RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14.
      
      Closes: #16143
      bdc679a8
  13. 06 Sep, 2016 1 commit
    • Brad King's avatar
      cmMakefile: Restore nested error logic use of cmExecutionStatus · f1ad71d7
      Brad King authored
      Since commit 14a8d61f (cmMakefile: Port nested error logic away from
      cmExecutionStatus) we fail to continue processing function and macro
      bodies after non-fatal errors.  A non-fatal error should not stop
      foreach loops, macro bodies, nested bodies, or the outer script.
      Add a test covering these cases, and revert the change to fix them.
      
      Also revert commit 2af853de (cmMakefile: Simplify IssueMessage
      implementation) because the assertion it added (which was removed by the
      above commit and is restored by reverting it) is incorrect.  We do have
      code paths that call cmMakefile::IssueMessage with an empty execution
      stack, such as in CheckForUnusedVariables's LogUnused call.
      f1ad71d7
  14. 05 Sep, 2016 4 commits
  15. 31 Aug, 2016 1 commit
  16. 30 Aug, 2016 1 commit