1. 19 Jul, 2019 4 commits
  2. 18 Jul, 2019 10 commits
  3. 17 Jul, 2019 15 commits
  4. 16 Jul, 2019 11 commits
    • Brad King's avatar
      AIX: Create import library for executables with exports · 2fa920c0
      Brad King authored
      On AIX, plugins meant to be loaded into executables via `dlopen` must be
      linked with access to a list of symbols exported from the executable in
      order to use them (when not using runtime linking).  The AIX linker
      supports specifying this list as an "import file" passed on the command
      line either via the `-bI:...` option or (with a leading `#! .` line) as
      a normal input file like any other library file.
      
      The linker import file plays the same role on AIX as import libraries do
      on Windows.  Teach CMake to enable its import library abstraction on AIX
      for executables with the `ENABLE_EXPORTS` target property set.  Teach
      our internal `ExportImportList` script to optionally generate a leading
      `#! .` line at the top of the generated export/import list.  Update our
      rule for linking an executable with exports to generate a public-facing
      "import library" implemented as an AIX linker import file.
      
      With this approach, our existing infrastructure for handling import
      libraries on Windows will now work for AIX linker import files too:
      
      * Plugins that link to their executable's symbols will be automatically
        linked using the import file on the command line.
      
      * The executable's import file will be (optionally) installed and
        exported for use in linking externally-built plugins.
      
      This will allow executables and their plugins to build even if we later
      turn off runtime linking.
      
      Issue: #19163
      2fa920c0
    • Brad King's avatar
      Merge topic 'aix-explicit-exports' · c3d9d800
      Brad King authored
      c2c3d225 Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexit
      9f5c2040 AIX: Explicitly compute executable exports for both XL and GNU
      0f150b69 AIX: Explicitly compute shared object exports for both XL and GNU
      a5bf4e79 AIX: Drop redundant -brtl flags
      9cb5f040 XL: De-duplicate shared object creation flags
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !3556
      c3d9d800
    • Brad King's avatar
      Merge topic 'doc-ENABLE_EXPORTS' · 76a540ba
      Brad King authored
      84ddeb8f Help: Clarify ENABLE_EXPORTS per-platform link behavior
      e29ccfca Help: Simplify CMAKE_ENABLE_EXPORTS documentation
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !3560
      76a540ba
    • Brad King's avatar
      Help: Clarify ENABLE_EXPORTS per-platform link behavior · 84ddeb8f
      Brad King authored
      Spell out the behavior on each platform in a bullet list.
      84ddeb8f
    • Brad King's avatar
      Help: Simplify CMAKE_ENABLE_EXPORTS documentation · e29ccfca
      Brad King authored
      In real projects the variable form should rarely be used because the
      decision to export symbols from an executable is very specific.
      Remove its main description, which duplicates the `ENABLE_EXPORTS`
      target property, and simply reference the property instead.
      e29ccfca
    • Brad King's avatar
      Merge branch 'find_package-fix-NO_MODULE' into release-3.15 · 185e6a12
      Brad King authored
      Merge-request: !3557
      185e6a12
    • Cristian Adam's avatar
      find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIG · f2edccea
      Cristian Adam authored
      The module mode fallback added by commit 22e65d10 (find_package: Fixed
      CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13,
      v3.15.0-rc2~6^2) should not be used unless the `find_package` call
      allows module mode.  Doing so can lead to infinite recursion if a find
      module tries to call config mode with `find_package(...  NO_MODULE)`.
      Fix the logic and add a test case.
      
      Fixes: #19478
      f2edccea
    • Brad King's avatar
      Merge branch 'release-3.14' · 09b4dfb9
      Brad King authored
      09b4dfb9
    • Alex Turbov's avatar
      project: Keep leading `0` in PROJECT_VERSION components · 0ba5891e
      Alex Turbov authored
      Introduce CMake policy `CMP0096` to make `project()` keep leading zeros
      in version components.  As a side effect, it now allows really long
      version numbers.
      
      Fixes: #19421
      Co-Author: Brad King <brad.king@kitware.com>
      0ba5891e
    • Brad King's avatar
      Merge topic 'FindPNG-msvc-static' · 79a21ba6
      Brad King authored
      95f8b0ae FindPNG: Add static libpng names for MSVC
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !3552
      79a21ba6
    • Brad King's avatar
      Merge topic 'FindMatlab/pre-2018-fixes' · e0d45dda
      Brad King authored
      cd6bd839 FindMatlab: code comment and ordering of the finders
      9e6206c5 FindMatlab: fixing extension bat file invocation error
      a9b36ea6 FindMatlab: Fixing compilation issues on Windows
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !3554
      e0d45dda