1. 08 Nov, 2018 1 commit
  2. 06 Jun, 2018 1 commit
  3. 10 May, 2017 1 commit
    • Christian Pfeiffer's avatar
      SunPro: Use -fpp to process all files · 1cd40bd2
      Christian Pfeiffer authored
      By using only -F, SunPro does not process files that don't have a .F or
      .F90 extension. This means that the preprocess rules don't quite work as
      expected, for instance breaking the Ninja generator's behavior during
      cmake_ninja_depends.
      1cd40bd2
  4. 22 Sep, 2016 1 commit
    • Brad King's avatar
      Ninja: Add explicit preprocessing step for Fortran · 39ebfc79
      Brad King authored
      All Fortran sources need to be preprocessed before any source may be
      compiled so that module dependencies can be (later) extracted.  Factor
      out an explicit preprocessing step preceding compilation.  Use Ninja
      depfile dependencies on the preprocessing step and then compile the
      already-preprocessed source with a separate build statement that depends
      explicitly only on the preprocessor output.  Later we will insert
      dynamic discovery of module dependencies between these steps.
      39ebfc79
  5. 06 Jul, 2016 1 commit
    • Brad King's avatar
      Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files · a66004be
      Brad King authored
      Document these variables.
      
      Change our convention for setting these variables from:
      
          set(CMAKE_C_FLAGS_INIT "...")
      
      to
      
          string(APPEND CMAKE_C_FLAGS_INIT " ...")
      
      so that any value previously set by a toolchain file will be used.
      
      Automate the conversion with:
      
          sed -i 's/set *(\(CMAKE_\(C\|CXX\|Fortran\|RC\|ASM\|${[^}]\+}\)_FLAGS\(_[^_]\+\)\?_INIT \+"\)/string(APPEND \1 /' \
            Modules/Compiler/*.cmake Modules/Platform/*.cmake
      
      and follow up with some manual fixes (e.g. to cases that already
      meant to append).  Also revert the automated changes to contexts
      that are not protected from running multiple times.
      a66004be
  6. 13 Jul, 2015 1 commit
    • Brad King's avatar
      Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables · c736de7b
      Brad King authored
      Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
      placeholder instead of putting -I in <FLAGS>.  Update our values for
      
        CMAKE_<LANG>_COMPILE_OBJECT,
        CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
        CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE
      
      to place <INCLUDES> just before <FLAGS>.
      c736de7b
  7. 20 Mar, 2015 1 commit
  8. 23 Dec, 2014 1 commit
    • Brad King's avatar
      Oracle/Sun: Fix Fortran preprocessor rule generation · be1109d8
      Brad King authored
      The SunPro Fortran compiler uses "-F" instead of "-E" to request
      preprocessing.  The output does not go to stdout so use "-o" to
      specify the output file.
      
      This fixes the guess originally made by commit b6b37e30 (Makefile: Add
      assembly and preprocessed targets for Fortran, 2014-11-05).
      be1109d8
  9. 10 Nov, 2014 1 commit
  10. 15 Aug, 2012 1 commit
  11. 13 Aug, 2012 1 commit
    • Kitware Robot's avatar
      Convert CMake-language commands to lower case · 77543bde
      Kitware Robot authored
      Ancient CMake versions required upper-case commands.  Later command
      names became case-insensitive.  Now the preferred style is lower-case.
      
      Run the following shell code:
      
      cmake --help-command-list |
      grep -v "cmake version" |
      while read c; do
          echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      77543bde
  12. 31 Aug, 2011 1 commit
    • Brad King's avatar
      Fortran: Add support for free- and fixed-form flags · 5c0c635a
      Brad King authored
      Define a "Fortran_FORMAT" target and source file property.  Initialize
      the target property from a "CMAKE_Fortran_FORMAT" variable.  Interpret
      values "FIXED" and "FREE" to indicate the source file format.  Append
      corresponding flags to the compiler command line.
      5c0c635a
  13. 17 Apr, 2010 1 commit
  14. 28 Jan, 2010 1 commit
  15. 01 Dec, 2009 1 commit
    • Brad King's avatar
      Drop -rdynamic from Linux build rules · 1f06c33f
      Brad King authored
      This is a GNU-specific option that should not be specified for all
      compilers on Linux.  It tells the GNU compiler to pass -export-dynamic
      to the linker to export symbols from executables for use by plugins.
      Since we provide the ENABLE_EXPORTS target property to do the same thing
      in a cross-platform way, there is no need to pass -rdynamic always.
      
      Since the option is not useful for GNU tools and breaks other tools on
      Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS.
      This also allows us to stop setting the variable in other Linux compiler
      files just to erase the bad flag.
      
      See issue #9985.
      1f06c33f
  16. 21 Aug, 2009 1 commit
    • Brad King's avatar
      Split SunPro compiler information files · 9ee0f980
      Brad King authored
      This moves platform-independent SunPro compiler flags into separate
      "Compiler/SunPro-<lang>.cmake" modules.  Platform-specific flags are
      left untouched.
      9ee0f980
  17. 23 Jul, 2009 1 commit
    • Brad King's avatar
      ENH: Implicit link info for C, CXX, and Fortran · 07ea19ad
      Brad King authored
      This teaches CMake to detect implicit link information for C, C++, and
      Fortran compilers.  We detect the implicit linker search directories and
      implicit linker options for UNIX-like environments using verbose output
      from compiler front-ends.  We store results in new variables called
      
        CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
        CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
      
      The implicit libraries can contain linker flags as well as library
      names.
      07ea19ad