100 Commits
Author SHA1 Message Date
Kyle Edwards 495d0da36b Tests: Use real directory in TestsWorkingDirectory 2024-02-27 14:36:40 -05:00
Kyle Edwards de446077f7 Tests: Allow RunCMake.CTestCommandLine/TestOutputSize to have larger file 2024-02-27 14:36:40 -05:00
Kyle Edwards 93e471f371 Tests: Build testUVProcessChainHelper with WIN32_LEAN_AND_MEAN 2024-02-27 14:36:40 -05:00
Kyle Edwards 0654051dde CMakePresets.json: Don't use architecture and toolset if empty
Fixes: #24864
2023-12-19 10:19:03 -05:00
Kyle Edwards 3ff556ae41 Tests/RunCMake/XcFramework: Add iOS and iOS Simulator to .xcfw 2023-12-11 16:41:38 -05:00
Kyle Edwards 0b043a75b7 cmUVProcessChain: Add option for external uv_loop_t 2023-12-05 14:48:24 -05:00
Kyle Edwards 1f0c28c840 ci: export clang-tidy fixes as an artifact 2023-12-05 11:53:35 -05:00
Kyle Edwards fc6231bee5 libuv: win/spawn: run executables with no file extension
Backport this commit from libuv PR 4241 to restore `execute_process()`
support for running executables on Windows with no file extension.

Fixes: #25450
2023-12-04 14:50:06 -05:00
Kyle Edwards ab561b86fb libuv: win: honor NoDefaultCurrentDirectoryInExePath env var
Backport commit 5e302730cd (win: honor NoDefaultCurrentDirectoryInExePath
env var, 2023-12-01) from libuv PR 4238.
2023-12-01 09:31:13 -05:00
Kyle Edwards f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows
Issue: #25450
2023-11-30 09:59:36 -05:00
Kyle Edwards da9df7425a libuv: win/spawn: run executables with no file extension
Backport this commit from libuv PR 4241 to restore `execute_process()`
support for running executables on Windows with no file extension.

Fixes: #25450
2023-11-30 09:59:36 -05:00
Kyle Edwards a3a85524cd fileapi: Fix file sets' base directories relative to top source
This field was added by commit b3e9fb67bb (file-api: support exporting
file set information, 2022-11-03, v3.26.0-rc1~389^2) but the relative
path convention used elsewhere was accidentally left out.

Fixes: #25422
2023-11-17 07:59:05 -05:00
Kyle Edwards 37bc3400cd CMakePackageConfigHelpers: Add generate_apple_platform_selection_file()
Issue: #25262
2023-11-15 09:10:58 -05:00
Kyle Edwards 256bb0cc40 install(EXPORT): Add ability to point to .xcframework file
Issue: #25262
2023-11-15 09:10:58 -05:00
Kyle Edwards a90968e044 cmExportBuildFileGenerator: Add structs for target exports 2023-11-14 09:22:53 -05:00
Kyle Edwards 0ad8fc5a63 FetchContent: Set CMAKE_EXPORT_FIND_PACKAGE_NAME 2023-11-13 11:07:53 -05:00
c6e6861e63 install(EXPORT): Export find_dependency() calls
Issue: #20511
Co-Authored-by: Brad King <brad.king@kitware.com>
Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
2023-11-13 11:07:52 -05:00
Kyle Edwards 2837f592ab cmExportFileGenerator: Add function to set required CMake version 2023-11-13 11:07:52 -05:00
Kyle Edwards e62a3b8625 Help/export: Add signature directives 2023-11-13 11:07:52 -05:00
Kyle Edwards c2974463d7 cmTargetExport: Analyze with IWYU
Since there is no cmTargetExport.cxx, cmTargetExport.h was not
being analyzed by IWYU. Associate cmTargetExport.h with
cmExportSet.cxx.
2023-11-09 10:49:50 -05:00
Kyle Edwards 7073a6d278 ci/sphinx: Add html output as artifacts 2023-11-09 09:55:22 -05:00
Kyle Edwards 7d19246138 Xcode: Fix linking against .xcframework from static libraries
Issue: #21752
2023-11-06 17:40:00 -05:00
Kyle Edwards a7276f3c29 Merge branch 'release-3.28' 2023-11-03 10:28:36 -04:00
Kyle Edwards cee364e77f Merge topic 'cmsystemtools-runsinglecommand-stdin'
c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8941
2023-11-03 10:28:36 -04:00
Kyle Edwards 86ae23b6f3 Merge topic 'cmsystemtools-runsinglecommand-stdin' into release-3.28
c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8941
2023-11-03 10:28:35 -04:00
Kyle Edwards ab72846794 cmake -E cat: Add ability to print standard input 2023-11-03 09:03:25 -04:00
Kyle Edwards c4be9c914b cmSystemTools::RunSingleCommand(): Pass stdin to child process
Fixes: #25383
2023-11-02 10:04:00 -04:00
Kyle Edwards d3cc815c98 CMP0153: Add suggestion to use execute_process() 2023-10-27 09:43:18 -04:00
Kyle Edwards 8313d26198 cmState::AddDisallowedCommand(): Allow additional warning info 2023-10-27 09:42:53 -04:00
Kyle Edwards 35f031e3b2 execute_process(): Restore opening files relative to WORKING_DIRECTORY
Prior to 5420639a, execute_process() would open INPUT_FILE, OUTPUT_FILE,
and ERROR_FILE relative to the WORKING_DIRECTORY argument if it was
provided. Restore this behavior for backwards compatibility.

