File: README.md

package info (click to toggle)
scitokens-cpp 1.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,172 kB
  • sloc: cpp: 11,717; ansic: 596; sh: 161; python: 132; makefile: 22
file content (78 lines) | stat: -rw-r--r-- 2,211 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# SciTokens C++ Development Container

This devcontainer configuration enables GitHub Codespaces and local development container support for the scitokens-cpp project.

## Features

### Base Environment
- **OS**: Latest Ubuntu
- **User**: Non-root `vscode` user with sudo access

### Build Dependencies
All dependencies from the GitHub Actions workflow are included:
- `libssl-dev` - OpenSSL development files
- `sqlite3` and `libsqlite3-dev` - SQLite database
- `cmake` - Build system
- `libcurl4` and `libcurl4-openssl-dev` - HTTP client library
- `uuid-dev` - UUID generation library
- `libgtest-dev` - Google Test framework

### Development Tools
- **Build Tools**: build-essential, cmake, ninja-build, pkg-config
- **Debuggers**: gdb, gdbserver, lldb
- **Analysis Tools**: valgrind, clang-tidy
- **Compilers**: gcc/g++ (via build-essential), clang
- **Formatters**: clang-format
- **Utilities**: git, curl, wget, vim, nano, htop, tree

### VSCode Extensions
- C/C++ Extension Pack
- CMake Tools
- CMake Language Support
- GitHub Copilot (if available)

## Usage

### GitHub Codespaces
1. Navigate to the repository on GitHub
2. Click the "Code" button
3. Select "Codespaces" tab
4. Click "Create codespace on [branch]"

### Local Development with VSCode
1. Install [Docker](https://www.docker.com/products/docker-desktop)
2. Install [VSCode](https://code.visualstudio.com/)
3. Install the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
4. Open the repository in VSCode
5. Click "Reopen in Container" when prompted (or use Command Palette: "Dev Containers: Reopen in Container")

## Building the Project

After the container is created, submodules are automatically initialized. To build:

```bash
# Create build directory
mkdir -p build
cd build

# Configure with CMake
cmake .. -DCMAKE_BUILD_TYPE=Release -DSCITOKENS_BUILD_UNITTESTS=ON

# Build
cmake --build .

# Run tests
ctest --verbose
```

## Debugging

The container includes both GDB and LLDB debuggers. You can:
- Use VSCode's integrated debugging features
- Run debuggers from the terminal
- Use valgrind for memory analysis

Example using GDB:
```bash
gdb ./scitokens-test
```