Подключение библиотеки из внешнего проекта

This commit is contained in:
2019-02-13 00:53:51 +03:00
parent 1f12b5ad28
commit bbb9f4a61a
6 changed files with 48 additions and 0 deletions

View File

@ -17,6 +17,14 @@ add_dependencies(${current_target} cmex)
target_include_directories(${current_target} PUBLIC
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/libcmex>)
# Зависимость от библиотеки из внешнего проекта проекта
add_dependencies(${current_target} cmext)
# Добавление каталога, в который устанавливаются заголовочные файлы
# от внешнего проекта cmext, к списку путей для поиска заголовочных файлов
target_include_directories(${current_target} PUBLIC
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include/cmext>)
# Имя выходного файла для цели
set_target_properties(${current_target}
PROPERTIES
@ -30,6 +38,9 @@ link_directories(${CMAKE_INSTALL_LIBDIR})
# Сначала внутренние статические библиотеки
target_link_libraries(${current_target} cmex_static)
# Библиотека из внешнего проекта cmext
target_link_libraries(${current_target} ${CMAKE_BINARY_DIR}/lib/libcmext.a)
# Правила для установки
install(TARGETS ${current_target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -2,6 +2,7 @@
#include "config.hpp"
#include <iostream>
#include <cmext/cmext.hpp>
#include "cmex.hpp"
@ -10,6 +11,7 @@ int main(int argc, char **argv) {
std::cout << BUILD_TYPE << std::endl; // Значение из config.hpp
std::cout << CMEX_VERSION_STR << std::endl; // Значение из config.hpp
std::cout << cmex_init(4) << std::endl; // Функция из внутренней библиотеки
std::cout << cmext_init(9) << std::endl; // Функция из внешней библиотеки
return 0;
}