1. 18 Jun, 2019 1 commit
  2. 30 May, 2019 1 commit
    • Brad King's avatar
      Do not exclude include directories made implicit by CPATH · 2d0b0e2b
      Brad King authored
      Entries of the `CPATH` environment variable are implicitly searched as
      include directories by some C/C++ compilers.  Since commit 5990ecb7
      (Compute implicit include directories from compiler output, 2018-12-07,
      v3.14.0-rc1~108^2) these entries are detected by CMake and included in
      the `CMAKE_{C,CXX}_IMPLICIT_INCLUDE_DIRECTORIES` variables.
      
      However, we should not exclude them from explicit specification via `-I`
      or particularly `-isystem` because they are meant as user-specified
      include directories that can be re-ordered without breaking compiler
      builtin headers.  In particular, we need explicit requests via
      `include_directories` with the `SYSTEM` option to result in `-isystem`
      so that third-party headers do not produce warnings.
      
      Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
      Fixes: #19291
      2d0b0e2b
  3. 24 May, 2019 1 commit
    • Brad King's avatar
      Utilities/Release: Replace upload step with a "push" script · 9bf97363
      Brad King authored
      Replace the `upload_release.cmake` script with a `push.bash` script
      that is more configurable from the command line and that does not
      hard-code any destinations.  Instead of using `scp` to access
      `cmake.org` directly, push the files atomically to a staging
      directory from which another process will actually upload them.
      9bf97363
  4. 17 May, 2019 1 commit
  5. 15 May, 2019 1 commit
    • Sebastian Holtermann's avatar
      Test: Improve WarnUnusedCliUnused to run on all generators · 4edc0ef3
      Sebastian Holtermann authored
      In the WarnUnusedCliUnused test, the whole CMakeCache.txt was removed in the
      clean stage to trigger the same CMake warning in re-builds.  This technique
      worked only in the Makefile generators and the test was limited to these.
      
      Now only the variable of interest is removed from the cache by using a
      `unset(UNUSED_CLI_VARIABLE CACHE)` statement in the CMakeLists.txt file.
      This makes the WarnUnusedCliUnused test run on all generators
      4edc0ef3
  6. 14 May, 2019 1 commit
  7. 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
  8. 11 Apr, 2019 2 commits
    • Fred Baksik's avatar
      GHS: Update tests and notes · 2bae6a13
      Fred Baksik authored
      -- add new tests for custom commands
      -- minor test cleanup
      
      Fixes #15995
      Fixes #18909
      Fixes #15902
      2bae6a13
    • Fred Baksik's avatar
      GHS: Update project layout to build targets correctly · 5d2e1404
      Fred Baksik authored
      -- Restructure projects and files to support proper building of targets
         Build order is determined by hierarchy of project files and folders
         Custom targets may have been run multiple times in the original file / folder structure
      -- Default to build targets that are part of ALL target
      -- List all known targets for this project
         Includes global targets for ALL_BUILD and INSTALL
      -- Compute build order for building targets
      5d2e1404
  9. 21 Mar, 2019 1 commit
  10. 18 Mar, 2019 1 commit
  11. 15 Mar, 2019 1 commit
  12. 14 Mar, 2019 1 commit
  13. 26 Feb, 2019 1 commit
    • Brad King's avatar
      FindOctave: Remove module pending further work · 7a1f3fe0
      Brad King authored
      The `FindOctave` module added by commit 170bcb6f (FindOctave: Add
      module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
      problems in its implementation that need to be worked out before the
      module can be included in a CMake release.  These were missed during
      review.  Remove the module for now.  It can be restored later with a
      fresh review.
      
      Issue: #18991
      7a1f3fe0
  14. 13 Feb, 2019 1 commit
  15. 11 Feb, 2019 1 commit
    • Zsolt Parragi's avatar
      Tests: Teach tests when to treat clang-cl as MSVC · 091afa73
      Zsolt Parragi authored
      * Disable the system include unused variable test in ExportImport when
        clang is in MSVC compatible mode.
      
      * Disable CxxDialect testcase when clang is in MSVC compatible mode, as
        it doesn't support `typeof`.
      
      * Teach Module.WriteCompilerDetectionHeader to treat clang-cl as MSVC.
      
      * Disable the SystemIncludeDirectories testcase within
        IncludeDirectories when clang is in MSVC compatible mode.
      
      * Disable the CMakeOnly.CheckCXXCompilerFlag testcase when clang is in
        MSVC compatible mode.
      
      * Treat clang-cl as MSVC in LinkOptions.cmake in the try_run and
        try_compile testcases.
      091afa73
  16. 08 Feb, 2019 1 commit
  17. 06 Feb, 2019 2 commits
  18. 27 Jan, 2019 1 commit
  19. 24 Jan, 2019 1 commit
  20. 21 Jan, 2019 1 commit
  21. 18 Jan, 2019 1 commit
    • Andrew Paprocki's avatar
      Fortran: Add compiler ID/Version generator expressions · a0809142
      Andrew Paprocki authored
      Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator
      expression support to match equivalent `C_COMPILER_ID`,
      `CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION`
      support.
      
      This is very helpful in the case where the C/C++ compiler suite is a
      different type of compiler from the platform Fortran compiler and
      projects use generator expressions to assign compiler flags and
      definitions.  (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
      a0809142
  22. 17 Jan, 2019 2 commits
  23. 16 Jan, 2019 6 commits
    • Fred Baksik's avatar
      GHS: Update test suite · 21ab58d3
      Fred Baksik authored
      -- Allow for testing default toolset settings
         If CMake_TEST_GreenHillsMULTI_config is not defined then
         just run the GHS tests using defaults.
      -- Handle paths that contain spaces
      -- Update test suite to use "-non_shared" linker option
         Fixes linking issue if GHS is not shipped with shared libraries
      -- Other minor cleanup
      21ab58d3
    • Fred Baksik's avatar
      GHS: Add Compiler ID detection · 72e0c115
      Fred Baksik authored
      -- Detect GHS compiler and version
         Detect ARCHITECTURE_ID for PPC / ARM / 86 targets
         Detect PLATFORM_ID for Integrity and Integrity178 platforms
         Using defines specified in the documents for the compilers: 201416 PPC / 201754 ARM / 201714 86
      -- Fallback C/CXX compiler ID to GHS if not otherwise detected and using GHS MULTI generator
         Works around issue with some GHS compilers not setting __ghs__ compiler define
      -- Tweak Compiler ID checking so major id of 002017 is not replaced with 217
      -- Prefer try_compile() library targets when testing for working GHS compilers
      -- Avoid CMake errors if reading past end of file for checking if file is PE executable
      72e0c115
    • Fred Baksik's avatar
      GHS: Append ".gpj" to target name when generating build command · 1a66acde
      Fred Baksik authored
      -- Add test demonstrating issue
      -- In the case of executable targets the target name is usually the same as used in "-o filename"
         But for static libraries the target name is usually "-o libname.a"
         "gbuild.exe target" will build whatever target matches against even the output from the compiler or linker
         But the targets in "cmake --build . --target name" should be target names in CMakeLists.txt not the actual filenames
         So change the "name" to "name.gpj" so it matches the target name in CMakeLists.txt.
      
      Fixes #15975
      1a66acde
    • Fred Baksik's avatar
      GHS: Integrity Application updates · 0c9e47d7
      Fred Baksik authored
      -- Check the property "ghs_integrity_app" on executables to set [INTEGRITY Application]
         If the property is not set then check if an integrate file is one of the source files (.int file).
         Dynamic Downloads that do not have an integrate file can use this property along with setting
         the compiler flag "-dynamic".
      
      -- Remove parsing for -dynamic flag; it is only used to print a comment
         The MULTI GUI will show if it is a Monolith or Dynamic Download application
      
      -- Use project references to specify which executables are part of the Integrity Application
         Usually Implicit Dependency Analysis will ensure that executable targets
         become part of the application.  This does not work for Dynamic Download without integrate files.
         Use `add_dependencies(dd vas)` to mark that the vas target is part of dd target.
      
      -- Update file locations in the Integrate files.
      0c9e47d7
    • Fred Baksik's avatar
      GHS: Cleanup how source files are listed · e7825386
      Fred Baksik authored
      -- Sort the items of the project files, previously they were unsorted
         The layout is similar to Visual Studio projects
      -- Do not make a make a tree of directories and projects files
         The main project file is in the binary folder
         The sub-project files are located in the project object directory
         This is similar to the Makefile generator
      -- Allow the creation of a single project file
         If the variable or target property GHS_NO_SOURCE_GROUP_FILE is set
         then all sources will be listed in the main project file
      e7825386
    • Fred Baksik's avatar
      GHS: Update test suite · 5cef3c61
      Fred Baksik authored
      -- Update test suite so that CMake can use multiple toolsets
             CMake_TEST_GreenHillsMULTI_config
             ghs_config_name
             ghs_target_arch
             ghs_tools
             ghs_toolset_name
             ghs_os_root
             ghs_os_dir
             ghs_target_platform
             ghs_bsp_name
      
      -- Change ARM Integrity test to generic Integrity test
         Add Monolithic build test
      
      -- Add other GHS generator tests
      5cef3c61
  24. 11 Jan, 2019 1 commit
  25. 10 Jan, 2019 2 commits
  26. 12 Dec, 2018 1 commit
  27. 06 Dec, 2018 1 commit
  28. 20 Nov, 2018 1 commit
    • Maximilian Heinzler's avatar
      FindGIF: Add test · 6962a41e
      Maximilian Heinzler authored
      This tests whether GIFLIB can be found and the linker works. For newer
      versions (>=5) it also tests if the version was parsed correctly.
      6962a41e
  29. 15 Nov, 2018 1 commit
  30. 06 Nov, 2018 1 commit
  31. 01 Nov, 2018 1 commit