100 Commits
Author SHA1 Message Date
Nils Gladitz 1f99ea95d3 Help: Fix typo in INSTALL_PARALLEL documentation 2025-09-11 12:30:31 +02:00
Nils Gladitz b0c8e31b54 install: Don't ignore EXCLUDE_FROM_ALL when used with ALL_COMPONENTS
Fixes: #23494
2022-05-16 09:34:31 -04:00
Nils Gladitz c5c130e675 cmArchiveWrite: Consolidate multiple ways to set thread count
Merge use of SetFilterOption() into more abstract thread count
in cmArchiveWrite constructor.

libarchive defaulting of threads for threads == 0 seems to be
configuration dependent. Preemptively default thread count via
std::thread::hardware_concurrency().

Also allow negative values for the thread count in which case
the detected hardware concurrency is also used but the given
absolute thread count is used as an upper limit.
2021-04-22 15:40:13 -04:00
Nils Gladitz 5380d858ff liblzma: Enable multi threaded stream encoding support 2021-04-22 15:40:06 -04:00
Nils Gladitz 741b85b42b liblzma: Revise update script to get version 5.2.5
Keep files related to multi threaded stream encoding.
2021-04-22 17:46:10 +02:00
Nils Gladitz 7593bdf4e8 CMake: Fix WiX installer downgrades with versioned binaries
Since commit 5b9da05b7a (Windows: Embed version information into CMake
binaries, 2017-10-25, v3.11.0-rc1~411^2) our binaries have version
information that prevents a `.msi` downgrade from replacing them by
default.  Configure the re-install mode:

* a: reinstall all files regardless of version
* m: rewrite all per-machine registry entries
* u: rewrite all per-user registry entries
* s: reinstall shortcuts and icons

Fixes: #19006
2019-03-12 09:39:35 -04:00
Nils Gladitz 22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets
Visual studio itself supports the corresponding `LocalDebugger*`
properties on utility targets; support generating them from CMake as
well.
2019-01-16 10:21:01 -05:00
Nils Gladitz 4a0f664aaf CPackExt: Add CPACK_EXT_ENABLE_STAGING and CPACK_EXT_PACKAGE_SCRIPT
CPACK_EXT_ENABLE_STAGING enables optional staging
and CPACK_EXT_PACKAGE_SCRIPT allows to specify an optional
script file that can package staged files via an
external packaging tool.

Issue: #18236
2018-08-14 08:37:03 +02:00
Nils Gladitz 227e353595 MSVC: Extend C++ language standard support to Visual Studio 2015 Update 3 2017-09-01 23:33:12 +02:00
Nils Gladitz 5299141320 CPackDeb: Enable the DEB generator on Windows
While some features require external Unix tools the
generator is mostly portable.

By enabling it on Windows it can be used for cross platform
packaging.
2017-06-28 19:55:12 +02:00
Nils Gladitz 5801751709 Ninja: Fix generated command lines for cmake_symlink_* on Windows
CMake generates multiple commands cojoined with &&.
On Windows this only works when executing the commands through
the Windows shell.
2017-06-23 10:58:39 +02:00
Nils Gladitz 3ecbe76e60 Help: Fix error in $<COMPILE_LANGUAGE:lang> example 2017-04-04 23:28:25 +02:00
Nils Gladitz fde8dfa417 CPackWIX: Add documentation for CPACK_WIX_ROOT
Fixes: #16774
2017-04-04 21:17:15 +02:00
Nils Gladitz fb22ba6327 CPackWIX: Fix variable documentation indentations 2017-04-04 21:17:15 +02:00
Nils Gladitz 558a69fc90 CPackWIX: Introduce new CPACK_WIX_ROOT_FOLDER_ID variable
The new variable allows specification of a custom root folder ID.
The implicit default is "ProgramFiles<64>Folder".

The "<64>" token is replaced by "" for 32-bit and "64" for 64-bit builds.

Inspired-By: Eric Backus
Fixes: #16573
2017-02-06 14:53:16 -05:00
Nils Gladitz 1b91e010bc Utilities/Release: Store WiX CMake install location in Windows registry 2016-12-05 16:05:19 +01:00
Nils Gladitz 144cc6f1f9 Ninja: Add source location as include directory for preprocessed files
Fortran INCLUDE statements are not handled by the preprocessor.

