Я написал макрос, который вызывает функцию TARGET_LINK_LIBRARIES:CMake ошибка в макро с target_link_libraries
macro(Link_Libs cur_target)
#ATLAS LIBS on Linux
add_library(ptlapack STATIC IMPORTED)
set_property(TARGET ptlapack PROPERTY
IMPORTED_LOCATION /usr/local/atlas/lib/libptlapack.a)
TARGET_LINK_LIBRARIES(cur_target ptlapack)
endmacro()
Тогда я назвал макрос из проекта
project(CPU_Matrix)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(./src/ SRC_LIST1)
include_directories(./include/)
add_executable(CPU_Matrix ${SRC_LIST1})
INCLUDE(${CMAKE_MODULE_PATH}/LinkLibs.txt NO_POLICY_SCOPE)
Link_Libs(CPU_Matrix_Class_Test_Satisfy)
Когда я бегу CMake, он дал ошибку:
Cannot specify link libraries for target "cur_target" which
is not built by this project
Как я могу связать библиотеки в макросе?
Спасибо оно работает. Я изучаю библиотеку. Как связать библиотеки, которые были установлены мной (а не из хранилища)? – Oleg
Вы можете использовать ['find_library'] (http://www.cmake.org/cmake/help/v3.2/command/find_library.html), чтобы найти библиотеку. – Fraser