Commit Graph

110 Commits

Author SHA1 Message Date
Brad King ec76a9c22f cmake-gui: Restore embedded version information in Windows binary
Refactoring in commit 89a1e1c1be (Build: Link w/ `OBJECT` library is OK
since 3.12, 2022-08-21, v3.25.0-rc1~97^2~19) dropped the `.res` object
containing this information from the `cmake-gui` link line.  Restore it.
2022-11-09 16:54:46 -05:00
Brad King 440822fa5c Source: Fix regression causing CMakeLib sources to be compiled repeatedly
In commit 4ff8604604 (Build: Do not use variables for sources lists,
2022-08-21) the sources of `CMakeLib` were accidentally made PUBLIC.
This causes them to be compiled again in all consuming targets.
Make the sources PRIVATE instead.
2022-10-05 12:51:44 -04:00
Alex Turbov f31c784a2d Build: Eliminate one time used variable 2022-09-22 09:24:48 -04:00
Alex Turbov 89a1e1c1be Build: Link w/ OBJECT library is OK since 3.12 2022-09-22 09:24:48 -04:00
Alex Turbov 3b32a1a820 Build: Introduce ManifestLib interface library
… instead of `MANIFEST_FILE` variable.
2022-09-22 09:24:48 -04:00
Alex Turbov 83491ddd43 Build: add_definitions()add_compile_definitions() 2022-09-22 09:24:48 -04:00
Alex Turbov 4ff8604604 Build: Do not use variables for sources lists
Instead use `add_library()` with unconditionally compiled sources and
conditional `target_sources()` with extra sources to compile.
2022-09-22 09:24:47 -04:00
Alex Turbov 0aed435b35 Build: Simplify configure_file() calls 2022-09-22 09:24:47 -04:00
Alex Turbov dd28d76203 CMakeLists: Remove redundant spaces around CMake command calls 2022-09-22 09:24:46 -04:00
Alex Turbov a509602699 Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
Kyle Edwards 9f48a468cd Merge branch 'master' into cmake-gui-qrc-fix 2021-01-11 15:00:51 -05:00
Kyle Edwards e20560a2dc cmake-gui: Restore linking of Qt resources
Refactoring in commit 41e223deb3 (CMake GUI: Split up into libraries,
add test shim, 2020-09-14, v3.19.0-rc1~116^2~2) broke linking of Qt
resources, such as the Add/Remove Entry button icons.

Fixes: #21682
2021-01-11 14:57:53 -05:00
Brad King 2c5f30b472 cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+
According to https://bugreports.qt.io/browse/QTBUG-59428, Qt 5.10 and
above moved macOS style handling into a separate `qmacstyle` plugin.
Install the plugin in our `CMake.app` package on macOS.

Issue: #21606
2021-01-07 16:10:07 -05:00
Brad King 63079b97f0 cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+
According to https://bugreports.qt.io/browse/QTBUG-59428, Qt 5.10 and
above moved macOS style handling into a separate `qmacstyle` plugin.
Install the plugin in our `CMake.app` package on macOS.

