summaryrefslogtreecommitdiff
path: root/CMakeCPack.cmake
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci: Simplify Windows packaging pipelineBrad King2023-02-281-0/+4
| | | | | | | | | | | | In commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and i386 packages, 2022-05-19, v3.24.0-rc1~112^2) we used a separate Windows packaging job in nightly packaging pipelines. It did not run in release pipelines, where we need to run the final packaging step manually with signing. Simplify nightly packaging pipelines by running `cpack` at the end of the build job as we do for other platforms. For release packaging pipelines, create an archive of the files needed to build a package, and present this as the built "package" on Windows.
* Utilities/Release: Drop SLA from CMake macOS DMG packageBrad King2022-04-201-0/+1
| | | | | | | | | | | | | macOS 12 deprecates the tools needed to attach a SLA to a `.dmg`. CMake 3.23 added `CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE` to control whether `CPACK_RESOURCE_FILE_LICENSE` is used as the SLA. CMake 3.24 will add policy CMP0133 to disable the SLA by default. Explicitly turn off the SLA for CMake's official macOS binaries. This will allow them to build on future macOS versions that have no SLA tooling available. Issue: #22978
* Help: Add option to generate docs with latexpdfHenryk Paluch2021-03-011-0/+3
|
* CMakeCPack: Update Debian package contact emailBrad King2019-11-051-1/+1
| | | | | Replace the mailing list email address with one on `discourse.cmake.org`.
* Xcode: Require at least Xcode 5Gregor Jasny2019-02-161-3/+0
|
* CMakeCPack: Exclude version-control-specific files from source packageBrad King2017-09-261-0/+18
|
* QtIFW: Improved packagingKonstantin Podsvirov2017-01-121-19/+26
| | | | | | | | | | | | Now cpack_ifw_configure_file command used to configure template files of component's scripts. Now for these template files we can use QtIFW predefined variables (like @VAR@) and template variables in Qt/IFW/SDK/Creator templates style (like %VAR%). Now CMake_INSTALL_INFIX advanced variable used to configure CMake installation destination when package as part of QtSDK.
* QtIFW: Configurable root componentKonstantin Podsvirov2016-11-301-17/+59
|
* CMakeCPack: remove obsolete conditionsDaniel Pfeifer2016-10-091-175/+170
| | | | | | The file contains some conditions depending on the existence of CMake modules. This basically checks for CMake versions that are no longer supported. Remove the conditions.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Utilities/Release: Drop Cygwin binaryBrad King2016-09-121-25/+0
| | | | | Cygwin has packaged CMake independently of upstream for a long time. See its [cygport](https://github.com/cygwinports/cmake).
* QtIFW: Developer Reference installationKonstantin Podsvirov2016-08-161-1/+15
|
* QtIFW: process USE_LGPL when CMake_INSTALL_COMPONENTSKonstantin Podsvirov2016-07-131-2/+4
|
* CMake: install COMPONENT cmcldepsKonstantin Podsvirov2016-07-131-0/+3
| | | | Added in Tools group with IFW installer
* cmake-gui: Reference LGPLv3 when redistributing QtBrad King2016-06-171-2/+2
| | | | | | | | | 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.
* Add option to control 'bin' directory of CMake's own installation (#16076)Nicolas BUNEL2016-06-011-1/+1
| | | | | Add a `CMAKE_BIN_DIR` cache entry to CMake's own build configuration. Add a `--bindir` option to the `bootstrap` script to set it.
* CMake: Prevent WiX installations over existing NSIS installationsNils Gladitz2016-02-091-0/+11
| | | | | | | | 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.
* CMake: Add CMake_INSTALL_DEPENDENCIES optionKonstantin Podsvirov2015-07-271-1/+3
| | | | | By default this option is ON. Turn OFF to disable installing runtime 3rd-party dependencies.
* CMake: Add cmakexbuild component as REQUIRED to Tools group for IFW installerKonstantin Podsvirov2015-07-071-0/+3
|
* CMake: optional show LGPLv2.1 license when install cmake-gui componentKonstantin Podsvirov2015-07-071-0/+7
| | | | | | In IFW installer if cmake-gui component selected and CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL enabled license will be showed.
* CMake: New option CMake_INSTALL_COMPONENTSKonstantin Podsvirov2015-07-071-28/+48
| | | | | By default is OFF. Now it's used with CPack IFW himself installer.
* CMake: Install COMPONENTs (sphinx-man)Konstantin Podsvirov2015-07-071-0/+3
| | | | Added component sphinx-man
* CMake: Install COMPONENTsKonstantin Podsvirov2015-07-071-11/+37
| | | | | | | | | | | | | | | Added components: - cmake - ctest - cpack - cmake-gui - ccmake - data - sphinx-html - sphinx-singlehtml - sphinx-qthelp Other now Unspecified.
* Fix if() checks of CMAKE_SYSTEM_NAME on CygwinBrad King2014-09-111-1/+1
| | | | | | The CMAKE_SYSTEM_NAME is "CYGWIN", but we also define a variable named "CYGWIN" to "1". Avoid allowing if() to expand the "CYGWIN" string as a variable.
* CPackIFW: Revise this generatorKonstantin Podsvirov2014-08-121-10/+3
| | | | | | | | | | CPack IFW generator updates: - Group now can have script; - Root package (for monolithic or one package installers) can be configured from group. CMake updates: - Native installation (no Unspecified component).
* CPackIFW: Add package configuration variablesKonstantin Podsvirov2014-07-291-0/+1
|
* CPack: Add an "IFW" generator for Qt Framework InstallerKonstantin Podsvirov2014-07-281-0/+32
| | | | | | | | Add support for packaging with the Qt Framework Installer tools: http://qt-project.org/doc/qtinstallerframework/index.html Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
* Configure NSIS-packaged CMake version and install destinationBrad King2013-11-121-9/+5
| | | | | | | | | | | | Remove the version number from the default package install destination. An unversioned default allows users to upgrade their CMake installations without manually re-generating all their build trees to update the path to CMake. Users can select a versioned directory name on installation if they wish. Also name the package with the full CMake version number so it is clear exactly what version is going to be installed. This is particularly helpful for the nightly binary installers.
* CMakeCPack: Provide an upgrade guid for WiXRichard Ulrich2013-07-191-0/+2
| | | | | | Set CPACK_WIX_UPGRADE_GUID. Without this upgrade GUID, you end up with multiple instances of the same installation when installing cmake from a WIX generated installer.
* Convert the CPACK_CYGWIN_PATCH_NUMBER variable to a cache variableDavid Cole2012-08-161-3/+4
| | | | | | | | | Makes it easy to override it, by priming the cache from a release build script, for example. Also: correct mistaken @@ variable references with plain ${} style references so that future readers do not think that it must be an input to configure_file...
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-13/+13
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-67/+67
| | | | | | | | | | | | | | | | | 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
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-4/+4
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Add CPACK_NSIS_INSTALL_ROOT for CMake's own installer (#9148)David Cole2011-01-131-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem with CMake 2.8.4-rc1: when you launch the NSIS exe installer on Windows, the default install path shown to the end user is, at first, "\CMake 2.8". This problem started occurring when configuring CMake itself with an older CMake, after adding CPACK_NSIS_INSTALL_ROOT to fix issue 9148. So... it's a regression from 2.8.3. I forgot (again) that when you add a new CPack variable, you must add it to CMake's CMakeCPack.cmake file or else it is empty when configured with an older CMake. And on Windows, without a bootstrap build available, the releases are always configured with an older version of CMake. This may be the last time this has bitten me, though, because it is now burned into my brain that problems with CMake's installer itself are inevitably associated with adding new CPack variables. In addition to adding a definition for CPACK_NSIS_INSTALL_ROOT, I've gone ahead and made it differ for the 32- and 64-bit builds of CMake to give the end user the expected default value for the Program Files folder for each one. And, since I was adding a new 32/64 differentiator anyhow, I made the "NSIS package name" and "installer registry key base" different for 64-bit builds, too, by appending " (Win64)" to each one. These address the concerns mentioned in 9148's related issue: http://public.kitware.com/Bug/view.php?id=9094 (at least as far as CMake's installer is concerned). 9094 could still use a good general fix for all projects, though, and remains open for now.
* Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variableDavid Cole2011-01-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parent commit added a warning message whenever a required file does not exist. As it turns out, the "required" files never exist when built with Visual Studio Express editions. Add a variable to suppress these warning messages because only packagers or naive includers of this file will care to see such warning messages. We want to warn about this condition by default so that people who are using InstallRequiredSystemLibraries without understanding it fully will have a chance of understanding why it's not working in the event of missing required files. But we also want to give projects the ability to suppress this warning (by "project's choice default") so that they can encourage users who are restricted to using an Express edition to build their project. Packagers should explicitly use... -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=OFF ...when building releases. That way, their release build process will warn them about any missing files, but only if their project CMakeLists files use a construct similar to CMake's: IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS) SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON) ENDIF()
* Fix CMake data and doc paths in Cygwin packageBrad King2010-06-091-14/+1
| | | | | | | Override CMAKE_DOC_DIR and CMAKE_DATA_DIR cache entries on Cygwin early enough so the new values are used everywhere. Previously only some of the uses were overridden. Also set CPACK_PACKAGE_VERSION to the whole CMake_VERSION so that the Cygwin MANIFEST file goes in the proper path.
* Package CMake with new version schemeBrad King2010-05-041-7/+2
|
* Remove MFC libraries from install tree.Bill Hoffman2009-09-281-1/+0
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-0/+12
| | | | | | | 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.
* ENH: Overhaul CMake version numberingBrad King2009-03-051-9/+4
| | | | | | | | | | | | | This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
* ENH: do not put system name into cygwin packageBill Hoffman2008-05-231-1/+9
|
* ENH: make sure Cygwin-Unknown is not the name for the packageBill Hoffman2008-05-201-1/+8
|
* ENH: make it so cmake-gui only installs if qt is static on windowsBill Hoffman2008-02-091-0/+2
|
* ENH: change CPACK_CREATE_DESKTOP_LINKS to something that can handle spaces ↵Bill Hoffman2007-11-071-1/+4
| | | | in the name of the exectuable
* ENH: add CPACK_PROJECT_CONFIG_FILE option to CPackBill Hoffman2007-10-311-0/+3
|
* ENH: cpack changes, remove the escape variable stuff as it is not needed if ↵Bill Hoffman2007-10-301-53/+16
| | | | you provide a config file for cpack
* ENH: fix for cygwin packageBill Hoffman2007-10-301-1/+1
|
* ENH: add ability to set installer icons, links to web pages, nsis code in ↵Bill Hoffman2007-10-291-2/+18
| | | | the icon section of the template, and ability to escape variables correctly
* ENH: add ability to create links on the start menuBill Hoffman2007-10-181-3/+13
|
* ENH: allow for desktop link to be created and fix chop of last char in PATH ↵Bill Hoffman2007-09-181-0/+1
| | | | on uninstall