1. 17 Feb, 2016 1 commit
    • Brad King's avatar
      Fix export of STATIC library PRIVATE non-target dependencies · 87f44b75
      Brad King authored
      In commit v3.5.0-rc1~43^2 (Fix export of STATIC library PRIVATE
      dependencies with CMP0022 NEW, 2016-01-15) we taught
      target_link_libraries to generate `$<LINK_ONLY:$<TARGET_NAME:dep>>` in
      INTERFACE_LINK_LIBRARIES instead of `$<LINK_ONLY:dep>` so that `dep` can
      be recognized as a target name and updated during export.  However, this
      approach does not work when `dep` is just a plain library name and not a
      target because `$<TARGET_NAME:...>` requires the name of a reachable
      target.
      
      Since we do not know during target_link_libraries whether the name will
      correspond to a reachable target or not, we cannot inject the
      `$<TARGET_NAME:...>` expression.  Revert this change and solve the
      original problem instead by teaching the export logic to recognize and
      update target names directly in `$<LINK_ONLY:...>` expressions.
      Reported-by: Ben Boeckel's avatarBen Boeckel <ben.boeckel@kitware.com>
      87f44b75
  2. 01 Feb, 2016 1 commit
    • Brad King's avatar
      cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944) · 6ffc4323
      Brad King authored
      While evaluating `if(MATCHES)` we get a `const char*` pointer to the
      string to be matched.  On code like
      
          if(CMAKE_MATCH_COUNT MATCHES "Y")
      
      the string to be matched may be owned by our own result variables.
      We must move the value to our own buffer before clearing them.
      Otherwise we risk reading freed storage.
      6ffc4323
  3. 28 Jan, 2016 1 commit
  4. 21 Jan, 2016 1 commit
  5. 20 Jan, 2016 1 commit
  6. 19 Jan, 2016 1 commit
  7. 13 Jan, 2016 1 commit
  8. 12 Jan, 2016 1 commit
    • Michael Scott's avatar
      Add -Werror and -Wno-error command-line options · 28f2d750
      Michael Scott authored
      Expand the -W set of cmake options to include support for the -Werror
      and -Wno-error format, which is used to control upgrading and
      downgrading warning and error messages. Implement support for these new
      formats for the dev and deprecated message types.
      
      Add tests and updated documentation for new options.
      28f2d750
  9. 07 Jan, 2016 1 commit
    • Gregor Jasny's avatar
      Xcode: Escape all backslashes in strings (#15328) · ba39d7e9
      Gregor Jasny authored
      Before this change backslashes in strings were escaped during compile
      flags adds via AppendFlag(). But global flags like OTHER_CPLUSPLUSFLAGS
      are not added as flags but as plain strings so they were not escaped
      properly.
      
      Now the escaping is performed within cmXCodeObject::PrintString() which
      ensures that strings are always encoded.
      ba39d7e9
  10. 03 Jan, 2016 1 commit
  11. 17 Dec, 2015 3 commits
  12. 10 Dec, 2015 2 commits
  13. 07 Dec, 2015 2 commits
  14. 04 Dec, 2015 2 commits
  15. 03 Dec, 2015 1 commit
    • Bartosz Kosiorek's avatar
      iOS: Fix framework resource directory layout (#15848) · e76ee2c0
      Bartosz Kosiorek authored
      A typical iOS application bundle (also Framework Bundle) contains the
      application executable and any resources used by the application (for
      instance, the application icon, other images, and localized content) in
      the top-level bundle directory.  The same rule applies to Framework
      Bundles.
      e76ee2c0
  16. 01 Dec, 2015 5 commits
    • Michael Scott's avatar
      Explicitly enable deprecated warnings by default. · aac633d5
      Michael Scott authored
      Explicitly enable deprecated warnings by default, via the
      cmake::GetSuppressDeprecatedWarnings method, which signals
      suppression is turned off unless the CMake variables are set
      as required.
      
      Add tests and update the documentation for the new
      functionality.
      aac633d5
    • Michael Scott's avatar
      Modify dev warning options to affect deprecated warnings. · e8974b62
      Michael Scott authored
      Change the '-Wdev' and '-Wno-dev' options to also enable and
      suppress the deprecated warnings output, via the
      'CMAKE_WARN_DEPRECATED' CMake variable, by default. This
      action does not happen if the user specifies a deprecated
      warning message option.
      
      Add tests and update the documentation for the new
      functionality.
      e8974b62
    • Michael Scott's avatar
      Add -W options to control deprecated warning messages. · da688bcb
      Michael Scott authored
      Add 'deprecated' warning options type, to allow setting
      CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and
      '-Wno-deprecated' options.
      
      Add tests for new options and updated documentation.
      da688bcb
    • Michael Scott's avatar
      Refactor the -W options parser to be generic. · 07388f83
      Michael Scott authored
      Refactor the -Wdev and -Wno-dev options parser to use a generic -W
      parser that follows the GCC pattern, excluding support for
      -Werror=TYPE and -Wno-error=TYPE formats for now.
      07388f83
    • Michael Scott's avatar
      Explicitly enable author (dev) warnings by default. · 246b0bfb
      Michael Scott authored
      Explicitly enable author warnings by default, via the
      cmake::GetSuppressDevWarnings method, which signals suppression
      is turned off unless the CMake variables are set as required.
      
      Add test cases for author and deprecated messages displayed by
      default.
      246b0bfb
  17. 30 Nov, 2015 2 commits
    • Michael Scott's avatar
      Make message suppression more consistent. · deec3a3f
      Michael Scott authored
      Make the message suppression more consistent, by adding a check
      for the message related CMake variables in cmake::IssueMessage,
      which allows callers of IssueMessage other than the message
      command to behave as expected. Also added a check for
      CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to
      mirror the deprecated message type behaviour.
      
      Added a 'force' flag to the cmake::IssueMessage method, to
      make the message suppression consistent, when setting the
      message related CMake variables directly in a CMake file.
      
      Expand message command tests to cover the AUTHOR_WARNING message
      type as well.
      deec3a3f
    • Michael Scott's avatar
      Tests: Revise message in RunCMake.CommandLine -Wdev case · aa427a42
      Michael Scott authored
      Use more prose-like capitalization.
      aa427a42
  18. 24 Nov, 2015 2 commits
  19. 23 Nov, 2015 1 commit
  20. 20 Nov, 2015 1 commit
  21. 19 Nov, 2015 2 commits
    • Bill Hoffman's avatar
      Fix auto export symbols for Dlls containing /bigobj for 64bit builds. · 75004280
      Bill Hoffman authored
      This fixes a bug where 64 bit builds with /bigobj incorrectly determined
      that the object files were not 64 bit. This manifested itself with
      printf type functions showing up as undefined because the leading
      underscore was being removed and should not be removed.
      75004280
    • Brad King's avatar
      Ninja: Always re-run custom commands that have symbolic dependencies · 3477b26f
      Brad King authored
      If a custom command has a SYMBOLIC output (that is never actually
      created) then do not mark the custom command build statement as
      'restat'.  Otherwise other custom commands that depend on the symbolic
      output may not always re-run because after running the first custom
      command Ninja 'restat' will detect that the output timestamp did not
      change and skip its dependents.
      
      This was observed with the ExternalProject BUILD_ALWAYS option where
      Ninja would not re-run the 'install' step each time 'build' re-runs.
      3477b26f
  22. 13 Nov, 2015 1 commit
  23. 30 Oct, 2015 1 commit
    • Brad King's avatar
      find_program: Fix regression in finding an already-known path · 31e6571c
      Brad King authored
      Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement
      search using more flexible approach, 2015-09-01) did not preserve the
      behavior of looking for the given name with no search path at all.
      Fix this and add a test case covering finding an absolute path with
      no search directories.
      31e6571c
  24. 28 Oct, 2015 1 commit
    • Benjamin Chrétien's avatar
      FindPkgConfig: return actual error when a package is not found (#15810) · 1bfb527f
      Benjamin Chrétien authored
      In some cases, CMake returned the following error:
      
      -- Checking for module 'foo'
      --   Package 'foo' not found
      
      When the actual error returned by pkg-config was:
      
        Package 'bar', required by 'foo', not found
      
      Now, the actual error is forwarded to the user.
      
      -- Checking for module 'foo'
      --   Package 'bar', required by 'foo', not found
      
      For the standard case (i.e. the package was indeed not found), the
      CMake error was:
      
      -- Checking for module 'foo'
      --   Package 'foo' not found
      
      But it now prints:
      
      -- Checking for module 'foo'
      --   No package 'foo' found
      
      The associated test was also updated. ${last} refers to the last
      CLI argument.
      1bfb527f
  25. 27 Oct, 2015 2 commits
  26. 23 Oct, 2015 2 commits