Since the location of the preprocessed file is distinct from the
original source file explicitly add the source file's directory
as an include path in the actual compile step (not the preprocessing step)
so INCLUDE can find it.

Closes: #16332
2016-09-27 08:11:08 -04:00
Nils Gladitz b35311ca44 CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled
Before the change the list of externals was queried only
before the svn update.

With the change the list is queried both before and after.
This should also be more accurate since the list of externals might
change during the update.
2016-09-12 19:40:13 +02:00
Nils Gladitz 6f108f84d0 CPackComponent: Document the *_HIDDEN and *_DISABLED variables 2016-07-22 08:41:22 +02:00
Nils Gladitz 58677c327f FindPostgreSQL: Fix initialization of PostgreSQL_LIBRARIES 2016-07-14 18:18:26 +02:00
Nils Gladitz c70ac0970d CPack: Exclude additional internal variables from CPackConfig.cmake
In v2.8.12.1-654-g7621ad6 I added underscore prefixes to
CPACK_ADDCOMP_(STR|UNAME) to prevent them from being automatically
written to CPackConfig.cmake.

Do the same for CPACK_ADDGRP_(STR|UNAME) and CPACK_INSTTYPE_(STR|UNAME).
2016-03-24 09:28:41 +01:00
Nils Gladitz a12b0f1b19 CMake: Prevent WiX installations over existing NSIS installations
Use a custom action to look for Uninstall.exe in the user
selected installation prefix.

Its presence indicates a previous NSIS installation.
Inform the user and request manual resolution of the issue.
2016-02-09 10:28:57 -05:00
Nils Gladitz 24cdb9df59 CMake: Mimic NSIS options dialog in WiX installer 2015-12-17 15:57:30 +01:00
Nils Gladitz de77d4a741 CPackWIX: Allow multiple patch files and diagnose if any are missing
CPACK_WIX_PATCH_FILE now accepts a list of patch files.
An error will now be produced if any of the patch files is missing.

Previously this would be silently ignored.
2015-12-14 23:28:42 +01:00
Nils Gladitz 38d723b37e CPackWIX: Allow patching of shortcut components 2015-12-12 10:36:51 +01:00
Nils Gladitz ecdc77f14d CPackWIX: Fix installed file property lookups when using components
The WIX generator incorrectly looked for installed file properties
by relative paths that included the component specific staging
directory prefix.

Remove that prefix in installed file property lookups when
generating packages with components.
2015-12-10 17:38:18 +01:00
Nils Gladitz d3625b7283 CPackWIX: Don't allow users to deselect the top-level feature (#15838)
The top-level WiX feature implicitly created by the WIX generator
represents the package as a whole.

As such it does not make sense to allow installer users to deselect
it from the installation.

Suggested-by: Mark Stijnman
2015-11-09 17:50:21 +01:00
Nils Gladitz 5a266095ee CPackWIX: Handle text nodes in XML patch content 2015-10-12 21:53:08 +02:00
Nils Gladitz 35fb0bb8c0 Ninja: Make import libraries BYPRODUCTs instead of regular OUTPUTs
The MSVC linker may update a binary without touching the associated
import library.

Making the import library a BYPRODUCT prevents the linker from
unnecessarily rerunning when the import library does not get regenerated
as previously expected.
2015-07-28 14:02:47 +02:00
Nils Gladitz cdf2cba3e7 VS: Use cmUuid RFC 4122 compliant hash based UUID generation 2015-06-05 09:17:17 +02:00
Nils Gladitz aed6239e40 if: Implement new IN_LIST operator 2015-04-30 10:21:19 -04:00
Nils Gladitz 32a2f41402 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
This reverts commit 242c3966 (add_custom_command: Diagnose
MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit
b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands,
2015-03-26).

I misdiagnosed the underlying issue that prompted creation of policy CMP0057.
The actual issue surfaces when a single custom command's MAIN_DEPENDENCY
is listed in more than one target; this issue will have to be addressed
independently.
2015-04-30 10:20:20 -04:00
Nils Gladitz 853ef717aa Help: Clarify policy CMP0026 title
Clarify that the policy only applies to build targets and
not e.g. imported targets.

