Compare commits

...

7 Commits

Author SHA1 Message Date
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.
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.
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
5 changed files with 36 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
[![Build Status](https://travis-ci.com/TheLartians/CPM.cmake.svg?branch=master)](https://travis-ci.com/TheLartians/CPM.cmake) [![Build Status](https://travis-ci.com/TheLartians/CPM.cmake.svg?branch=master)](https://travis-ci.com/TheLartians/CPM.cmake)
[![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/MacOS/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions) [![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/MacOS/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions)
[![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/Windows/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions) [![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/Windows/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions)
[![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/Ubuntu/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions) [![Actions Status](https://github.com/TheLartians/CPM.cmake/workflows/Ubuntu/badge.svg)](https://github.com/TheLartians/CPM.cmake/actions) [![Join the chat at https://gitter.im/TheLartians/CPM.cmake](https://badges.gitter.im/TheLartians/CPM.cmake.svg)](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

View File

@@ -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()

View File

@@ -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

View 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
View File

@@ -0,0 +1,6 @@
#include <spdlog/spdlog.h>
int main() {
spdlog::info("Hello, world!");
return 0;
}