Standard Configuration
What You Need​
- CMake
- Can be installed using Visual Studio installer, Cmake's website, or your package manager
- OpenSSL library
- For Windows users, you can install it using VCPKG and the command
.\vcpkg\vcpkg install openssl:x64-windows
or.\vcpkg\vcpkg install openssl:x86-windows
. - For Linux users, use your package manager and install libssl-dev or openssl-devel. The name depends on your package manager.
- For Windows users, you can install it using VCPKG and the command
- A C++ Compiler
- Go here for build status.
- For Visual Studio users, Visual Studio has a c++ compiler.
- libCurl (Required for Linux)
- install a package like
libcurl4-openssl-dev
on your package manager - on Windows, the cmake script should compile libCurl for you. So libCurl should be set up for you when you run cmake.
- install a package like
- Windows SDK (Required for Windows)
- If you are using Visual Studio, it's recommend you download this from the Visual Studio installer.
- The library doesn't really use it but you can run into issues without it.
Instructions​
Creating a CMakeList file​
my-project
├── deps
│ └── sleepy-discord
├── source.cpp
└── CMakeLists.txt
- In case you haven't already created a CMakeLists.txt file for your project. please do so on the root directory or folder of your project.
Writing a CMakeList file​
#CMakeLists.txt
cmake_minimum_required (VERSION 3.6)
project(example)
add_executable(replace-me source.cpp)
- Replace replace-me with the name of your project or executable.
Linking Sleepy Discord​
#Add these two lines
add_subdirectory(deps/sleepy-discord)
target_link_libraries(replace-me sleepy-discord)
Add these two lines to the CMakeList.txt so that Sleepy Discord will be linked.
If you are following the examples, you can skip this step. Otherwise, replace
deps/sleepy-discord
with the relative path to the sleepy-discord directory folder relative to theCmakeLists.txt
file. Windows users, remember to use/
.
note
In add_subdirectory
, using a directory that isn't a subdirectory to the current folder will require you to add a path to the binary folder for sleepy-discord as the 2nd parameter. It is recommended that you don't do this.
Example​
Simple Example​
my-project
├── deps
│ └── sleepy-discord
├── source.cpp
└── CMakeLists.txt
cmake_minimum_required (VERSION 3.6)
project(example)
add_executable(replace-me source.cpp)
add_subdirectory(deps/sleepy-discord)
target_link_libraries(replace-me sleepy-discord)
Another Example​
light-blob-bot
├── sleepy-discord
├── ui
│ └── switch.cpp
├── material
│ ├── matal.cpp
│ ├── plastic.cpp
│ └── glass.cpp
├── CMakeLists.txt
├── light.cpp
├── blob.cpp
└── main.cpp
cmake_minimum_required (VERSION 3.6)
project(light-blob)
add_executable(light-blob light.cpp blob.cpp
main.cpp ui/switch.cpp
material/metal.cpp material/plastic.cpp material/glass.cpp)
add_subdirectory(sleepy-discord)
target_link_libraries(light-blob sleepy-discord)
Next Step​
Choose your CMake Interface.