Issue: #21606
2021-01-07 13:22:31 -05:00
Brad King a6abe70e72 cmake-gui: Restore minimal plugin installation for Qt5
Since commit f1de6f6682 (cmake-gui: Support building against Qt6,
2020-12-17) all available plugins for each Qt component are installed.
This installs more than we need for CMake, so restore Qt5-specific logic
to install only the plugins did before.
2021-01-07 13:19:48 -05:00
Brad King 8dd88a5224 cmake-gui: Restore exclusion of static plugin installation
This was broken by commit f1de6f6682 (cmake-gui: Support building
against Qt6, 2020-12-17).
2021-01-07 13:19:48 -05:00
Brad King a65db7ef6a cmake-gui: Restore installation of Qt plugin dependencies
Fix logic from commit f1de6f6682 (cmake-gui: Support building against
Qt6, 2020-12-17) to restore population of the `QT_PLUGINS` variable used
in our `fixup_bundle` call.
2021-01-07 13:19:48 -05:00
Brad King 321cb5978f cmake-gui: Remove outdated FIXME comment about plugin installation
Qt plugin installation conventions are now well-established.
2021-01-07 13:19:48 -05:00
Brad King d391d05e3a cmake-gui: Fix CMake_QT_MAJOR_VERSION string comparison
Fix the string comparison added by commit 2e4cbaa521 (cmake-gui: Add a
Qt version control variable, 2020-12-28).  The version-based comparison
is not meant for arbitrary strings.
2021-01-07 13:19:48 -05:00
Sankhesh Jhaveri 2e4cbaa521 cmake-gui: Add a Qt version control variable 2021-01-05 11:03:31 -05:00
Sankhesh Jhaveri 684dcdbc5b cmake-gui: Prefer local variable for Qt major version
QT_DEFAULT_MAJOR_VERSION was added in Qt 5.15 and CMake supports Qt versions >= 5.9
2021-01-05 11:03:30 -05:00
Sankhesh Jhaveri 50fcc94bc5 cmake-gui: Support installation for both Qt5 and Qt6 plugins 2021-01-05 11:03:30 -05:00
Sankhesh Jhaveri 2a2942a42e cmake-gui: Use a consistent Qt major version variable name 2021-01-05 11:03:30 -05:00
Sankhesh Jhaveri f1de6f6682 cmake-gui: Support building against Qt6 2021-01-05 11:03:30 -05:00
Brad King 440ee739c4 cmake-gui: Attach icons only to main GUI executables
In commit efe48189bf (cmake-gui: Restore application icon on macOS,
2020-10-13, v3.19.0-rc1~2^2) and commit f7ae4f572b (cmake-gui: Restore
application icon on Windows, 2020-10-13, v3.19.0-rc1~1^2) we attached
the icon source files to all consumers of `CMakeGUILib`, but that
includes other libraries like `CMakeGUIMainLib`.  The latter library is
meant only for direct consumption by a GUI executable, so use that to
propagate the icons instead.
2020-10-14 09:35:58 -04:00
Brad King f7ae4f572b cmake-gui: Restore application icon on Windows
In commit 41e223deb3 (CMake GUI: Split up into libraries, add test shim,
2020-09-14) the Windows resource source file that references the icon
was moved to CMakeGUILib, but it needs to be directly in the main
application in order to be attached properly.
2020-10-13 12:09:28 -04:00
Brad King efe48189bf cmake-gui: Restore application icon on macOS
In commit 41e223deb3 (CMake GUI: Split up into libraries, add test shim,
2020-09-14) the macOS icon source file was moved to CMakeGUILib, but it
needs to be directly in the main application in order to be attached to
the `.app` in the right place.
2020-10-13 10:35:14 -04:00
Kyle Edwards a4382f72d7 CMake GUI: Add presets functionality 2020-10-05 09:49:59 -04:00
Kyle Edwards 85f5009d27 CMake GUI: Add environment editor 2020-09-28 09:46:35 -04:00
Kyle Edwards 41e223deb3 CMake GUI: Split up into libraries, add test shim 2020-09-23 14:10:40 -04:00
Ben Boeckel 4037beb747 QtDialog: remove Qt4 definition 2020-06-09 10:31:00 -04:00
Ben Boeckel 8ea50749da QtDialog: use Qt5's imported targets 2020-06-05 11:55:56 -04:00
Ben Boeckel 4ccc9921be QtDialog: use qt5 functions for special Qt sources
Automoc is not supported in bootstrap builds, so it cannot be used
unconditionally.
2020-06-05 11:54:48 -04:00
Ben Boeckel e4d6015460 QtDialog: remove Qt4 support 2020-06-05 08:46:40 -04:00
Brad King b7509dd674 Add option to configure Ninja link job pool for CMake's own binaries
Create an undocumented `CMake_JOB_POOL_LINK_BIN` option that builders
can set to avoid linking too many of our binaries at once.
2019-10-10 13:28:45 -04:00
Brad King dd8c2f3e57 cmake-gui: Drop code not needed with current required CMake version 2019-03-14 11:15:34 -04:00
Julien Jomier 9175a378f5 QtDialog: Add windows taskbar progress 2018-11-20 17:16:08 +01:00
Brad King 45f6aa3235 Windows: Embed version information into cmake-gui
In commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25) we accidentally left out cmake-gui.
2018-01-30 11:51:03 -05:00
Luz Paz 3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Brad King 27a73f1613 cmake-gui: Add build option to use Qt5 windows plugin statically
This will enable builds against a static Qt5 on Windows.
2017-11-13 09:54:49 -05:00
Daniel Pfeifer 50dd15af58 QtDialog: block include-what-you-use 2017-05-06 00:03:48 +02:00
Daniel Pfeifer b13bc8659f Disable clang-tidy checks on files generated by Qt 2017-04-28 09:45:21 +02:00
Clinton Stimpson 86787633f8 cmake-gui: Fix display of icon under Wayland.
Fixes: #16797
2017-04-17 16:48:25 -06:00
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
Brad King 73a3c0cd98 cmake-gui: Add build option to use Qt5 xcb plugin statically
This will enable builds against a static Qt5.
2016-06-30 11:26:53 -04:00
Brad King 9ad10c8feb cmake-gui: Reference LGPLv3 when redistributing Qt
Download http://www.gnu.org/licenses/lgpl.txt and place it as
Licenses/LGPLv3.txt in our source tree.  When building cmake-gui, use
option CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL to enable notification in the
"About" dialog of how the distribution of Qt is licensed.  Install the
license file as ${CMAKE_ROOT}/Licenses/LGPLv3.txt so that the dialog can
display a path to it.
2016-06-17 15:02:54 -04:00
Brad King 7b990e82c5 cmake-gui: Populate CFBundleIdentifier in our Info.plist file (#16023) 2016-03-17 16:07:39 -04:00
Niels Ole Salscheider 7656662148 QtDialog: Add option to control XDG file install destination
Create a `CMAKE_XDGDATA_DIR` option and add a corresponding flag to the
`bootstrap` script.  This is needed for multiarch layouts where the
prefix is `/usr/${host}` but where architecture-independent files (like
the XDG-specific ones) are installed to `/usr/share`.
2015-12-21 10:23:48 -05: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