summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CPack/tests
Commit message (Collapse)AuthorAgeFilesLines
* CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLABrad King2022-01-184-0/+21
| | | | | | | | | | | | | | | | | Since macOS 12.0, the ``hdiutil udifrez`` and ``hdiutil udifderez`` commands to embed and extract resources in a disk image are deprecated. The CPack DragNDrop Generator uses these to attach the SLA specified by the `CPACK_RESOURCE_FILE_LICENSE` option. Since that option is shared by multiple CPack generators, we cannot deprecate it. Instead, add an explicit option to control the behavior. This will give projects a way to package on future macOS versions that remove the commands. In order to provide a long-term transition away from attaching SLAs to disk images, update `cpack` to default this behavior to OFF. To retain compatibility for CMake projects, teach the CPack module to default the option to ON. Later a policy can be added to change the default. Issue: #22978
* Tests: Add CPack/DMG case covering SLA from CPACK_RESOURCE_FILE_LICENSEBrad King2022-01-184-0/+30
|
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecturemakise-homura2021-10-151-1/+2
| | | | | | | | | | | "OS Elbrus" (OSL for short), a reference Linux distro for E2K (Elbrus) platform may have broken dpkg-shlibdeps, that doesn't specify dependencies correctly. In this case, the only reliable way is to explicitly set dependencies of libc6 and lcc-libs, and then warn user to let him know this list may be incomplete. This commit does that. This fix has no effect on correctly working dpkg-shlibdeps, so when this bug will be fixed in new versions of OSL, CPack will work as expected with these distros.
* Tests: fix RunCMake.CPack_DEB.EXTRA on Debian non-Linux OSesPino Toscano2021-09-181-2/+2
| | | | | | | | | The generated path with the packages uses $CPACK_TOPLEVEL_TAG, which by default is $CPACK_SYSTEM_NAME, thus the OS name. To make the expected stderr match also non-Linux OSes, accept any non-slash characters in place of "Linux", so it works also on other Debian OSes (e.g. Debian/Hurd).
* CPack/DEB: dbgsym package not generated for non-component packagingAlex Turbov2021-07-132-25/+43
| | | | Fix: #19735
* Merge topic 'cpackdeb-md5sums-order'Brad King2021-07-013-2/+5
|\ | | | | | | | | | | | | | | | | | | a0d3494afa Tests: update MD5SUMS test to have several files 9028195a22 CPackDeb: sort package files before generating deb file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6287
| * Tests: update MD5SUMS test to have several filesAlexey Rogachevskiy2021-06-303-2/+5
| | | | | | | | | | The test is now updated to check the order of files in the md5sums.
* | CPack/RPM: Fix weak dep supportAlex Sweet2021-06-292-11/+31
|/ | | | | | | | | | RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags. It only supports querying those tags, but rpmbuild can not make use of them. Since CPack relies on rpmbuild --querytags to check for support, this commit switches to rpm --suggests to check for support of weak dependencies. Fixes: #22350
* Tests: Fix RunCMake.CPack_RPM.DEBUGINFO test caseBrad King2021-06-101-0/+17
| | | | | | | Since commit c826745f5a (CPack/DEB: Do not crash when asked for debug symbols when there are none, 2020-10-29, v3.20.0-rc1~461^2) the test fails because CPackRPM warns about no sources in which to find debug symbols. Add expected output for this case.
* Tests: Improve RunCMake.CPack*.SOURCE_PACKAGE test error formattingBrad King2021-06-091-10/+27
| | | | | | | | | Format message content for `message(FATAL_ERROR)`. Apply the change from commit c54c284de7 (Tests: Improve RunCMake.CPack* test error formatting, 2021-04-22) to the `SOURCE_PACKAGE` script too. Also fix a typo from commit f5d79dec53 (Tests: Cleanup CPack message when files are expected and none are found, 2021-01-15, v3.20.0-rc1~89^2~22).
* CPack: Implement new variable CPACK_CUSTOM_INSTALL_VARIABLESNils Gladitz2021-05-232-0/+14
| | | | | | The new variable allows projects to define custom key=value pairs of variables to be set in CPack cmake_install.cmake script invocations. This allows install(SCRIPT|CODE) to be parameterized at runtime.
* cmArchiveWrite: Consolidate multiple ways to set thread countNils Gladitz2021-04-221-1/+1
| | | | | | | | | | | | | 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.
* CPackRPM: add scriplets tags only if scripts existDomen Vrankar2021-04-015-69/+85
| | | | | | | | | | Scriplet tags should not be added to generated spec files if scripts weren't provided as those tags are otherwise present in generated rpm file even if the script wasn't provided thereby generating unneeded dependency on shell. Fixes: #21345
* Merge topic 'cpackrpm-debuginfo-single-package-install-erase-scripts'Brad King2021-04-014-1/+24
|\ | | | | | | | | | | | | 31c184ad69 CPackRPM: handle scripts in debuginfo single package mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5953
| * CPackRPM: handle scripts in debuginfo single package modeDomen Vrankar2021-03-304-1/+24
| | | | | | | | | | | | | | | | Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while using rpm install or erase scripts resulted in resulted missing scripts for non default components. Fixes: #21974
* | CPackRPM: correctly handle empty dir in single package modeDomen Vrankar2021-03-282-1/+4
|/ | | | | | | | | Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while having an empty directory in non main component resulted in packaging error that the directory does not exist. Fixes: #21951
* Tests: Update CPack DEBUGINFO tests for IntelLLVMWilliam R. Dieter2021-01-281-1/+1
| | | | | | | By default icx and icpx do not add build IDs when linking, so enable the build ID to make the test pass. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* Tests: Update tests for NVHPC compilerTin Huynh2021-01-271-2/+2
| | | | Treat it just like PGI.
* CPack: add CPACK_THREADS variable to control compression threadsRodolfo Lima2021-01-264-2/+4
| | | | | | | This allows setting how many threads the compressor will use. Currently only implemented for XZ when using system's lzma library. Fixes: #21715
* cpack(DEB): Issue warning if custom script for control file is missingAsit Dhal2021-01-151-0/+6
| | | | Fixes: #17794
* CPack/DEB: Do not crash when asked for debug symbols when there are noneAndrew Fuller2020-11-162-1/+9
| | | | Fixes: #21356
* Fix typos identified using codespellJean-Christophe Fillion-Robin2020-07-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/codespell-project/codespell#readme The following command was used: ``` codespell -q6 --skip="\ .git,\ *.json,\ ./Copyright.txt,\ ./Help/command/foreach.rst,\ ./Help/prop_test/REQUIRED_FILES.rst,\ ./Help/variable/CTEST_COVERAGE_COMMAND.rst,\ ./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\ ./Modules/CMakeRCInformation.cmake,\ ./Modules/Internal/CPack/NSIS.template.in,\ ./Modules/FindMatlab.cmake,\ ./Modules/MatlabTestsRedirect.cmake,\ ./Modules/Platform/Windows-Clang.cmake,\ ./Modules/Platform/Windows-Intel-Fortran.cmake,\ ./Modules/Platform/Windows-MSVC.cmake,\ ./Source/CMakeVersion.cmake,\ ./Source/cmConvertMSBuildXMLToJSON.py,\ ./Source/cmCreateTestSourceList.cxx,\ ./Source/cmGlobalVisualStudio10Generator.cxx,\ ./Source/cmExportBuildFileGenerator.cxx,\ ./Source/cmExportInstallAndroidMKGenerator.cxx,\ ./Source/cmExportInstallFileGenerator.cxx,\ ./Source/cmExportSet.cxx,\ ./Source/cmExportTryCompileFileGenerator.cxx,\ ./Source/cmFindPackageCommand.cxx,\ ./Source/cmInstallCommand.cxx,\ ./Source/cmGeneratorExpressionLexer.cxx,\ ./Source/cmLocalVisualStudio7Generator.cxx,\ ./Source/cmOrderDirectories.cxx,\ ./Source/cmTarget.cxx,\ ./Source/kwsys/*,\ ./Source/QtDialog/CMakeSetupDialog.ui,\ ./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\ ./Source/CTest/cmParseCoberturaCoverage.h,\ ./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\ ./Tests/RunCMake/GoogleTest/xml_output.cpp,\ ./Tests/RunCMake/Make/TargetMessages*,\ ./Utilities/*,\ " \ -L "\ dependees,\ endwhile,\ fo,\ filetest,\ helpfull,\ nd,\ objext,\ stoll,\ supercedes,\ superceded,\ vas,\ varn,\ " ```
* Tests: Cover using RTF for DMG SLAsBrad King2020-07-033-7/+11
|
* Tests: Add case for CPack DMG multi-language SLAsBrad King2020-07-027-0/+62
| | | | | | | Add a test for the feature added by commit f88533cc06 (CPackDMG: Add support for multilingual SLAs, 2015-10-19, v3.5.0-rc1~232^2). Issue: #20889
* CPack: Introduce pre- and post- build actionsAlex Turbov2020-06-156-0/+39
| | | | | | | | | | | | | | | CPack learned the `CPACK_PRE_BUILD_SCRIPTS`, `CPACK_POST_BUILD_SCRIPTS`, and `CPACK_PACKAGE_FILES` variables. The first two are lists of scripts to perform - after pre-install files into a staging directory and before producing the resulting packages - after produsing the packages The post-build script(s) also get the list of actually produced packages in the `CPACK_PACKAGE_FILES`. Issue: #19077
* CPack External: Introduce `CPACK_EXTERNAL_BUILT_PACKAGES`Alex Turbov2020-06-053-0/+19
| | | | | | | The `CPACK_EXTERNAL_PACKAGE_SCRIPT` script may set this list variable to the full paths of generated package files. CPack copy these files from the stage directory back to the top build directory and possibly produce checksum files if the `CPACK_PACKAGE_CHECKSUM` is set.
* Merge topic 'fix-cpack-deb-generating-empty-paragraph'Brad King2020-05-281-11/+1
|\ | | | | | | | | | | | | 6ba842163c CPack-deb: don't add a line with a dot to pkg desc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4806
| * CPack-deb: don't add a line with a dot to pkg descJonathan Verner2020-05-271-11/+1
| | | | | | | | | | | | | | | | | | | | | | Currently, if the package description ends with a newline (typically if it is read from a file) cpack -deb adds a single line with a dot at the end which leads to a violation of the `extended-description-contains-empty-paragraph` debian policy. This commit fixes the above behaviour. Fixes: #20763
* | cmCPackArchiveGenerator: support multithreaded compressionBen Boeckel2020-04-034-0/+18
| |
* | CPackRPM: Add PRE_/POST_TRANS scriptsSarang Joshi2020-02-242-2/+18
|/ | | | | | Add variables for PRE_TRANS and POST_TRANS scripts. Fixes: #18917
* Merge topic 'cpack-deb-fix-description'Brad King2020-01-273-6/+15
|\ | | | | | | | | | | | | baec299ecd CPack: Fix regression in Deb description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4271
| * CPack: Fix regression in Deb descriptionKyle Edwards2020-01-243-6/+15
| | | | | | | | Fixes: #20254
* | Merge topic 'cpack-custom-dmg-names'Craig Scott2020-01-172-0/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | 6d6f4b9316 CPack/DragNDrop: Support CPACK_DMG_<component>_FILE_NAME b53230fbee Tests: Add DragNDrop as a testable CPack generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4227
| * | CPack/DragNDrop: Support CPACK_DMG_<component>_FILE_NAMEAndrew Fuller2020-01-162-0/+6
| | |
* | | Merge topic 'fix-cpack-deb-description-file'Brad King2020-01-131-0/+2
|\ \ \ | |/ / |/| / | |/ | | | | | | d491f34a5e CPack: Fix regression in DEB generator description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4204
| * CPack: Fix regression in DEB generator descriptionKyle Edwards2020-01-101-0/+2
| | | | | | | | Fixes: #20102
* | Ninja: Add multi-config variantKyle Edwards2019-12-131-1/+2
| | | | | | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* | Merge topic 'cpack-use-CPACK_PACKAGE_HOMEPAGE_URL'Kyle Edwards2019-12-113-0/+50
|\ \ | |/ |/| | | | | | | | | 3476dbe6d7 CPack: CMAKE_PROJECT_HOMEPAGE_URL -> CPACK_PACKAGE_HOMEPAGE_URL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4024
| * CPack: CMAKE_PROJECT_HOMEPAGE_URL -> CPACK_PACKAGE_HOMEPAGE_URLAlex Turbov2019-12-093-0/+50
| | | | | | | | | | | | | | | | | | | | | | At CPack running time the `CMAKE_PROJECT_HOMEPAGE_URL` variable is not set. Internal CPack modules (e.g. CPackDEB, CPackRPM, CPackFreeBSD) should use `CPACK_PACKAGE_HOMEPAGE_URL` instead, which is available after inclusion of `CPack.cmake` into `CMakeLists.txt`. Closes: #19607
* | CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONSAlex Turbov2019-11-113-15/+0
|/ | | | | | | | | | | In commit da5ac4bb60 (cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variable, 2019-07-10, v3.16.0-rc1~165^2) we added both the variable and support for `cpack -C` with multiple configurations. Drop the variable because the `package` target cannot ensure that all of the configurations are built. Keep the command-line interface so that it can be used manually in scripts. Fixes: #19918
* CPackDeb: Use `CPACK_PACKAGE_DESCRIPTION_FILE`Alex Turbov2019-09-214-3/+132
| | | | Also, handle per-component description nicely.
* cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variableAlex Turbov2019-08-303-0/+15
| | | | | | | | | For the multi-configuration generators one can specify the list of configurations to include in the package. E.g. having a project, where debug libraries have a suffix to distinct them from the release builds, one can build the package containing both `Debug` and `Release` binaries.
* CPack: Introduce CPACK_INSTALL_SCRIPTS variableAlex Turbov2019-07-214-11/+27
| | | | | | | | | | The singular name `CPACK_INSTALL_SCRIPT` has existed but was not linked from the CPack documentation. Also, it supported multiple values and should have had a plural name. Add a plural-named alternative now. If both `CPACK_INSTALL_SCRIPTS` and `CPACK_INSTALL_SCRIPT` are set then ignore the latter with a warning. Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-0/+5
| | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Tests: Split CPack DEB and RPM tests into smaller testsKyle Edwards2019-01-102-2/+2
| | | | | | | | The DEB and RPM tests are quite large, which can result in CTest clients timing out on these tests even though they're working properly. The RPM test in particular causes a lot of timeouts on the CMake dashboard machines. This change splits these tests into smaller tests so that they don't time out.
* CPack/External: Fix status messages of staging scriptsNils Gladitz2018-12-072-0/+3
| | | | | | | | Set progress callback on cmake instance used by CPack. The progress callback is used to output STATUS messages which are otherwise missing when issued from e.g. CPack External staging scripts. Fixes: #18567
* CPack: Rename Ext generator to ExternalCraig Scott2018-11-0513-34/+34
| | | | | Ext and External were used inconsistently in the code and the docs. This change converts all uses of Ext to External, including within variable names used by the generator.
* CPack/Deb: Add ability to split out debug symbols into .ddeb packageAndrew Fuller2018-09-212-8/+35
|
* CPack (DEB/RPM): add test for per-component description/summmary.David Faure2018-08-302-1/+20
|