1. 26 Feb, 2019 1 commit
  2. 21 Feb, 2019 1 commit
  3. 15 Feb, 2019 1 commit
    • Brad King's avatar
      try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS · cde2596a
      Brad King authored
      The quoting added by commit 8c5221fb (try_compile: Preserve special
      characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3)
      broke the case that the `COMPILE_DEFINITIONS` value contains a `;`.
      Without the quoting the `;` would be generated literally in an unquoted
      argument in the test `CMakeLists.txt` file and would then be expanded.
      With quoting the `;` is preserved, which is not the old behavior.
      
      Fix this by expanding the `;`-list ahead of time.  Add test cases for
      behavior with both `#` and `;`.
      
      This was noticed with the PGI compiler where we set
      `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`.  The
      symptom had also been observed while preparing commit ef8f2376
      (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray
      fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time
      as a regression.  Revert the workaround added by that commit.
      
      Fixes: #18919
      cde2596a
  4. 13 Feb, 2019 1 commit
  5. 08 Feb, 2019 3 commits
    • Peter Stroia-Williams's avatar
      FindOctave: Add target for octinterp · 6725975b
      Peter Stroia-Williams authored
      This change adds the Octave::Octinterp target to make the octinterp
      library available without users having to resort to using the
      Octave_INTERP_LIBRARY variable.
      6725975b
    • Fred Baksik's avatar
      GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE · bcd99fac
      Fred Baksik authored
      -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
      bcd99fac
    • Brad King's avatar
      Fix EXCLUDE_FROM_ALL on directory with an interface library · f87e724e
      Brad King authored
      Since commit dc688857 (Pass EXCLUDE_FROM_ALL from directory to
      targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the
      `EXCLUDE_FROM_ALL` to targets as they are created.  This regressed
      support for interface libraries on which the property is not allowed.
      
      Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries.
      It is not needed on them because they do not participate in the
      generated build system anyway.
      
      Fixes: #18896
      f87e724e
  6. 07 Feb, 2019 1 commit
  7. 05 Feb, 2019 2 commits
  8. 04 Feb, 2019 4 commits
    • Brad King's avatar
      VS: Fix Fortran target type selection when linking C++ targets · d3d2c3cd
      Brad King authored
      Since commit 2c9f3578 (VS: Decide project type by linker lang as
      fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language
      when detecting whether to generate a `.vfproj` or `.vcxproj` file.
      However, this could cause C-only projects to become `.vfproj` files if
      they link to Fortran projects.  Instead we should consider only the
      `LINKER_LANGUAGE` property on the target itself.  This approach is
      already used for CSharp.  It allows project code to specify the project
      file type for a target with no sources but does not allow linked targets
      to affect it.
      
      Fixes: #18687
      d3d2c3cd
    • Brad King's avatar
      Xcode: Update default Swift language version for Xcode 10.2 · 96dece6d
      Brad King authored
      Xcode 10.2 no longer supports Swift language versions before 4.0.
      
      Fixes: #18871
      96dece6d
    • Gregor Jasny's avatar
      Apple: Introduce separate system name for iOS, tvOS, and watchOS · 11da882a
      Gregor Jasny authored
      - Remove code signing requirements for non-macOS
      - Do not set deployment target for non-macOS
      - Build static library for compiler feature detection for non-macOS
      - Use framework to run CompilerId tests for watchOS
      - Port tests to new SDK handling
      - Add new Apple cross-compiling section to toolchain documentation
      
      Closes: #17870
      11da882a
    • Brad King's avatar
      Tests: Isolate RunCMake.XcodeProject per-device cases from host arch · 36cf44a7
      Brad King authored
      Run all host cases before per-device cases.  Do not expose the host
      `CMAKE_OSX_ARCHITECTURES` environment value to the per-device tests.
      36cf44a7
  9. 01 Feb, 2019 4 commits
  10. 30 Jan, 2019 4 commits
  11. 29 Jan, 2019 2 commits
    • Brad King's avatar
      macOS: Restore compatibility for setting FRAMEWORK after install() · d9dd68cb
      Brad King authored
      The `FRAMEWORK` target property affects the way the `install()` command
      treats the target and so should be set first.  Our implementation
      assumed that this was always the case and led to an assertion failure.
      Prior to CMake 3.12 this was visible only when using an explicit
      `LIBRARY ... NAMELINK_ONLY` option, but commit 0212d7c7 (install: add
      NAMELINK_COMPONENT argument, 2018-04-18, v3.12.0-rc1~139^2~3) made
      it possible with a simple `LIBRARY DESTINATION`.
      
      Fully supporting out-of-order specification will require non-trivial
      refactoring to defer install generator creation to generate time.
      For now simply restore the old behavior of installing the framework
      to the library destination.
      
      Fixes: #18848
      d9dd68cb
    • chuck cranor's avatar
      ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix · ef8f2376
      chuck cranor authored
      Add implicit include parser for PGI compiler ID.  PGI verbose output
      for CXX differs from C and Fortran, so CXX is broken out into its own
      case.  The C and Fortran compilers take "-YI,path" and "-Mnostdinc" to
      change or disable the builtin include path.  The last arg on the command
      line appears to override previous args (e.g. "-YI,path1 -YI,path2" will
      set the path to "path2" ... the previous "-YI,path1" gets undone).
      The CXX compiler verbose output reports with "-I" rather than "-stdinc"
      for the built in path.  In addition with CXX "-Mnostdinc" does not
      completely zero the include path (e.g. "#include <stdio.h>" still works
      with "-Mnostdinc"... "-I/usr/include" still shows up in the verbose output).
      
      Minor adjustments to get the SunPro parser to handle Fortran as well.
      
      Fixes for Cray compiler support (Modules/Compiler/Cray-{C,CXX}.cmake):
      The *_COMPILE_OPTION flags contain options like "-h c99,gnu" ...
      these options need to be in double quotes (they are currently not).
      Otherwise, cmake treats them as lists and tries to run the compiler
      with "-h;c99,gnu" and fails when it is "Detecting C compile features"...
      Also, the Cray-CXX.cmake contains "__compiler_cray(C)" instead of
      "__compiler_cray(CXX)" -- this error prevents the correct VERBOSE
      flags for CXX from being defined which prevents the implicit include
      parser from running.
      
      Add additional test cases for PGI and SunPro Fortran to the
      Tests/RunCMake/ParseImplicitIncludeInfo area.
      ef8f2376
  12. 28 Jan, 2019 5 commits
  13. 27 Jan, 2019 3 commits
  14. 26 Jan, 2019 1 commit
  15. 25 Jan, 2019 3 commits
    • chuck cranor's avatar
      ParseImplicitIncludeInfo: add Fortran implicit include handling · 2e91627d
      chuck cranor authored
      Currently cmake is only setting CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES
      the first time it runs (the implicit includes parser is only run when
      the cache variables are initially populated).  It is left unset
      during additional runs.  This behavior is both confusing and
      inconsistent.
      
      Modify CMakeFortranCompiler.cmake.in to preserve the value of
      CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES so that cmake's Fortran
      behavior matches C and CXX (i.e. CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES
      retains its value across runs).  The implicit includes variable may
      not be as useful for Fortran as it is for C and CXX, but we do want
      cmake to be consistent in how it is handled.
      
      Adjust CMakeParseImplicitIncludeInfo to parse verbose Fortran output
      for Cray and XL compiler IDs (GNU and clang were already ok since
      they use the same verbose output format as they do with C/CXX).
      
      Allow Tests/RunCMake/ParseImplicitIncludeInfo/data/CMakeLists.txt
      to generate test inputs for Fortran too, and add some sample Fortran
      input files for the Tests/RunCMake/ParseImplicitIncludeInfo test.
      2e91627d
    • chuck cranor's avatar
      ParseImplicitIncludeInfo: handle/add SunPro, XL, and -nostdinc test cases · 56834376
      chuck cranor authored
      Add parser code for compiler IDs SunPro and XL.  For SunPro, /usr/include
      appears to be hardwired in and it does not have a -nostdinc-type flag.
      
      For XL, the "xlc" and "xlC" commands determine if you are C or C++
      based on input filename.  So compiling x.c with "xlC" reverts to C
      and compiling x.cc with "xlc" upgrades to CXX.  System include paths
      are specified by:
        -qc_stdinc=[path] and -qgcc_c_stdinc=[path] (for C)
        -qcpp_stdinc=[path] and -qgcc_cpp_stdinc=[path] (for CXX)
      If you specify "-qnostdinc" then the above flags are ignored.
      Specifying an empty path reverts the value to the default
      path (e.g. "-qgcc_c_stdinc=" reverts that to the default).
      
      Adjust the code to handle parsing the case where the user specifies
      additional compiler include flags via CMAKE_C_FLAGS/CMAKE_CXX_FLAGS.
      For example: "-DCMAKE_C_FLAGS=-nostdinc" ... note that gcc and clang
      output slightly differ when -nostdinc is specified (clang skips
      printing 'search starts here:' with the angle brackets, gcc always
      prints it).
      
      Enable sunos-{C,CXX}-SunPro test cases and add XL test cases.
      Also add a few -nostdinc style tests.
      56834376
    • lucy phipps's avatar
      Reduce size of PNG images · b9e6d045
      lucy phipps authored
      Use FileOptimizer 13.50.2431 (x86) and ZopfliPNG 1.0.2.
      
      Update expected file hashes in tests.
      b9e6d045
  16. 24 Jan, 2019 2 commits
  17. 23 Jan, 2019 2 commits