Мы можем использовать target_link_libraries
для указания библиотек при связывании заданной цели.
Мне интересно, есть ли способ указать путь к исходному файлу библиотеки (файл cpp)?(не заголовочный файл, который можно установить с помощью target_include_directories
)
Поскольку некоторые средства отладки (cgdb
, gdbgui
) не могут найти исходный файл зависимой библиотеки.(Все цели и библиотеки скомпилированы с опцией отладки.)
В настоящее время я должен добавить исходный файл библиотеки к основной цели при отладке.
myproj CMakeLists.txt
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
set(PORJ_NAME myproj)
project(${PORJ_NAME})
add_executable(${PORJ_NAME}
main.cpp
...
)
target_link_libraries (${PORJ_NAME}
PRIVATE
/proj_math/libmathcore.so
...
)
mathcore CMakeLists.txt (находится по пути, отличному от myproj)
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
set(PORJ_NAME mathcore)
project(${PORJ_NAME})
add_library(${PORJ_NAME}
src/mathcore.cpp # change to absolute path won't work either
...
)