Fixes: #25338
2023-10-16 12:23:41 -04:00
Kyle Edwards d9f1431f92 ci: Add jobs that run in symlink trees 2023-09-22 09:30:52 -04:00
Kyle Edwards 879d12a29d ci: Always build Ninja with Unix Makefiles generator
The build for Ninja should not be affected by the CMAKE_GENERATOR
environment variable.
2023-09-22 09:30:52 -04:00
Kyle Edwards 8340313916 ci: Factor out debian12_ninja configure script 2023-09-22 09:30:52 -04:00
Kyle Edwards 25d7843955 ci: Factor out build directory for finding artifacts
Some jobs will run in a build directory other than
$CI_PROJECT_DIR/build, and will produce artifacts in a different
directory. Add a variable specifying where to find the artifacts, and
set it to build/ by default.
2023-09-22 09:30:52 -04:00
Kyle Edwards a7534c31e6 Tests: Update tests to run in multi-config generators 2023-09-22 09:30:52 -04:00
Kyle Edwards 59b0ae6b24 Tests: Update tests to run in symlinked tree 2023-09-22 09:30:52 -04:00
Kyle Edwards 08d77470ef ci: Update CMake version to 3.27.6 2023-09-20 15:06:46 -04:00
Kyle Edwards 34d46acfc8 Tests/RunCMake: Set $ENV{PWD} before each test
This will more accurately emulate how a shell would run CMake.

Also, don't set $ENV{PWD} in Tests/RunCMake/SymlinkTrees, since RunCMake is
now already doing this.
2023-09-11 16:58:14 -04:00
Kyle Edwards 4e02834eee Merge topic 'fileapi-test-fix'
e1fe5bb475 Tests: Fix FileAPI interface_exe test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8765
2023-09-04 09:46:34 -04:00
Kyle Edwards e1fe5bb475 Tests: Fix FileAPI interface_exe test 2023-09-01 14:02:44 -04:00
Kyle Edwards a5f98df778 Source: Fix mysterious new IWYU warnings 2023-08-29 10:51:30 -04:00
Kyle Edwards 0712e3cfea cmCTestCoverageHandler: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards 96b3dd329e cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain
And convert cmCTestLaunch and cmCTestBuildHandler too.
2023-08-29 10:51:30 -04:00
Kyle Edwards b15ad7ebb6 cmCTest: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards 50a6e78a82 cmSystemTools::RunSingleCommand(): Replace cmsysProcess with cmUVProcessChain
And pass OUTPUT_PASSTHROUGH in one call where it was missing.
2023-08-29 10:51:30 -04:00
Kyle Edwards 49a37d5a97 cmCTestScriptHandler: Replace cmsysProcess with cmUVProcessChain
And update cmSystemTools::WaitForLine() to use cmUVProcessChain.
2023-08-29 10:51:30 -04:00
Kyle Edwards bc702aa97e cmcmd: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards ec124582ac cmProcessTools::RunProcess(): Replace cmsysProcess with cmUVProcessChain
And convert the VCS code to std::vector<std::string>.
2023-08-29 10:51:30 -04:00
Kyle Edwards 5420639a8d cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain 2023-08-29 10:51:30 -04:00
Kyle Edwards b938e7de9c Merge topic 'cmuvstreamread-raii'
27be5ccd45 cmUVStreamRead: Return RAII handle to avoid memory leak

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8749
2023-08-29 10:50:58 -04:00
Kyle Edwards 27be5ccd45 cmUVStreamRead: Return RAII handle to avoid memory leak 2023-08-25 10:44:06 -04:00
Kyle Edwards 93e09f020c Merge topic 'libuv-bootstrap-sigchld'
d562e503aa libuv: Use SIGCHLD in bootstrap mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8748
2023-08-22 08:09:15 -04:00
Kyle Edwards d7f07a61f0 Merge topic 'cmakelibtests-lean-and-mean'
439722993e CMakeLibTests: Compile with WIN32_LEAN_AND_MEAN

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8750
2023-08-22 08:08:12 -04:00
Kyle Edwards 439722993e CMakeLibTests: Compile with WIN32_LEAN_AND_MEAN 2023-08-21 14:48:07 -04:00
Kyle Edwards d562e503aa libuv: Use SIGCHLD in bootstrap mode 2023-08-21 14:16:28 -04:00
Kyle Edwards 5fb17a1410 libuv: win,spawn: allow %PATH% to be unset
Backport libuv commit `c97017dd` (win,spawn: allow `%PATH%` to be unset,
2023-08-14).