Suggested-by: Alan W. Irwin
2015-04-28 10:44:37 +02:00
Nils Gladitz 1b03332eee Help: Clarify that CMAKE_SIZEOF_VOID_P is specific to the target machine 2015-04-23 17:39:49 +02:00
Nils Gladitz a198839a7b CTest: Fix locale used for VCS updates
6a661f0603 fixed the
locale used for message output but at the same time broke the locale
used for filename encodings.

This commit preserves LC_CTYPE in the presence of LC_ALL.
2015-04-13 08:59:34 -04:00
Nils Gladitz 6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests 2015-04-10 08:32:32 -04:00
Nils Gladitz fd04d87323 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives
with long filenames.
2015-04-10 08:32:31 -04:00
Nils Gladitz d2cc580704 cmake: Teach "-E tar" command a "--format=" option
Allows specifying a libarchive defined archive format currently restricted to
7zip, gnutar, pax, paxr and zip.

The default is "paxr" (pax restricted).
2015-04-10 08:32:31 -04:00
Nils Gladitz ad194ae0b1 libarchive: Use base-256 encoding for UID/GID like GNU tar does 2015-04-09 14:27:16 -04:00
Nils Gladitz dc4f64ab98 Help: Clarify manual reference for generator names 2015-04-04 16:01:50 +02:00
Nils Gladitz 9a544f2d98 CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
Nils Gladitz 98a3b2e29e CPackWIX: Omit codepage conversion when internal encoding is already UTF-8. 2015-03-27 12:22:15 +01:00
Nils Gladitz 8603791553 CPackWIX: Add static_casts for XML_Parser.
"XML_Parser" in cmexpat is a typedef for void* while newer releases of
expat seem to use struct XML_ParserStruct *XML_Parser.

Add static_casts so that the build works with either variant.
2015-03-26 16:56:44 +01:00
Nils Gladitz 1bda8f1fdb CPackWIX: Customize CMake installer theme. 2015-03-12 20:44:27 +01:00
Nils Gladitz 242c396656 add_custom_command: Diagnose MAIN_DEPENDENCY limitation.
The new policy CMP0057 diagnoses reuse of the same MAIN_DEPENDENCY across
multiple custom commands.
2015-03-09 12:45:38 +01:00
Nils Gladitz 2e16aff1e2 CPackWIX: Fix .wixobj output locations and filenames.
Preserve all but the last extension when generating .wixobj output
filenames from source files and make sure they are unique.

Output .wixobj files in cpack staging area instead
of the current working directory.
2015-03-06 21:09:19 +01:00
Nils Gladitz b0852ebc09 CPackWIX: Support patching of root <Feature> elements. 2015-03-06 21:06:42 +01:00
Nils Gladitz 099b0cab1d CodeBlocks: Declare which source file belongs to which targets.
This should allow the consuming IDE to determine which target specific
preprocessor definitions and include directories are relevant for a
given source file.
2015-03-06 09:48:33 +01:00
Nils Gladitz cfb22354b8 FindHg: Run hg with C locale when querying its version.
LANGUAGE should be ignored when LC_ALL=C.
It seems this isn't the case with hg so set both.
2015-02-28 14:22:41 +01:00
Nils Gladitz 6a661f0603 CTest: To enforce the C locale use LC_ALL instead of LC_MESSAGES.
If LC_ALL is set it takes precedence over LC_MESSAGES.
2015-02-27 16:32:03 +01:00
Nils Gladitz 6cc01c1402 CPackWIX: Add release notes for the wix-shortcut-properties topic. 2015-02-23 16:49:42 +01:00
Nils Gladitz 135febf069 CPackWIX: Enhance CMake CPack WIX generated installer. 2015-02-22 15:20:33 +01:00
Nils Gladitz e6731f486e CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property. 2015-02-21 18:07:36 +01:00
Nils Gladitz 279605f560 CPackWIX: Add installed file properties for the creation of shortcuts. 2015-02-21 17:30:31 +01:00
Nils Gladitz 53d7daffac CPackWIX: Refactor start menu and desktop shortcut creation. 2015-02-21 12:38:14 +01:00
Nils Gladitz dc0f3fb44f CPackWIX: Explicitly list CPack WIX headers for IDE convenience. 2015-02-20 17:51:55 +01:00
Nils Gladitz a2ccbffd8b CPackWIX: Extend the patching mechanism to allow adding content to <Product>. 2015-02-13 12:09:40 +01:00
Nils Gladitz eeb2831b5f Makefile: Fix regression in target-bound custom command COMMENT output
Fix a logic typo introduced by commit v3.1.0-rc1~781^2 (Generalize
cmCustomCommandGenerator to more fields, 2014-03-10).
2015-02-10 09:22:05 -05:00
Nils Gladitz 220c427e84 try_compile: Quote the content of CMAKE_MODULE_PATH to allow for spaces 2015-02-09 10:51:22 +01:00
Nils Gladitz f2f1c95dd9 Help: Extend policy CMP0054 documentation with an example 2014-12-12 11:12:46 -05:00
Nils Gladitz 07254a8166 Help: Document installed file property API
Since commit v3.1.0-rc1~479^2~1 (Add an "installed file" property
scope, 2014-05-15) the get_property and set_property commands
support an 'INSTALL' scope.  Add documentation for this scope.
2014-12-01 08:48:19 -05:00
Nils Gladitz 7d633ebfa0 FindOpenMP: Use fixed form Fortran test program
This prevents the test program from failing when build as Fortran 77.

