Я пишу свой собственный лаунчер minecraft на c ++ с помощью Visual Studio 2019 IDE. Я хочу, чтобы это был кроссплатформенный проект. Я решил использовать CMake для этого, но у меня есть некоторые проблемы со сторонними библиотеками.
СТРУКТУРА ФАЙЛА
root
|---MyProject
| |---build
| | |---Debug
| | |---Release
| |---include
| | |---MyProject.hpp
| |---src
| | |---MyProject.cpp
| | |---CMakeLists.txt
| |---CMakeLists.txt
|---Vendor
| |---CURL
| | |--- // source downloaded from https://curl.haxx.se/download/curl-7.64.1.tar.gz
| |---CMakeLists.txt
|---CMakeLists.txt
У меня есть некоторый опыт связывания библиотек в решениях Visual Studio, но я не знаю, как это сделать в CMake.
У меня есть две папки:
- Папка моего проекта (над которой я работаю) со всеми файлами .cpp и .hpp.
- Папка Vendor для всех сторонних библиотек.
Я хочу связать проекты CMake в 'Vendor' с 'MyProject', чтобы иметь возможность использовать его в 'MyProject.cpp' и создавать его.
Пример использования:
'MyProject.hpp':
#pragma once
#include <iostream>
#inlcude "curl/curl.h"
'MyProject.cpp':
int main() {
// Hello World
std::cout << "Hello world" << std::endl;
// Some Curl stuff
CURL* curl;
...
}
Я пробовал что-то вроде этого:
add_subdirectory("Vendor/CURL")
include_directories("Vendor/CURL/include")
Я новичок в CMake и не знаю, как это сделать ...
Я гуглил это больше часа, но ничего не нашел.
Кстати: простите за мой английский.