Я создаю тестовый проект для изучения библиотек zeromq
с cppmq
, и я хочу включить обе библиотеки в качестве подкаталогов. В настоящее время у меня есть следующая структура:
|-- CMakeLists.txt
|-- deps
| |-- cppzmq-4.3.0
| | |-- CMakeLists.txt
| | `-- rest of files
| |-- zeromq-4.3.1
| | |-- CMakeLists.txt
| | `-- rest of files
`-- main.cpp
Я пробовал со следующим CMakeLists
:
cmake_minimum_required(VERSION 3.14)
project(PruebaZeroMQ)
set(CMAKE_CXX_STANDARD 11)
add_subdirectory(deps/zeromq-4.3.1)
add_subdirectory(deps/cppzmq-4.3.0)
add_executable(PruebaZeroMQ main.cpp)
target_link_libraries(PruebaZeroMQ
libzmq
cppzmq)
Когда я запускаю cmake, я получаю следующую ошибку:
-- Detected CPPZMQ Version - 4.3.0
-- CMake libzmq package not found, trying again with pkg-config (normal install of zeromq)
CMake Error at deps/cppzmq-4.3.0/CMakeLists.txt:20 (message):
ZeroMQ was not found, neither as a CMake package nor via pkg-config
cppmq
зависит от zeromq
и выглядит так, как будто он пытается загрузить его, используя find_package
, поэтому я попытался изменить CMAKE_MODULE_PATH
, чтобы он мог найти файл ZeroMQConfig.cmake
, но он тоже не работает, с та же ошибка:
add_subdirectory(deps/zeromq-4.3.1)
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}/deps/zeromq-4.3.1 ")
add_subdirectory(deps/cppzmq-4.3.0)
Есть ли способ достичь этого? Я бы предпочел не устанавливать библиотеки в масштабе всей системы.