Kdevelop и CMake сотрудничество

Интересно, каковы ограничения на использование файлов CMake (наверное, особенно при использовании подкаталогов и / или библиотек, а также расположения исполняемых файлов)

(Когда я использую простой пример Hello, KDevelop работает нормально, я даже могу отладить свой проект. Когда я пытаюсь приблизить его к своему реальному целевому проекту, я редактирую файл CMakeList.txt, чтобы создать библиотеку в подкаталоге, и перемещаю исполняемые файлы в отдельном подкаталоге, KDevelop работает частично: он создает исполняемые файлы, исполняемые файлы работают в автономном режиме, но не в KDevelop, и, конечно, я не могу отлаживать.)

Я предполагаю, что возникает какая-то проблема видимости: то есть, хотя CMake считает, что с моим расположением все в порядке (т. Е. Создает правильный Makefile и даже исполняемые файлы), KDevelop каким-то образом теряется, и, поскольку он не видит какой-либо файл в том месте, где он ожидает, он перестает работать Есть ли набор правил, которые НЕ использовать в CMake?

В любом случае я прикрепляю свои файлы cmake (основной и один для библиотеки). Я делаю что-то не так?

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)

project(kmanycore CXX C)

include_directories(../lib)

add_subdirectory(lib)

add_executable(../bin/kmanycore ../src/main.cpp)
add_executable(../bin/kmanycore_test ../src/main_test.cpp)

target_link_libraries(../bin/kmanycore manycore)
target_link_libraries(../bin/kmanycore_test manycore)

а также

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
set(CMAKE_LEGACY_CYGWIN_WIN32 0)

add_library(manycore src/ToDo.cc)

0

Решение

Ваш файл CMake выглядит странно, и я не IDE.

Первый аргумент add_executable это имя исполняемого файла, без пути. Это работает по изменению с простыми Makefiles. То же самое с target_link_libraries, И неясно, кто эти два проекта связаны друг с другом. Обычно IDE отслеживают один проект; переплетенные не поддерживаются.

0

Другие решения


По вопросам рекламы [email protected]