Commit Graph

52 Commits

Author SHA1 Message Date
Brad King 86578eccf2 Simplify CMake per-source license notices
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
2016-09-27 15:14:44 -04:00
Nico Heßler 1ca2d5d1db cmake-gui: Add button to open the generated project
Look for VS or Xcode project files at the top of the build tree.
If present, enable an "Open Project" button to open them through
the OS desktop services.
2016-09-13 16:11:29 -04:00
Kitware Robot d9fd2f5402 Revise C++ coding style using clang-format
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.
2016-05-16 16:05:19 -04:00
Brad King e1c7747253 Format include directive blocks and ordering with clang-format
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first).  First
run `clang-format` with the config file:

    ---
    SortIncludes: false
    ...

Commit the result temporarily.  Then run `clang-format` again with:

    ---
    SortIncludes: true
    IncludeCategories:
      - Regex:    'sys/types.h'
        Priority: -1
    ...

Commit the result temporarily.  Start a new branch and cherry-pick the
second commit.  Manually resolve conflicts to preserve indentation of
re-ordered includes.  This cleans up the include ordering without
changing any other style.

Use the following command to run `clang-format`:

    $ git ls-files -z -- \
        '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
      egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
      egrep -z -v '^Source/cm_sha2' |
      egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
      egrep -z -v '^Utilities/(KW|cm).*/' |
      egrep -z -v '^Tests/Module/GenerateExportHeader' |
      egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
      xargs -0 clang-format -i

This selects source files that do not come from a third-party.

Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
2016-04-29 13:58:54 -04:00
Brad King 180538c706 Source: Stabilize include order
Each source file has a logical first include file.  Include it in an
isolated block so that tools that sort includes do not move them.
2016-04-29 13:58:31 -04:00
Michael Scott 67211011d9 cmake-gui: Add options to control warning messages
Create a new dialog window for the cmake-gui that provides controls for
setting the state of suppression of developer and deprecated warning
messages.  This replaces the previous single checkbox for setting the
state of suppression of developer warnings.

Added a note for the new functionality to the release notes.
2015-12-10 09:28:31 -05:00
Gregor Jasny fc656fa4fe cmake-gui: Add regex explorer window 2015-12-03 21:45:54 +01:00
Sergey Zolotarev cfec180d66 cmake-gui: Remember variable type in Add Entry
Store variable types together with their names in the variable completion
list so that the type is automatically recovered when you select a variable.

Keep variable names and types in separate lists.  This removes the :TYPE
string from completion list and the Name field and makes variable search
easier.  The variable names and types are now kept in two different
settings - AddVariableNames and AddVariableTypes.  Drop the old
AddVariableCompletionEntries setting.
2014-01-16 09:23:36 -05:00
Marc Bartholomaeus 6e57724fc3 cmake-gui: Add function for going to next error message in Output window
Using new shortcuts: F8 (Visual Studio) and Ctrl-. (Eclipse)

