summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* NVHPC: Support nvfortran versions that don't support isystemRobert Maynard2023-06-231-1/+1
| | | | Fixes: #25019
* Tests: Require git to enable RunCMake.CMP0150 testBrad King2023-06-121-1/+4
| | | | | | The test added by commit 550f63447d (ExternalProject/FetchContent: Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) covers Git-specific functionality, and requires a `git` tool to be available.
* Test: Generate pseudo linters generator independentOrkun Tokdemir2023-06-021-4/+6
| | | | Fixes: #24968
* Merge topic 'skip-linting'Brad King2023-05-181-0/+4
|\ | | | | | | | | | | | | | | | | | | | | 775c369420 Autogen: set SKIP_LINTING ON for generated files b480315e0c TargetGenerator: Add SKIP_LINTING source property 993dde925f TargetGenerator: Factor out generation of code check rules 023af4ab2f Improve Const Correctness Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8467
| * Autogen: set SKIP_LINTING ON for generated filesOrkun Tokdemir2023-05-161-0/+4
| | | | | | | | Fixes: #19772
* | Tests: Split some RunCMake.XcodeProject cases into a separate testBrad King2023-05-151-0/+1
|/ | | | | | The `RunCMake.XcodeProject` has many cases and occasionally fails due to timeout. Move iOS and other device-specific cases to a new `RunCMake.XcodeProject-Device` test.
* Tests: Teach ISPC tests to run on macOS arm64 hostBrad King2023-05-101-0/+1
|
* Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64Brad King2023-05-101-0/+1
| | | | | Explicitly specify the xcodebuild scheme destination architecture to match the host.
* Ninja: Fix Fortran INCLUDE directive dependencies when not preprocessingBrad King2023-05-091-0/+4
| | | | | | | Since commit b0a6161190 (Fortran: Add Fortran_PREPROCESS property, 2020-04-24, v3.18.0-rc1~116^2~3), if `Fortran_PREPROCESS` is `OFF`, the Ninja generator does not properly detect dependencies on sources loaded via the Fortran INCLUDE directive. Fix this and add a test.
* Tests: Move `CTestTestZeroTimeout` into `RunCMake.CTestTimeout`Brad King2023-05-041-1/+4
|
* Link step: use linker dependency linker fileMarc Chevrier2023-05-031-0/+1
| | | | | | Based on work done by @ben.boeckel (!8051) Fixes: #22217
* Merge topic 'ExternalProject-relative-git-urls'Craig Scott2023-04-271-0/+1
|\ | | | | | | | | | | | | 550f63447d ExternalProject/FetchContent: Support relative remote URLs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7988
| * ExternalProject/FetchContent: Support relative remote URLsChris Wright2023-04-261-0/+1
| | | | | | | | | | | | | | | | | | Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve relative remote URLs provided via `GIT_REPOSITORY`. Add policy CMP0150 to maintain compatibility. Fixes: #24211 Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | GenEx LIST: list operationsMarc Chevrier2023-04-161-0/+1
|/ | | | Fixes: #24550, #24547
* Tests: Fix RunCMake infrastructure for LCC and CMP0129Brad King2023-04-031-0/+9
| | | | | | | | | | Since commit 3958ed878f (LCC: Add policy CMP0129 regarding interpreting LCC as GNU, 2021-10-19, v3.23.0-rc1~508^2) we intended to enable policy `CMP0129` in RunCMake tests via `-DCMAKE_POLICY_DEFAULT_CMP0129=NEW`. Fix the condition activating that to check `CMAKE_C_COMPILER_ID` where it is always available. Remove now-unnecessary CMP0129 settings in RunCMake cases.
* file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binariesChristian Heimlich2023-03-231-0/+1
| | | | | | | | | | | | | | | | | | | | For Windows PE files the `file(GET_RUNTIME_DEPENDENCIES)` command converts the name of all DLLs found during binary scanning to lowercase in order to simplify the syntax requirements of its regex filters; however, this has the side-effect of causing all DLL paths returned via RESOLVED_DEPENDENCIES_VAR to be in lowercase, regardless of their actual casing. Instead, respect the original casing as closely as possible when returning resolved dependencies after all filters have been passed: When evaluating a Windows PE format binary on a non-Windows host the casing of dependencies recorded within the binary are used. When the host is running Windows, the actual casing of the dependencies on-disk are used instead. Fixes: #23091
* Merge topic 'Apple-handle-Text-Stubs'Brad King2023-03-021-0/+2
|\ | | | | | | | | | | | | | | | | ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files) fcbd723a50 Enhance support functions Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !8204
| * Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-011-0/+2
| | | | | | | | Fixes: #24123
* | Add option to add SOVERSION to DLL namesRalf Habacker2023-02-271-1/+1
| | | | | | | | | | | | | | Add variable/target property `[CMAKE_]DLL_NAME_WITH_SOVERSION`. Fixes: #24251 Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
* | Tests: Rename RunCMake.{ArtifactOutputDirs => TargetArtifacts}Brad King2023-02-241-2/+1
|/ | | | Generalize the name so we can add other kinds of artifact checks.
* Tests: Add dedicated RunCMake.ExtraGenerators testBrad King2023-02-131-0/+4
| | | | | | The `Simple_${extraGenerator}` tests do not actually need to compile because they only smoke test CMake's generation of the extra project files.
* Tests: Add test for file(DOWNLOAD) with TLS_VERIFYscivision2023-02-101-1/+9
| | | | | | | | | | | Occasionally curl updates introduce errors in https verification. Add an explicit test for this capability, activated by an undocumented option that we can use in CI to specify a URL to test. Co-authored-by: Brad King <brad.king@kitware.com> Fixes: #24405 Issue: #24147 Issue: #24398
* Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languagesBrad King2023-01-281-0/+3
| | | | Add cases for English, French, German, and Japanese.
* Xcode: Inherit Swift flags and compilation conditionsRoss Kilgariff2023-01-251-1/+2
| | | | | | | | Extend the change from commit dfaf55fbfd (Xcode: add extra '$(inherited)' entries using InheritBuildSettingAttribute, 2021-05-03, v3.21.0-rc1~182^2) to cover Swift flags and compilation conditions, allowing CocoaPods and CMake to interoperate when used in the same project.
* COMPILE_DEFINITIONS property: ensure leading -D is removed in all casesMarc Chevrier2022-12-131-0/+1
| | | | Fixes: #24186
* Tests: Enable RunCMake.file-GET_RUNTIME_DEPENDENCIES linux cases on XLBrad King2022-12-021-1/+4
| | | | | | | These were excluded with the XL and XLClang compilers because one such compiler in nightly testing hard-codes `--enable-new-dtags`. Add a way to disable the cases via local configuration instead so that we can run them on the rest of the XL compilers.
* Tests: Honor CMake_TEST_NO_NETWORK in RunCMake.file-DOWNLOADBrad King2022-11-181-1/+1
| | | | | | | Most of the test uses `file://` URLs instead of hitting the network. However, a case covering an invalid hostname does try to make a real connection, expecting it to fail DNS resolution. Turn off that case if we are asked not to hit the network during testing.
* Tests: Factor out a RunCMake.file-DOWNLOAD testBrad King2022-11-171-0/+1
| | | | Move the `DOWNLOAD-*` cases over from the `RunCMake.file` test.
* Tests: Rename RunCMake.TargetPropertyGeneratorExpressions for consistencyBrad King2022-11-151-1/+1
| | | | | Rename the test to `RunCMake.GenEx-TARGET_PROPERTY` for consistency with the other `RunCMake.GenEx-*` test names.
* Merge topic 'CheckCompilerFlag-Swift'Brad King2022-11-071-1/+2
|\ | | | | | | | | | | | | 2d5403ecaa CheckCompilerFlag: Add Swift Support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7865
| * CheckCompilerFlag: Add Swift SupportEvan Wilde2022-11-041-1/+2
| | | | | | | | | | Plumb through Swift `check_compiler_flag` support. Add tests to check that valid flags work and invalid flags don't.
* | Tests: Improve RunCMake.GetPrerequisites sample executable selectionBrad King2022-11-021-1/+1
|/ | | | | | | Get the runtime dependencies of an executable just built by the toolchain with which tests are running. Previously we used the `cmake` binary itself, but that might have been built for a different ABI than the tested binutils support.
* Tests: Simplify RunCMake.try_compile compiler inspectionBrad King2022-10-311-48/+0
| | | | | | | | Detect the compiler id, version, and default standard level in the test's inspection step rather than passing it all in from the host CMake build's results. This avoids repeating details not known to older versions of CMake, and shortens the code.
* Tests: Fix logic to enable RunCMake.try_compile OBJC/OBJCXX casesBrad King2022-10-311-2/+1
| | | | | | CMake itself does not enable the OBJC/OBJCXX languages, so the `CMAKE_OBJ{C,CXX}_STANDARD_DEFAULT` variables are never defined. Detect them inside the test instead.
* Tests: Factor out a CMake_TEST_OBJC variable for OBJC/OBJCXX test conditionsBrad King2022-10-311-6/+6
|
* Merge topic 'ninja-showIncludes-encoding'Brad King2022-10-311-0/+4
|\ | | | | | | | | | | | | | | | | | | a0d4e3bf34 cmGeneratedFileStream: Drop unused WriteRaw method 2e5af30ce0 Ninja: Match showIncludes dependencies using console output code page e1c1679148 cm_codecvt: Add support for the Windows console output code page 328c15189d cmGeneratedFileStream: Add support for a temporary alternate encoding Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7845
| * Ninja: Match showIncludes dependencies using console output code pageBrad King2022-10-301-0/+4
| | | | | | | | | | | | | | | | | | Generalize the fix from commit 37a279f8d1 (Ninja: Write msvc_deps_prefix as UTF-8 when console codepage is UTF-8, 2020-07-31, v3.19.0-rc1~349^2). `cl /showIncludes` output is encoded using the console output code page, so this is the byte sequence that Ninja must use to match its lines. Fixes: #24068
* | CheckSourceCompiles: Add support for SwiftEvan Wilde2022-10-241-1/+2
|/ | | | | Plumb through swift `check_source_compiles` support. Add tests to check that valid swift sources compile and invalid sources don't.
* Tests: Test more CMakeTest*Compiler.cmake fallbacksBrad King2022-09-291-0/+9
| | | | | Extend the test added by commit f891a75d5c (Tests: Test CMakeTest*Compiler.cmake fallbacks, 2022-09-27) to cover more languages.
* Merge topic 'compiler-tests'Brad King2022-09-291-0/+4
|\ | | | | | | | | | | | | | | f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7722
| * Tests: Test CMakeTest*Compiler.cmake fallbacksMatthew Woehlke2022-09-281-0/+4
| | | | | | | | | | | | | | | | | | Add tests that explicitly test the fallback tests of the modules which test for a functional [Obj]C[xx] compiler, bypassing the ABI tests. Due to the ABI test short-circuiting added by commit 1d21dd0f7c (enable_language: Assume compiler works if ABI detection compiles, 2020-05-25, v3.18.0-rc1~93^2), this logic is likely not getting tested otherwise.
* | cmake: Add --workflow modeKyle Edwards2022-09-271-0/+4
|/ | | | Fixes: #23118
* Merge topic 'modernize-build-self'Brad King2022-09-231-3/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9629be8080 Build: Use `CMAKE_CURRENT_XXX_DIR` instead of top dirs e6fb5a1feb Build: Sort linked libraries list of `CMakeLib` aa7290e8dc Build: Use imported target `Threads::Threads` instead of variable df8ad72ffa Build: Use imported target `kwiml::kwiml` instead of variables eeebf31e54 Build: Use imported target `LibRHash::LibRHash` instead of variables 08be01a181 Build: Use imported target `LibUV::LibUV` instead of variables ddac6dcbe8 Build: Use imported target `JsonCpp::JsonCpp` instead of variables ac76c53d33 Build: Use imported target `CURL::libcurl` instead of variables ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7570
| * Build: Modernize some `foreach` calls to use `IN LISTS`/`IN ITEMS`Alex Turbov2022-09-221-3/+5
| |
* | Genex LINK_LIBRARY: Add support for framework with postfixMarc Chevrier2022-09-211-0/+2
|/
* MSVC: Add abstraction for debug information formatGlen Chung2022-09-141-0/+1
| | | | | | | | | | | | | | | | Replace our hard-coded default for `/Zi` with a first-class abstraction to select the debug information format an enumeration of logical names. We've long hesitated to do this because the idea of "debug information format" touches on related concepts on several platforms. Avoid that scope creep by simply defining an abstraction that applies only when targeting the MSVC ABI on Windows. Removing the old default flag requires a policy because existing projects may rely on string processing to edit them and choose a runtime library under the old behavior. Add policy CMP0141 to provide compatibility. Fixes: #10189
* CPack: Add support for presetsKyle Edwards2022-08-311-0/+4
| | | | Fixes: #23117
* Add new flow-control commands for variables and policies scopes managementMarc Chevrier2022-08-221-0/+1
| | | | | | | Add block() and endblock() commands offering the capability to create new scopes for variables and/or policies. Fixes: #20171
* Tests: Fix RunCMake.FileAPI test with jsoncpp < 1.7.5Brad King2022-08-181-0/+3
| | | | | | | Prior to jsoncpp commit `126bdc2b05` (Reject extra chars if strictRoot, 2016-08-21, 1.7.5~2), it did not diagnose trailing characters in the input after a JSON value. Teach our corresponding test case to tolerate the old behavior.
* Merge topic 'export-no-shdeps'Brad King2022-08-161-0/+1
|\ | | | | | | | | | | | | 0ebff0d61a export: Restore exclusion of private shared library dependencies from checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7557