2014-09-14 4 views
2

Я начал изучать cmake и делать недавно, и у меня возникла проблема, которую я не могу решить.
У меня есть два проекта, небольшое тестовое приложение, которое использует cmake в IDE CLion и библиотеку, которая использует make, я не могу изменить системы сборки для обоих. Я хотел бы создать тот, который использует make, из проекта cmake. Файл make для библиотеки отлично работает сам по себе.Выполнение make from cmake

Это макет проекта:

project/CMakeLists.txt 
project/libvz/Makefile 
project/libvz/main.cpp 

Я попробовал следующее:

CMakeLists.txt:

cmake_minimum_required(VERSION 3.0.0) 
project(builder) 

add_custom_target("libvz" 
        "/usr/bin/make -f ${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile") 

В этом случае я получаю сообщение об ошибке: «/ bin/sh:/usr/bin/make -f/home/szil/project/libvz/Makefile: нет такого файла или каталога «

Я также пробовал t o строить с помощью команд ExternalProject_Add и ExternalProject_Add_Step, но ни один из них не работал для меня.

Любая помощь с учётом, Thx!

ответ

4

Возможно, вам просто нужно не обмотать всю команду make в набор кавычек. Делая это, CMake ищет исполняемый файл под названием «/ usr/bin/make -f ...».

add_custom_target(libvz 
        /usr/bin/make -f "${CMAKE_CURRENT_SOURCE_DIR}/libvz/Makefile") 

На лице его, ExternalProject_Add звучит как лучший инструмент для этой работы - может быть, он не работает по той же причине, как это?

Смежные вопросы