Signed-off-by: Alex Neundorf <neundorf@kde.org>
2013-04-24 15:32:42 -04:00
Marc Bartholomaeus 4ce65e82f5 cmake-gui: Add search functions to the context menu of the Output widget
Signed-off-by: Alex Neundorf <neundorf@kde.org>
2013-04-24 15:32:42 -04:00
Marc Bartholomaeus df3663bfab cmake-gui: Add search functions for Output window (#9733)
Signed-off-by: Alex Neundorf <neundorf@kde.org>
2013-04-24 15:32:34 -04:00
Alex Neundorf b0d01c306b cmake-gui: add completion for the names when adding cache entries
Up to 100 completion strings for the names of added variables
are saved in the settings, so it will remember the variables
you are usually adding.
It also ensures that CMAKE_INSTALL_PREFIX is always there, since
this is maybe the one which is set most often.

Alex
2011-11-19 22:21:41 +01:00
Alex Neundorf 08c59af4de Remove trailing whitespace
Alex
2011-11-19 22:19:48 +01:00
Brad King 182eb7c7ef Merge topic 'dev/strict-mode'
dd2f814 Merge branch 'dev/add_test-working-directory' into dev/strict-mode
949d32c Unwatch manual variables upon removal in cmake-gui
3939032 Unwatch manual variables upon removal in ccmake
8354413 Add method to unwatch a manual variable
8ed3c85 Give a better message for unused variables
729db48 Fix ArgumentExpansion test expected results
89c2544 Checking for a definition is a usage
5625dee Don't output to stderr in the GUI
ad25a96 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
c128abe Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
9bcaff0 Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
544d0c3 Fix expected output for WarnUninitialized test
4e3bea4 Update expected messages to new format
8e8c9e4 Don't check at destruction for usage
668e005 Use cmake::IssueMessage for warnings
88cd4c1 Use 'CMake Warning' versus 'warning' for CDash
3c3b98d Initialize the class before setting warn flags
cf8b15a Ignore files under the CMakeFiles directory
fd50f06 Don't check for unused vars at configure time
447a04c Don't warn during configure when doing everything
b97ee21 Check for unused variables at the end of generate
c18c977 When checking for variables, specify a reason
3f1121f Use a long int since Line is a long as well
2507f93 Change the failure case string to 'Unexpected'
fe390a2 Add 'ArgumentExpansion' test
8dbb209 Wrong boolean value for CLI warnings
d4ee998 Hard-code the --no-warn-unused-cli flag
a267b99 Fix line lengths
82ed104 Flag that the directories have been set
5aa535b Add argument to arg parsing to not set directories
367e5c3 Revert "Revert "When calling CMake, set the args and the cache""
ab5d4e4 Revert "When calling CMake, set the args and the cache"
9b90040 When calling CMake, set the args and the cache
fe56002 Fix long lines for KWStyle
5d30cfc Set a watch on variables added through the gui
33c63b1 Add a method to put a watch for variables
535253f Initialize the warning variables earlier
cbb286c Fix the path detection to work for top-level
62be1f7 Initialize the usage stack earlier
c6e7fab Factor out the checks for unused variables
5e41ba8 When using the API, check for Add vs. Remove
dee1976 Fix typo in VariableUnusedViaUnset test
f231ce5 Remove old false positive avoidance code
a117e02 Revert "Add test for unused warnings at the end of scope"
2c82f2b Exempt CMAKE(CURRENT|PARENT)_LIST_FILE from usage
6d7d449 Ignore CLI warnings for ABI determination
7740a73 Only return local keys that are defined
bef3aee Use the API so that warnings can be tracked
05cb0f4 Check for unused variables in the dtor
91c4c99 Add test for unused warnings at the end of scope
ca90f67 Fix detection of unused variables when setting
f7438ca Add test for unused detection via setting it
995cfb0 Don't warn if the variable wasn't defined
aefc91d Add test for usage checks via unset
a8e97f8 Remove VarRemoved code since it's been superceded
59463ef Rework CheckVariableForUnused usage
f117423 Fix line lengths to be no more than 78
e49a935 Improve unused warning logic
e01e40c Mark ARGC, ARGV*, and ARGN as used
a17aff7 Ignore CMAKE_MATCH_* variables for usage
02a114d Add method to allow variables to be marked as used
a0b0d23 CMAKE_DO_TRY_COMPILE is no longer used
ae3eff3 Fix the path used for ignoring system warnings
056b441 Fix missing case for usage of a variable
980e048 Factor out checks for unused variables
83acb0a Remove now unused variables
3801463 Use built-ins for readability and maintainability
8b52015 Push the initialize and unused states when copying
439877f Be consistent with single and double quotes
4cf1706 Add documentation for check-system-vars
b74777f Fix the spelling of the flag for warn-unused-vars
b948120 Change logic of flag to turn off cli unused checks
f047a17 Add test for uninitialized variables
75bda38 Add tests for unused command line variables
300fc15 Fix detection of system files
d784e6a Run the unused variables check on the final pass
9efc057 VariableWatch is not available when bootstrapping
2e78224 Add a missing comma to the warning message
7499700 Add a flag to warn about system files
fff9f6d Rename flags again and use variablewatch for cli
786e269 Add warn-unused to the Qt interface
636e6c4 Default to marking things as used
4ff0340 Rename find-unused to warn-unused
d7999e9 Rename strict-mode to warn-uninitialized
e141bc9 Detect unused variables
d3e8eb5 Add flags to detect unused variables
f332e14 Complete strict-mode checks for uninitialized vars
52f9637 Add method to get the local scope variables
f794d58 Make --strict-mode option, and integrate with cmake-gui
48b5b85 Add a warning when variables are used uninitialized.
cd626ea For macros make sure the FilePath points to a valid pointer in the args.
2011-01-27 15:34:07 -05:00
Clinton Stimpson 3f158c6dfa cmake-gui: always enable generate button. 2010-12-17 19:04:57 -07:00
Ben Boeckel fff9f6d6f7 Rename flags again and use variablewatch for cli 2010-09-01 13:09:08 -04:00
Ben Boeckel 786e2695cb Add warn-unused to the Qt interface 2010-09-01 13:08:15 -04:00
Ben Boeckel d7999e9b29 Rename strict-mode to warn-uninitialized 2010-09-01 13:08:14 -04:00
Bill Hoffman f794d589a4 Make --strict-mode option, and integrate with cmake-gui 2010-09-01 13:08:14 -04:00
Clinton Stimpson 9ced0bf69b ENH: Add simple grouped view. 2010-04-26 16:06:52 -06:00
Brad King 96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Clinton Stimpson 0b49e4ad1e fix focus fighting between search field and cache value editors 2009-09-04 16:43:07 -04:00
Clinton Stimpson 17acf0a310 ENH: Add a "Show my changes" to the Tools menu.
Changes by the user are recorded and when requested, it shows
      -D arguments for commandline or contents for a cache file.
2009-07-17 14:38:36 -04:00
Clinton Stimpson f729538aaa ENH: Replace Advanced checkbox and group option in menu with a combo box to
choose view type.
2008-07-05 13:25:04 -04:00
Clinton Stimpson b1c31be668 ENH: Make original flat view the default.
Add option to switch to grouped view (and remember it).
2008-06-13 11:19:53 -04:00
Clinton Stimpson f8f4140b6c ENH: Add cross compiling support in the GUI in the same dialog that prompts for
the generator on the first configure.  It either ask for a toolchain file
      or asks for all the information a toolchain file might contain.

      Also added option for setting non-default compilers if not cross compiling.
      Fixes #6849.

      Also a bit of code cleanup and re-organizing.
2008-05-15 19:21:01 -04:00
Clinton Stimpson 3052d2c854 BUG: Fix issue when non-error messages were incorrectly colored red. 2008-04-14 16:15:28 -04:00
Clinton Stimpson 7d2bbfe842 BUG: Fix #6733. Always convert "\" to "/" in source & binary directory fields on Windows. 2008-04-07 19:19:50 -04:00
Bill Hoffman 5d01572348 ENH: add ability to create symlinks for command line on mac from gui 2008-04-03 16:18:37 -04:00
Clinton Stimpson 7ff914227d ENH: Add debug output option to a new Options menu.
Move dev warnings option to the new Options menu.
      Fixes #6335.
2008-04-02 17:41:24 -04:00
Clinton Stimpson 76ed89cede ENH: Allow cancelling the dialog that prompts for the generator. 2008-04-02 14:01:37 -04:00
Bill Hoffman 420725077c ENH: add ability to suppress dev warnings to gui code 2008-03-11 22:51:56 -04:00
Clinton Stimpson df3169273a ENH: Add shortcut to start search/filter.
A bit of cleanup.
      Disable tab navigation in cache variable list.
      Enable home/end keys.

BUG:  Ensure currently edited values are saved before doing configure.
2008-02-14 18:18:10 -05:00
Bill Hoffman 7b1c305d86 ENH: make sure html < > & stuff is escaped for the output window 2008-02-14 15:06:05 -05:00
Clinton Stimpson 41ad9d20df ENH: Use translation file if it exists for the locale.
Consolidate some strings.

      More responsive interrupting.  Prompt user if they try to close during
      configure, and allow them to close.
2008-02-01 10:41:29 -05:00
Clinton Stimpson a81896eaed ENH: Add ability to add cache entries (even before first configure). 2007-11-12 23:54:49 -05:00
Clinton Stimpson fcc62c6d0d BUG: Fix pause at shutdown.
ENH: Remove interrupt button and make configure/generate turn to stop during runs.
ENH: Add text to remove cache entry button.
2007-11-12 17:41:15 -05:00
Clinton Stimpson 5a539b731b ENH: Re-arrange UI a bit.
BUG:  Properly update when values that changed since the last configure.
2007-11-10 11:36:09 -05:00
Clinton Stimpson 57e46c74d4 BUG: Don't prompt for unsaved changes if no changes were made.
ENH:  Error messages go to output window instead of message boxes.
2007-11-09 15:18:49 -05:00
Clinton Stimpson c05f8aa70e ENH: remove status bar and move interrupt/progress next to configure/generate. 2007-11-07 11:31:55 -05:00
Clinton Stimpson 31d4280bf3 BUG: Fix behavior of CMakeSetupDialog::set{Binary|Source}Directory
so they work right when called externally.
      Disable the generate button when one hits configure again.
ENH:  Some UI tweaks for spacing.
      Allow viewing cache values while configure/generate (but not edit).
2007-11-07 10:09:02 -05:00
Clinton Stimpson 7294b27293 BUG: Put back read/write of original WhereBuild* settings.
ENH:  Make public a couple functions to support command line args.
      Try removing exit after generate to see if others like it.
COMP:  Fix warnings.
2007-11-06 21:27:45 -05:00
Clinton Stimpson 1e91100599 ENH: Disable menu/buttons when doing configure.
Also disable generate until configure is done.
      Save more settings (last 10 binary directories, exit after generate,
                          last generator)
      Some UI tweaks for better layout.
      Support drag & drop of CMakeLists.txt/CMakeCache.txt files.
2007-11-06 19:25:43 -05:00
Clinton Stimpson e8a208384c ENH: Add menus in menu bar.
Add reload & delete cache options.
      Add option to quit after generation step (not yet remembered between sessions).
      Add Help -> About
      Remove Help button (in menu now)
      Remove Cancel button (File -> Exit and the Window 'X' button exist)
2007-11-06 01:16:11 -05:00
Clinton Stimpson b61e5ff0f2 ENH: search is case insensitive
ENH:  put back prompt for generator, and change combo to label
      showing current generator.
2007-11-06 00:02:08 -05:00
Clinton Stimpson a7746624e8 ENH: Replace prompt for generator with combobox in UI.
ENH:  Make "Show Advanced" toggle work.
ENH:  Add regex search capabilities.
ENH:  Read existing registry entries from MFC CMakeSetup.exe (will save later).
2007-11-05 19:26:18 -05:00
Clinton Stimpson cfa723d457 ENH: Prompt user for generator when there is none.
Many minor improvements, bug fixes, and style fixes.
2007-11-05 13:20:54 -05:00
Clinton Stimpson 8770969464 ENH: Allow working with empty build directories.
Make output window a bit smaller compared to cache view.
      Prompt on X'ing window as well as hitting cancel.
      Color new cache values red, and put them first.
2007-11-03 19:48:59 -04:00
Bill Hoffman c27953b62f ENH: remove qt warnings from qt with MS compiler 2007-11-03 12:50:02 -04:00
Clinton Stimpson 77ad85a6ab ENH: Add interrupt button near progress bar.
Implement help button.
      Implement cancel button.
      Add scrollable output window.
      Replace ON/OFF & combobox editors with checkboxes.
      Tab/backtab in cache table jumps between values (not names and values)
      Add tooltips to show help strings.
      Add application icon and qtmain for Windows.

BUG:  Fix save of cache values on configure.
2007-11-03 10:30:52 -04:00