Настройка проекта CMake & Visual Studio - PullRequest
3 голосов
/ 08 мая 2019

Я пишу свой собственный лаунчер 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.

У меня есть две папки:

  1. Папка моего проекта (над которой я работаю) со всеми файлами .cpp и .hpp.
  2. Папка 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 и не знаю, как это сделать ... Я гуглил это больше часа, но ничего не нашел. Кстати: простите за мой английский.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...