304 Commits

Author SHA1 Message Date
Xavier Muller
1f5cb903e5 fix superbuild cmake < 3.17 (#193)
* CPM_INDENT in the global scope as suggest

* Fix FetchContent failure with cmake < 3.17

* format
2021-02-07 17:07:47 +01:00
alexandreSalconiDenis
7000572bbe Feature/prettify package lock (#162)
* add prettify macro

* apply the prettier and change the name of the output arg

* add parameter inside macro

* resolve path if its cmake_sourc_dir

* add missing uparsed argument

* add early unit test for prettifier

* retab prettify_cpm_add_package

* rename prettify_cpm_add_package  cpm_prettyfy_package_arguments

* convert macro to function and fix unit test

* fix typo in the name of the parse argument in prettyfy function

* change the unit test to test only the function

* add test for the commented part

* remove dead code

* fix typo

* run cmake-format on CPM.cmake

* reformated unit test prettify

* flip the logic to add space on new argument unparsed to avoir space at the end

* remove debug message

* apply most suggestion from pr 162, disable formating only for small part in unit test

* add unit test to cover defauld source dir added inside lock

* run format tool on unit test

* remove dead code

* change the prettifier from 4 space to 2

* run format on unit test
v0.28.2
2021-01-27 13:29:15 +01:00
Borislav Stanimirov
fe8d15ba82 Expand CPM_SOURCE_CACHE path provided as a configure argument (#186)
Otherwise if one configures with -DCPM_SOURCE_CACHE=~/something (tilde to be expanded to $HOME), https://gitlab.kitware.com/cmake/cmake/-/issues/21729 hits, EXISTS always fails, and file(DOWNLOAD) fails
v0.28.1
2021-01-21 16:31:55 +01:00
Lars Melchior
ab6e8d6d8c Performance improvement: bypass FetchContent for cached dependencies (#182)
* skip FetchContent for cached dependencies

* set default value for CPM_SKIP_FETCH to avoid conflicts

* add tests to check exported values
v0.28.0
2021-01-20 13:15:18 +01:00
Lars Melchior
aad0397beb add further reading section (#177) 2021-01-14 12:28:11 +00:00
Lars Melchior
1ebbac6332 Apply clang-format and cmake-format and add style check workflow (#171)
* apply clang-format and cmake-format and add style check workflow

* add declare package definition

* add additional public methods and rename internals

* change development verison tag to 1.0.0

* rename internal method

* rename public method

* rename test var

* update copyright and fix comment

* typo

* run fix-format

* fix test function names
2021-01-06 14:40:33 +01:00
Yotam Gingold
cf3f62b6f2 Fixed typo in help message (#165) 2020-11-26 17:52:34 +01:00
Xavier Muller
3b404296b5 fix: GIT_TAG not parsed inside CPMFindPackage (#159)
When using CPMFindPackage, if no VERSION is given then GIT_TAG is used as fallback if defined, which is a good idea.
The issue is that GIT_TAG is missing inside the oneValueArgs variable therefore GIT_TAG is not parsed. This is resolved by this little change.
v0.27.5
2020-10-19 09:34:42 +02:00
Leonardo Lima
18e09b07ba Implemented GitHub Actions cache example (#156)
* Implemented GitHub Actions cache example

* Updated GitHub Actions example

* Update README.md

* Fixed consistency

Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>

Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>
2020-10-06 13:07:00 +02:00
Kai Germaschewski
aeef56ea85 fix passing options when using CPM_<pkg>_SOURCE (#155)
When I used CPM_<pkg>_SOURCE to point to a locally modified copy,
the options ended up not being passed on. I think they should be, so
this patch does so.
v0.27.4
2020-09-27 22:56:32 +02:00
The Gitter Badger
4271d5981f Add Gitter badge (#154) 2020-09-25 17:42:02 +02:00
Prabir Shrestha
d17500b0be ignore lua.c and luac.c from lua (#149)
* ignore lua.c and luac.c from lua

* Update README.md

* update CMakeLists.txt for sol2
2020-09-13 12:00:19 +02:00
Leonardo
5e0c3855c7 Implemented spdlog library example (#150) 2020-09-08 14:08:35 +02:00
Lars Melchior
f96cff720e switch to on-demand download script as the recommended way to get CPM.cmake (#147) 2020-08-20 10:31:08 +02:00
Lars Melchior
c3c7e2d9a3 add on-demand download script to release (#146) v0.27.3 2020-08-20 09:32:03 +02:00
Lars Melchior
30b98af416 Add link to tutorial (#143) 2020-08-12 13:41:40 +02:00
Lars Melchior
5063c7d992 Add built with CPM.cmake section (#142)
* add built with cpm.cmake section

* update text

* explicitly set width
2020-08-11 14:49:21 +02:00
Lars Melchior
3cfb309f3c add comparisons to other approaches (#141) 2020-08-11 12:49:37 +02:00
Lars Melchior
25603ac4ad Update publish script to set CPM.cmake version automatically (#139)
* update publish script to set CPM.cmake version automatically

* set a minimum development version to avoid deprecated error handler call
2020-08-04 13:12:35 +02:00
Lars Melchior
ac872f6908 Bump version and add gitlab source to examples (#138)
* use gitlab as source for example library

* bump CPM.cmake version
v0.27.2
2020-08-04 12:24:06 +02:00
jecassis
bd14ccbd5a Fix indeterminate command for GitLab argument (#137) 2020-08-04 11:40:58 +02:00
Kingsley Chen
f8afae6eb3 Add asio standalone example (#133)
* Add asio standalone example

* Mark VERSION explicitly

Without this version information, CPM's versioning mechanism may break
in some cases.

Also add comments for compile definition on Windows.

* Use aync-tcp-echo-server as the example

* Add boost software license to the demo source

Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>

Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>
2020-06-24 12:40:12 +02:00
Lars Melchior
9ec279c75f bump version and update tests (#131) v0.27.1 2020-06-15 10:16:30 +02:00
Kingsley Chen
392b2a864b Use shallow clone for git repositories by default (#129) (#130)
* Use shallow clone for git repositories by default (#129)

* use shallow clone for git repositories by default

* remove trailing spaces

* Enable shallow clone for actual tags

* Support short commit hash

* Enable shallow only when downloading dependencies into cache

* Always honor user specified GIT_SHALLOW opiton
2020-06-15 09:27:26 +02:00
Lars Melchior
139d3cacba Add NO_CACHE option (#128)
* add NO_CACHE option

* add unit test
v0.27
2020-06-04 14:22:57 +02:00
Lars Melchior
b31063d2ae prevent overriding declarations (#127) v0.26.2 2020-05-29 16:08:41 +02:00
Lars Melchior
4425bd38cf Add FORCE parameter (#126)
* add scope protection

* rename to cpm_clean_argument_scope and update patch version

* undo unnecessary scope cleaning

* undo some changes

* consistent define checks
v0.26.1
2020-05-29 15:37:49 +02:00
Lars Melchior
6da5c38dae Add package lock section to the readme (#125)
* add package lock section to the readme

* clarify position of package lock
2020-05-29 12:24:55 +02:00
Lars Melchior
76d7b27459 Fix typo and wording (#124)
* Fix typo

* Update README.md
2020-05-29 10:15:09 +02:00
Lars Melchior
54a2d80d1e Add option for local package override (#123)
* add option for local package override

* print info on the source directory
v0.26
2020-05-29 09:58:39 +02:00
Lars Melchior
829262cbd3 omit unversioned and local dependencies in package lock (#122)
* omit unversioned and local dependencies in package lock

* update package lock for active project only
v0.25.1
2020-05-28 13:29:25 +02:00
Lars Melchior
4aeea1d31d Add package lock (#121)
* add package lock creation

* change target name

* fix cpm_export_variables

* add test

* fix git repo detection addition

* remove test package lock from git

* add link to package lock wiki

* add CPMGetPackage
v0.25
2020-05-27 19:07:06 +02:00
Lars Melchior
58365446f5 fix DOWNLOAD_ONLY option when used with CPMFindPackage (#120) v0.24 2020-05-19 20:47:12 +02:00
Johel Ernesto Guerrero Peña
4937617ef1 Use STREQUAL rather than MATCHES <regex> (#116) 2020-05-10 11:21:07 +02:00
Lars Melchior
6f053907f5 check if package added before find_package (#115) v0.23 2020-05-07 23:54:10 +02:00
Ryan Mast
84b31b560a Fix wiki link to preparing projects for CPM.cmake (#114) 2020-04-30 09:45:12 +02:00
Lars Melchior
3fff3ca70d Call FetchContent_GetProperties before DOWNLOAD_ONLY population (#113)
* call FetchContent_GetProperties before checking populated

* fix old CPM.cmake links

* update description

* bump version
v0.22
2020-04-29 12:40:12 +02:00
Lars Melchior
ca33abc236 create FindXXX.cmake modules for added CPM packages (#112)
* create FindXXX.cmake modules for added CPM packages

* don't use list(PREPEND) as it unsupported on older CMake versions

* use CMAKE_BINARY_DIR

* ensure CPM.cmake is initialized only once

* import CPM.cmake in modules
v0.21
2020-04-29 09:18:54 +02:00
Giuseppe Cesarano
119eaee84d Fixed link in README.md (#111)
The section `Adding CPM` was poiting to non exinsting wiki page
2020-04-26 16:44:16 +02:00
Lars Melchior
00b5e80f88 Fix offline cache support (#110)
* use cmake -E true as empty command

* use cmake without arguments as valid empty command
v0.20
2020-04-25 01:27:27 +02:00
Lars Melchior
618cdefa0d Support CPM_SOURCE_CACHE on windows (#109)
* use semicolon as empty command and add test

* remove platform specific test coverage

* only run actions for pushes and prs into master (avoid duplication)

* remove cache test as it's already part of the test suite

* update version

* test cache reuse
2020-04-25 00:51:18 +02:00
Lars Melchior
464ba554c2 suppress package not found warning in CPMFindPackage (#103) v0.18 2020-04-14 09:35:31 +02:00
Lars Melchior
90558aa9cb Add GitHub action to publish CPM on release (#102)
* add github action to publish cpm on release

* add checkout step

* update readme
2020-03-16 20:37:30 +01:00
Lars Melchior
95c5426d25 remove code artifact from previous PR (#101) 2020-03-16 20:09:15 +01:00
Lars Melchior
cea81872cf Add fmt example and document version from git tag (#100)
* add VERSION_PREFIX argument

* add fmt example

* add VERSION_PREFIX note to readme

* rollback, add info about determining version from git tag

* rollback version
2020-03-16 20:00:30 +01:00
Lars Melchior
01b69aad82 add support for SOURCE_DIR argument (#97)
* add support for SOURCE_DIR argument

* simplify code

* add test

* update comment
v0.17
2020-02-25 13:29:21 +01:00
Lars Melchior
775a235880 default to "ON" for options without explicit value definition (#96)
* default to "ON" for options without explicit value definition

* increment CPM version

* compare the correct lengths
v0.16
2020-02-06 11:50:55 +01:00
Lars Melchior
f8d4e959bb abort when nested (bugfix) (#94)
* abort when nested (bugfix)

* update error message

* update error message
v0.15.1
2019-10-25 20:52:22 +02:00
Lars Melchior
4c7aa36dff Update README.md 2019-10-25 16:01:47 +02:00
Lars Melchior
3a4516265c Add GitHub workflows (#93)
* add mac workflow

* rename and add windows and ubuntu workflows

* update tests

* update tests

* update travis
2019-10-24 18:14:58 +02:00