* Treat relative paths as relative to parent project's remote
* replace unit test case with integration test
* run relative URL test only on supported CMake versions (3.27)
* omit cmake 2.25.x test runner as replaced by 2.27.x
---------
Co-authored-by: Chris Wright <chris.wright@mqa.co.uk>
Co-authored-by: Lars Melchior <lars.melchior@gmail.com>
* add CMake version as workflow matrix parameter
* change system test behaviour based on specified CMake version
* use explicit version strings
* set CMake version for both test steps
* exclude windows-2022, cmake 3.16 combination
* add system property for cpm_add_subdirectory
* add test case for system property
* lock CMake version in test workflow
* refactor to make SYSTEM an extra config option and update tests
* remove old comment change
* use consistent CMake version and extension for all workflows
* make warning more specific and try to trigger on windows
* another attempt to trigger warning on MSVC
* update readme
* simplify test case and use git tag
* add SYSTEM option to .cmake-format
* forward system arg for source overrides
* enable system implicitly for the single argument syntax
* Use SYSTEM option for FetchContent and add_subdirectory (#441)
* Use SYSTEM option for FetchContent and add_subdirectory
* Add SYSTEM option to syntax and doku
* Update CPM.cmake
* Update .cmake-format
---------
Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>
---------
Co-authored-by: Claus Klein <claus.klein@arcormail.de>
* Add file locking to support parallel runs.
* Fixed formatting.
* Prevent double locking file.
* Fix SegFault from test 2.
* Remove unnecessary debugging messages.
* Lock the package directory rather than the cache directory.
Only synchronize if CPM_SOURCE_CACHE is defined.
* Lock the version specific cache entry rather than the package specific entry.
* Remove unnecessary arguments in conditional statements.
* Change back to locking entire cache directory.
* Only check CPM_HAS_CACHE_LOCK.
* Lock on a per-package basis rather than the entire cache.
* Clean up the locked file.
* Unlock then remove to fix Windows.
* Specify use of cmake.lock as the lock file.
* - Changed CPM_HAS_CACHE_LOCK to ${CPM_ARGS_NAME}_CPM_HAS_CACHE_LOCK.
- Removed redundant variable initialization.
* Add unit test.
* Actually test if resulting git cache is clean in unit test.
* - Added comments
- Fixed formatting
- Removed unnecessary imports
* convert parallelism test to integration test
* remove comment
* - Removed now unnecessary variable.
- Only delete file instead of unlocking it then deleting it.
* Forgot to change variable name.
* Add similar changes to the missed section.
* Fixed formatting.
* Unlock the file, but do not delete it.
* Only unlock the file if it exists.
* Changed cache.cmake test to ignore non-directory entries.
* Integration test lib make_project:
* keyword args
* 'name' arg to allow multiple projects from the same test
* - Moved checks to function.
- Fixed small grammatical errors.
* - Fix formatting
* Switch to snake case.
---------
Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>
Co-authored-by: Lars Melchior <lars.melchior@gmail.com>
Co-authored-by: Borislav Stanimirov <b.stanimirov@abv.bg>
* Fixed: Deleted SOURCE_DIR directory would abort just after git stash save --quiet;--include-untracked
* Fixed: Review comments
* Added: Integration test for deleted SOURCE_DIR with FetchContent
* Fixed: Review comments
* Fixed: Review comments
* Override FetchContent paramers, fixes#281
* add check to verify that dependency is cached
* update test comment
* rename test file and class
* update test indentation
* Initial commit for integration tests. Experimental. Playing with potential syntax
* Some experimental code to setup tests
* Piecewise building of CMakeLists
* First check
* Alternative approach. Using ruby's test/unit
* Parse CMakeCache. Separate lib
* First integration test
* Latest Format.cmake. Passing style
* Allow user-provided integration test dir. Allow reuse
* Separate class with utils for cache (no longer pure Hash)
* Allow running of tests from any dir
* Add integration tests to CI
* Use an in-source integration test directory
* Allow relative integration test dir from env
* Custom assertion for a success of CommandResult
* Windows-latest-latest
* Enrich CMakeCache class with more CPM data
* Added test for CPM-specific CMakeCache values
* Style
* Style
* test_update_single_package
* WiP for source cache test
* Small source_cache test
* Style
* Moved env clean to cleanup to make setup methods simpler (not require super)
* WiP for integration test documentation
* WiP for integration test documentation
* Project file creation tweaks
* Split docs into multiple files. Complete tutorial. Reference.
* Tips
* Typo
* Setup Ruby inistead of requiring windows-2022
* Revert "Setup Ruby inistead of requiring windows-2022"
This reverts commit 8aa2732145.