mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-29 15:47:27 -05:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b404296b5 | ||
|
|
18e09b07ba | ||
|
|
aeef56ea85 | ||
|
|
4271d5981f | ||
|
|
d17500b0be | ||
|
|
5e0c3855c7 | ||
|
|
f96cff720e |
13
README.md
13
README.md
@@ -1,7 +1,7 @@
|
|||||||
[](https://travis-ci.com/TheLartians/CPM.cmake)
|
[](https://travis-ci.com/TheLartians/CPM.cmake)
|
||||||
[](https://github.com/TheLartians/CPM.cmake/actions)
|
[](https://github.com/TheLartians/CPM.cmake/actions)
|
||||||
[](https://github.com/TheLartians/CPM.cmake/actions)
|
[](https://github.com/TheLartians/CPM.cmake/actions)
|
||||||
[](https://github.com/TheLartians/CPM.cmake/actions)
|
[](https://github.com/TheLartians/CPM.cmake/actions) [](https://gitter.im/TheLartians/CPM.cmake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="./logo/CPM.png" height="100" />
|
<img src="./logo/CPM.png" height="100" />
|
||||||
@@ -79,14 +79,15 @@ See the [examples directory](https://github.com/TheLartians/CPM.cmake/tree/maste
|
|||||||
|
|
||||||
## Adding CPM
|
## Adding CPM
|
||||||
|
|
||||||
To add CPM to your current project, simply add `cmake/CPM.cmake` to your project's `cmake` directory. The command below will perform this automatically.
|
To add CPM to your current project, simply add the [latest release](https://github.com/TheLartians/CPM.cmake/releases/latest) of `CPM.cmake` or `get_cpm.cmake` to your project's `cmake` directory.
|
||||||
|
The command below will perform this automatically.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p cmake
|
mkdir -p cmake
|
||||||
wget -O cmake/CPM.cmake https://github.com/TheLartians/CPM.cmake/releases/latest/download/CPM.cmake
|
wget -O cmake/CPM.cmake https://github.com/TheLartians/CPM.cmake/releases/latest/download/get_cpm.cmake
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also use CMake to download CPM for you. See the [wiki](https://github.com/TheLartians/CPM.cmake/wiki/Downloading-CPM.cmake-in-CMake) for more details.
|
You can also download CPM.cmake directly from your project's `CMakeLists.txt`. See the [wiki](https://github.com/TheLartians/CPM.cmake/wiki/Downloading-CPM.cmake-in-CMake) for more details.
|
||||||
|
|
||||||
## Updating CPM
|
## Updating CPM
|
||||||
|
|
||||||
@@ -154,6 +155,8 @@ export CPM_SOURCE_CACHE=$HOME/.cache/CPM
|
|||||||
|
|
||||||
Note that passing the variable as a configure option to CMake will always override the value set by the environmental variable.
|
Note that passing the variable as a configure option to CMake will always override the value set by the environmental variable.
|
||||||
|
|
||||||
|
You can use `CPM_SOURCE_CACHE` on GitHub Actions workflows [cache](https://github.com/actions/cache) and combine it with ccache, to make your CI faster. See the [wiki](https://github.com/TheLartians/CPM.cmake/wiki/Caching-with-CPM.cmake-and-ccache-on-GitHub-Actions) for more info.
|
||||||
|
|
||||||
### CPM_DOWNLOAD_ALL
|
### CPM_DOWNLOAD_ALL
|
||||||
|
|
||||||
If set, CPM will forward all calls to `CPMFindPackage` as `CPMAddPackage`.
|
If set, CPM will forward all calls to `CPMFindPackage` as `CPMAddPackage`.
|
||||||
@@ -195,7 +198,6 @@ cmake --build build --target cpm-update-package-lock
|
|||||||
|
|
||||||
See the [wiki](https://github.com/TheLartians/CPM.cmake/wiki/Package-lock) for more info.
|
See the [wiki](https://github.com/TheLartians/CPM.cmake/wiki/Package-lock) for more info.
|
||||||
|
|
||||||
|
|
||||||
## Built with CPM.cmake
|
## Built with CPM.cmake
|
||||||
|
|
||||||
Some amazing projects that are built using the CPM.cmake package manager.
|
Some amazing projects that are built using the CPM.cmake package manager.
|
||||||
@@ -350,6 +352,7 @@ if (lua_ADDED)
|
|||||||
# lua has no CMake support, so we create our own target
|
# lua has no CMake support, so we create our own target
|
||||||
|
|
||||||
FILE(GLOB lua_sources ${lua_SOURCE_DIR}/*.c)
|
FILE(GLOB lua_sources ${lua_SOURCE_DIR}/*.c)
|
||||||
|
list(REMOVE_ITEM lua_sources "${lua_SOURCE_DIR}/lua.c" "${lua_SOURCE_DIR}/luac.c")
|
||||||
add_library(lua STATIC ${lua_sources})
|
add_library(lua STATIC ${lua_sources})
|
||||||
|
|
||||||
target_include_directories(lua
|
target_include_directories(lua
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ function(CPMFindPackage)
|
|||||||
set(oneValueArgs
|
set(oneValueArgs
|
||||||
NAME
|
NAME
|
||||||
VERSION
|
VERSION
|
||||||
|
GIT_TAG
|
||||||
FIND_PACKAGE_ARGUMENTS
|
FIND_PACKAGE_ARGUMENTS
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -252,6 +253,7 @@ function(CPMAddPackage)
|
|||||||
NAME ${CPM_ARGS_NAME}
|
NAME ${CPM_ARGS_NAME}
|
||||||
SOURCE_DIR ${PACKAGE_SOURCE}
|
SOURCE_DIR ${PACKAGE_SOURCE}
|
||||||
FORCE True
|
FORCE True
|
||||||
|
OPTIONS ${CPM_ARGS_OPTIONS}
|
||||||
)
|
)
|
||||||
cpm_export_variables(${CPM_ARGS_NAME})
|
cpm_export_variables(${CPM_ARGS_NAME})
|
||||||
return()
|
return()
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ if (lua_ADDED)
|
|||||||
# lua has no CMakeLists, so we create our own target
|
# lua has no CMakeLists, so we create our own target
|
||||||
|
|
||||||
FILE(GLOB lua_sources ${lua_SOURCE_DIR}/*.c)
|
FILE(GLOB lua_sources ${lua_SOURCE_DIR}/*.c)
|
||||||
|
list(REMOVE_ITEM lua_sources "${lua_SOURCE_DIR}/lua.c" "${lua_SOURCE_DIR}/luac.c")
|
||||||
add_library(lua STATIC ${lua_sources})
|
add_library(lua STATIC ${lua_sources})
|
||||||
|
|
||||||
target_include_directories(lua
|
target_include_directories(lua
|
||||||
|
|||||||
19
examples/spdlog/CMakeLists.txt
Normal file
19
examples/spdlog/CMakeLists.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
||||||
|
|
||||||
|
project(CPMSpdlogExample)
|
||||||
|
|
||||||
|
# ---- Dependencies ----
|
||||||
|
|
||||||
|
include(../../cmake/CPM.cmake)
|
||||||
|
|
||||||
|
CPMAddPackage(
|
||||||
|
NAME spdlog
|
||||||
|
GITHUB_REPOSITORY gabime/spdlog
|
||||||
|
VERSION 1.7.0
|
||||||
|
)
|
||||||
|
|
||||||
|
# ---- Executable ----
|
||||||
|
|
||||||
|
add_executable(CPMSpdlogExample "main.cpp")
|
||||||
|
set_target_properties(CPMSpdlogExample PROPERTIES CXX_STANDARD 17)
|
||||||
|
target_link_libraries(CPMSpdlogExample spdlog)
|
||||||
6
examples/spdlog/main.cpp
Normal file
6
examples/spdlog/main.cpp
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#include <spdlog/spdlog.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
spdlog::info("Hello, world!");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user