Suggested-by: Alin Marin Elena <alinm.elena@gmail.com>
2014-11-20 14:54:11 +01:00
Nils Gladitz 38825396f9 Documentation: Fix minor typo thecommand -> the command 2014-10-31 11:27:50 -04:00
Nils Gladitz cc1139cc30 strings: Remove redundant calls to std::string::c_str()
Replacements were detected and performed by the clang tool
remove-cstr-calls on a linux build.
2014-10-15 14:54:05 +02:00
Nils Gladitz 71da30cae0 Ninja: Fix variable duplication in RSP rules
Stream clear() resets stream state but does not actually clear its content.
2014-10-06 22:29:09 +02:00
Nils Gladitz c930046410 FindBoost: Avoid if() quoted auto-dereference
When testing CMAKE_CXX_COMPILER[_ID] values with if(MATCHES) or
if(STREQUAL), do not explicitly dereference or quote the variable.
We want if() to auto-dereference the variable and not its value.
2014-10-06 09:40:41 -04:00
Nils Gladitz fb009f00ae CPackWiX: Work around RelativePath() returning an empty string for the root 2014-10-03 15:10:51 +02:00
Nils Gladitz d48c781fc2 CPackWiX: Extend CPACK_WIX_ACL to support directories 2014-09-27 17:34:39 +02:00
Nils Gladitz e785fab54b CPackWiX: Teach WiX installers to remember the install location for upgrades 2014-09-19 22:42:36 +02:00
Nils Gladitz 188a1f236e If: Introduce policy CMP0054 - don't dereference quoted variables in if() 2014-09-11 21:23:17 +02:00
Nils Gladitz b900c1ccaa If: Extract cmConditionEvaluator from if() implementation 2014-09-11 21:17:09 +02:00
Nils Gladitz e6ba52e8e0 StringUuid: Mark UPPER flag optional in sub-command synopsis 2014-09-10 16:10:13 +02:00
Nils Gladitz 4952030c2e CPackWiX: Attach wix.log on test failure. 2014-09-02 08:53:34 +02:00
Nils Gladitz 6767660f2c CTest: Add missing space in command line help. 2014-09-01 09:18:51 +02:00
Nils Gladitz 328e869433 StringUuid: Implement new string(UUID) sub-command. 2014-08-28 15:13:54 +02:00
Nils Gladitz 12418f5c26 CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property 2014-08-09 15:30:21 +02:00
Nils Gladitz f86850ef60 Genex: Implement generator expressions for target PDB files. 2014-07-31 09:17:53 -04:00
Nils Gladitz 250ad08a08 Ninja: Remove _COMPILER_LINKER_OPTION_FLAG_ remnants 2014-07-29 21:33:38 +02:00
Nils Gladitz 028ad31878 Genex: Simplify filesytem artifact code 2014-07-29 09:21:34 -04:00
Nils Gladitz 9e5e7e71c5 Help: Fix QtHelp commands on Windows
Explicitly invoke python script through the interpreter since
windows does not act on hashbangs.
Use the found qcollectiongenerator executable rather than what
happens to be in PATH.
2014-07-28 21:07:53 +02:00
Nils Gladitz 5bbec4e398 Help: Document deprecated properties.
Document the COMPILE_DEFINITIONS_<Config> properties as deprecated.
Add new sections for deprecated properties and move POST_INSTALL_SCRIPT
and PRE_INSTALL_SCRIPT there as well.
2014-07-21 19:48:48 +02:00
Nils Gladitz 567d4d8dc6 FindQt4: Don't further process qmake if it does not belong to Qt4
If the only qmake that can be found belongs to Qt5 the find module
would otherwise still further interrogate it and issue diagnostics
which are specific to Qt4.
2014-06-27 16:24:40 +02:00
Nils Gladitz 887532f0f0 CTest: Fix combined inclusive/exclusive label regular expressions 2014-06-06 10:28:18 +02:00
Nils Gladitz 6446eb099a CTest: Added option description for --output-on-failure
Without it the option list is cut short after --debug.
2014-06-05 10:51:39 -04:00
Nils Gladitz d0b1d2a65b CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 2014-05-28 12:30:44 -04:00
Nils Gladitz 15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Nils Gladitz 21ec5f8451 CPackDeb: Invoke "dpkg-shlibdeps --version" with C locale
The version message is localized and may not match when a non-english locale is in use.
2014-05-28 13:17:57 +02:00
Nils Gladitz cb59f5da97 CPackWIX: Delay creation of cmWIXPatch until CPack has initialized Logger
Without the fix CPack will crash when the cmWIXPatch class tries to issue
any diagnostics.
2014-04-18 22:45:30 +02:00
Nils Gladitz 77b581c2f0 Policies: omit warnings about unset policies when they are actually set to NEW 2014-03-31 09:45:10 -04:00
Nils Gladitz 642fa25da0 CPackWIX: support installation of empty directories 2014-03-02 00:51:42 +01:00
Nils Gladitz 378eb5b712 CPackWIX: Allow Windows Installer property customization 2014-03-01 23:13:35 +01:00
Nils Gladitz 6fcd835c07 CPackWIX: refactor and cleanup
Extract addtional classes and functions which are getting unsightly large.
Use some of the coding conventions more consistently.
2014-02-26 14:15:13 +01:00
Nils Gladitz 47702b8d49 CTest: exclude /showIncludes notes when scraping logs
My last related commit e5e3f3d4 (CTest: filter /showIncludes output from
ninja compile launcher, 2013-12-01) filtered /showIncludes messages from
the generated xml output but they also need to be filtered in
ScrapeLog().  Otherwise they are being detected as warnings when using
compilers withs english diagnostics.
2014-02-25 11:23:57 -05:00
Nils Gladitz b7f58511cf Visibility: the Intel compiler does not support -fvisibility on windows 2014-02-07 11:50:08 +01:00
Nils Gladitz efdcebddbd VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources 2014-02-01 09:55:24 +01:00
Nils Gladitz f2b47197dc CodeBlocks: fix unescaped command quotes when used with nmake 2014-01-13 23:15:26 +01:00
Nils Gladitz 0bf6f13b1d AddDependencies: new policy requires dependencies to exist
Added new policy CMP0046 which requires dependencies added by
add_dependencies() to actually exist.
2014-01-12 12:58:04 +01:00
Nils Gladitz be0458c562 InstallRules: added new variable to disable generation of install rules
The boolean variable CMAKE_SKIP_INSTALL_RULES
allows disabling generation of install rules for projects which don't
want them.
2014-01-08 16:28:14 +01:00
Nils Gladitz 92c4d4039e CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
Allows automatic registration of installed packages with
the cmake package registry.
2014-01-08 01:28:24 +01:00
Nils Gladitz 950d76ed48 CPackWiX: allow and convert UTF-8 sequences in RTF writer 2013-12-26 15:23:54 +01:00