See https://github.com/libuv/libuv/pull/4116.
2023-08-18 15:53:32 -04:00
Kyle Edwards 4653f80260 Merge topic 'cmake-presets-errors-functions'
94241e243d cmJSONHelpers: Make error generators proper functions
2588bf090c CMakePresets: Make error generators proper functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8727
2023-08-17 08:59:15 -04:00
Kyle Edwards ac5772be3f Merge topic 'xcframework-maccatalyst-fix'
984e887e22 .xcframework: Search Info.plist for "maccatalyst" instead of "catalyst"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8729
2023-08-17 08:57:55 -04:00
Kyle Edwards 984e887e22 .xcframework: Search Info.plist for "maccatalyst" instead of "catalyst" 2023-08-16 10:58:11 -04:00
Kyle Edwards 58d27dc6db Merge topic 'xcframework-check-platform-variant'
b4565c8c91 .xcframework: Check SupportedPlatformVariant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8713
2023-08-16 10:26:00 -04:00
Kyle Edwards 94241e243d cmJSONHelpers: Make error generators proper functions 2023-08-16 09:56:48 -04:00
Kyle Edwards 2588bf090c CMakePresets: Make error generators proper functions
And rename cmCMakePresetErrors to cmCMakePresetsErrors.
2023-08-16 09:47:29 -04:00
Kyle Edwards b4565c8c91 .xcframework: Check SupportedPlatformVariant 2023-08-15 09:45:17 -04:00
Kyle Edwards 2eab65ca82 Merge topic 'test-properties-directory'
2ccb897d86 get_test_property(): Add DIRECTORY option
84e76fedb0 get_property(TEST): Add DIRECTORY option
efc8f19cc5 set_tests_properties(): Add DIRECTORY option
753999d4db set_property(TEST): Add DIRECTORY option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8709
2023-08-14 11:18:54 -04:00
Kyle Edwards 0d95b68bd8 Merge topic 'ctest-generate-resource-spec-file'
c8c1dd0d95 CTest: Add ability to dynamically generate resource spec file
3f5a5a5856 cmCTestRunTest::StartFailure(): Add total argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8699
2023-08-14 11:18:03 -04:00
Kyle Edwards 2ccb897d86 get_test_property(): Add DIRECTORY option 2023-08-11 10:50:52 -04:00
Kyle Edwards 84e76fedb0 get_property(TEST): Add DIRECTORY option 2023-08-11 10:50:52 -04:00
Kyle Edwards efc8f19cc5 set_tests_properties(): Add DIRECTORY option 2023-08-11 10:50:52 -04:00
Kyle Edwards 753999d4db set_property(TEST): Add DIRECTORY option 2023-08-10 17:36:14 -04:00
Kyle Edwards c8c1dd0d95 CTest: Add ability to dynamically generate resource spec file
Issue: #25106
2023-08-10 16:47:51 -04:00
Kyle Edwards 3f5a5a5856 cmCTestRunTest::StartFailure(): Add total argument
This function was being called when TotalNumberOfTests hadn't been
initialized, resulting in undefined output. It's not clear why this
was never apparent until now. Accept a total argument to ensure it's
initialized.
2023-08-10 16:46:25 -04:00
Kyle Edwards fbdb1fd843 Source: Add cm_fileno wrapper
And use it where appropriate.
2023-08-07 11:26:05 -04:00
Kyle Edwards 4cf5eab79d Merge topic 'xcframework-find-library'
9bf8f7de06 find_library(): Add support for .xcframework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8661
2023-07-28 14:59:14 -04:00
Kyle Edwards 9bf8f7de06 find_library(): Add support for .xcframework
Issue: #21752
2023-07-28 14:41:45 -04:00
Kyle Edwards 07ac0c0ae0 Merge topic 'xcframework-target-link-libraries'
7050ac56a1 macOS: Add support for linking against .xcframework folders
93ed53790c bootstrap: Unconditionally build libjsoncpp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8619
2023-07-27 10:06:22 -04:00
Kyle Edwards 7050ac56a1 macOS: Add support for linking against .xcframework folders
Issue: #21752
2023-07-26 17:00:01 -04:00
Kyle Edwards 830a4b37aa cmUVProcessChain::Wait(): Treat timeout of 0 as no timeout 2023-07-26 13:08:27 -04:00
Kyle Edwards 93ed53790c bootstrap: Unconditionally build libjsoncpp 2023-07-26 10:07:38 -04:00
Kyle Edwards 8129bf85ed Merge topic 'exec-program-policy'
ff12a57d5e exec_program(): Remove by policy CMP0153

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8653
2023-07-26 09:23:32 -04:00
Kyle Edwards ff12a57d5e exec_program(): Remove by policy CMP0153 2023-07-25 11:09:56 -04:00
Kyle Edwards 0e8584c89c CTest: Fix regression in calculating test timeout
Fixes: #25120
2023-07-24 19:29:54 -04:00
Kyle Edwards edfa4d762d cmake_uninstall.cmake.in: Replace exec_program() with execute_process() 2023-07-24 17:59:24 -04:00
Kyle Edwards 8776236161 Tests/ExternalOBJ: Replace exec_program() with execute_process() 2023-07-24 17:59:24 -04:00
Kyle Edwards 54a68b221a Tests/ComplexOneConfig: Replace exec_program() with execute_process() 2023-07-24 17:28:04 -04:00
Kyle Edwards 13e674b61b Tests/Complex: Replace exec_program() with execute_process() 2023-07-24 17:26:18 -04:00
Kyle Edwards e43d97cb29 Tests/CommandLineTest: Replace exec_program() with execute_process() 2023-07-24 17:23:33 -04:00
Kyle Edwards 6463263ffa Tests/CMakeOnly: Replace exec_program() with execute_process() 2023-07-24 17:23:33 -04:00
Kyle Edwards f73a5bfaa9 UsePkgConfig: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards 17bab9e709 FindwxWindows: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards 13f7ae2878 FindQt: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards 31cab35bb6 FindFLTK2: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards ec155433ed FindFLTK: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards b01f5eb079 Windows: Add experimental WindowsKernelModeDriver platform 2023-07-17 16:54:10 -04:00
Kyle Edwards d84681d8f0 try_compile(): Pass down CMAKE_EXPERIMENTAL_* feature flags 2023-07-17 16:53:52 -04:00
Kyle Edwards 1ca82e7a04 cmake_language(): Add undocumented GET_EXPERIMENTAL_FEATURE_ENABLED mode 2023-07-17 15:19:58 -04:00
Kyle Edwards 051cea7b7e cmExperimental: Expose feature data API 2023-07-17 15:19:30 -04:00
Kyle Edwards d605f728f7 macOS: Allow IMPORTED_LOCATION to be a framework folder
Issue: #24946
2023-06-23 12:07:18 -04:00
Kyle Edwards 70f36de1e5 File set: Allow absolute CMAKE_INSTALL_INCLUDEDIR
When install(TARGETS) and install(EXPORT) were called with file sets
and an absolute CMAKE_INSTALL_INCLUDEDIR, "${_IMPORT_PREFIX}/" was
still being prepended to the base directory and files, resulting in
incorrect paths. Don't prepend this when absolute paths are used.

Fixes: #25010
2023-06-20 11:39:11 -04:00
Kyle Edwards b65d54e876 cmUVStreambuf: Update URL for example code 2023-06-14 11:53:55 -04:00
Kyle Edwards 0878306386 cmUVStream: Add cmUVStreamRead() function 2023-06-14 11:53:55 -04:00