CMake: добавить исполняемый файл для add_custom_target - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть CMakeLists.txt и некоторые файлы наборов инструментов.В моем CMakeLists.txt у меня есть оператор для создания исполняемого файла .elf.Затем этот исполняемый файл запускается с помощью некоторых команд (с использованием add_custom_target, код здесь ), который генерирует файл .gba, который является РЕАЛЬНЫМ исполняемым файлом, который я хочу запустить.Теперь проблема в том, что я использую расширение cmake для VS Code, и цель не отображается для запуска (вероятно, потому что она не считается исполняемой).Я попытался add_executable (target.gba IMPORT), но это не сработало.В CMakeLists.txt:

add_executable(target.elf ${SOURCE_FILES} ${INCLUDE_FILES} ${EXTRA_DATA_FILES}) # Create the elf file
add_gba_executable(target.elf) # Generate the .gba from the .elf

В файле цепочки инструментов:

function(add_gba_executable target)
    get_filename_component(target_name ${target} NAME_WE)
    add_custom_target(${target_name}.gba ALL SOURCES
        COMMAND ${OBJCOPY} -v -O binary ${target} ${target_name}.gba
        COMMAND ${GBAFIX} ${target_name}.gba
        DEPENDS ${target}
        VERBATIM
    )
    set_target_properties(${target} PROPERTIES LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${target_name}.map -specs=gba.specs")
    set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${target_name}.gba)
endfunction()

Как я могу сказать, что CMake результат add_custom_target тоже исполняемый файл?Я пробовал add_executable (target.gba IMPORT), но это не сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...