1. 22 Feb, 2017 1 commit
  2. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored
      Run the `Utilities/Scripts/clang-format.bash` script to update
      all our C++ code to a new style defined by `.clang-format`.
      Use `clang-format` version 3.8.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      d9fd2f54
  3. 07 Oct, 2013 1 commit
    • Stephen Kelly's avatar
      Add the INTERFACE_LIBRARY target type. · fe732264
      Stephen Kelly authored
      This target type only contains INTERFACE_* properties, so it can be
      used as a structural node. The target-specific commands enforce
      that they may only be used with the INTERFACE keyword when used
      with INTERFACE_LIBRARY targets. The old-style target properties
      matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for
      this target type.
      
      The name of the INTERFACE_LIBRARY must match a validity generator
      expression. The validity is similar to that of an ALIAS target,
      but with the additional restriction that it may not contain
      double colons. Double colons will carry the meaning of IMPORTED
      or ALIAS targets in CMake 2.8.13.
      
      An ALIAS target may be created for an INTERFACE library.
      
      At this point it can not be exported and does not appear in the
      buildsystem and project files are not created for them. That may
      be added as a feature in a later commit.
      
      The generators need some changes to handle the INTERFACE_LIBRARY
      targets returned by cmComputeLinkInterface::GetItems. The Ninja
      generator does not use that API, so it doesn't require changes
      related to that.
      fe732264
  4. 27 Jun, 2012 1 commit
  5. 12 Jun, 2012 1 commit
    • Stephen Kelly's avatar
      Refactor generation of shared library flags · bd349630
      Stephen Kelly authored
      CMAKE_SHARED_LIBRARY_<lang>_FLAGS has flags on various platforms for a
      variety of purposes that are correlated with shared libraries but not
      exclusive to them.  Refactor generation of these flags to use new
      purpose-specific platform variables
      
        CMAKE_<lang>_COMPILE_OPTIONS_DLL
        CMAKE_<lang>_COMPILE_OPTIONS_PIC
        CMAKE_<lang>_COMPILE_OPTIONS_PIE
      
      Activate the DLL flags specifically for shared libraries.  Add a new
      POSITION_INDEPENDENT_CODE target property to activate PIC/PIE flags, and
      default to true for shared libraries to preserve default behavior.
      Initialize the new property from CMAKE_POSITION_INDEPENDENT_CODE to
      allow easy global configuration in projects.
      
      Although the default behavior is unchanged by this refactoring, the new
      approach ignores CMAKE_SHARED_LIBRARY_<lang>_FLAGS completely.  We must
      leave it set in case projects reference the value.  Furthermore, if a
      project modifies CMAKE_SHARED_LIBRARY_<lang>_FLAGS it expects the new
      value to be used.  Add policy CMP0018 to handle compatibility with
      projects that modify this platform variable.
      
      Add a PositionIndependentCode test on platforms where we can get
      meaningful results.
      bd349630