1. 07 Jun, 2019 1 commit
    • Sergey Bobrenok's avatar
      add_test: Add COMMAND_EXPAND_LISTS option · e791ffac
      Sergey Bobrenok authored
      Add a `COMMAND_EXPAND_LISTS` option to the `add_test` command to cause
      `;`-separated lists produced by generator expressions to be expanded
      into multiple arguments.  The `add_custom_command` command already
      has such an option.
      
      Fixes: #17284
      e791ffac
  2. 17 Apr, 2019 1 commit
    • Brad King's avatar
      MSVC: Add abstraction for runtime library selection · fb3370b6
      Brad King authored
      Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
      abstraction to select the runtime library from an enumeration of logical
      names.  We've long hesitated to do this because the idea of "runtime
      library selection" touches on related concepts on several platforms.
      Avoid that scope creep by simply defining an abstraction that applies
      only when targeting the MSVC ABI on Windows.
      
      Removing the old default flags requires a policy because existing
      projects may rely on string processing to edit them and choose a runtime
      library under the old behavior.  Add policy CMP0091 to provide
      compatibility.
      
      Fixes: #19108
      fb3370b6
  3. 09 Apr, 2019 1 commit
  4. 23 Aug, 2016 1 commit
  5. 06 Jul, 2015 1 commit
  6. 30 Apr, 2015 1 commit
  7. 09 Apr, 2015 1 commit
    • Brad King's avatar
      Link libraries by full path even in implicit directories · 882f48e5
      Brad King authored
      When CMP0003 was first introduced we wanted to link all libraries by
      full path.  However, some projects had problems on platforms where
      find_library would find /usr/lib/libfoo.so when the project really
      wanted to link to /usr/lib/<arch>/libfoo.so and had been working by
      accident because pre-CMP0003 behavior used -lfoo to link.
      
      We first tried to address that in commit v2.6.0~440 (Teach find_library
      to avoid returning library paths in system directories, 2008-01-23) by
      returning just "foo" for libraries in implicit link directories.  This
      caused problems for projects expecting find_library to always return a
      full path.  We ended up using the solution in commit v2.6.0~366 (...
      switch library paths found in implicit link directories to use -l,
      2008-01-31).  However, the special case for libraries in implicit link
      directories has also proven problematic and confusing.
      
      Introduce policy CMP0060 to switch to linking all libraries by full path
      even if they are in implicit link directories.  Explain in the policy
      documentation the factors that led to the original approach and now to
      this approach.
      882f48e5
  8. 13 Aug, 2013 1 commit
  9. 16 Mar, 2012 1 commit
    • Brad King's avatar
      Test OBJECT library failure cases · 56831016
      Brad King authored
      Add "RunCMake.ObjectLibrary" test to verify that unsupported use cases
      are rejected with errors:
      
      * An OBJECT library may not reference another object library
      * An OBJECT library may not be referenced in target_link_libraries
      * An OBJECT library may not contain non-compiling sources
      * An OBJECT library may not have pre/post build/link commands
      * An OBJECT library may not be installed, exported, or imported
      
      Also verify that invalid $<TARGET_OBJECTS:...> expressions are
      diagnosed.
      56831016
  10. 12 Mar, 2012 1 commit