Когда я обновляю исходные файлы моего проекта, настроенные на cmake, и запускаю команду make
в каталоге сборки, я получаю странное и не очень явное сообщение об ошибке после ссылки.Странная ошибка с «cmake -E create_symlink»
Команда create_symlink
-видимому, участвует (make VERBOSE=1
):
[100%] Building CXX object CMakeFiles/thing.dir/main.cpp.o
Linking CXX executable thing
/usr/bin/cmake -E cmake_link_script CMakeFiles/thing.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/thing.dir/main.cpp.o -o thing -rdynamic
/usr/bin/cmake -E create_symlink /path/to/stuff/ stufflink
make[2]: *** [thing] Error 1
make[2]: Leaving directory « /home/cromod/bug/build »
make[1]: *** [CMakeFiles/thing.dir/all] Erreur 2
make[1]: Leaving directory « /home/cromod/bug/build »
make: *** [all] Error 2
Исполняемый, кажется, правильно скомпилированы и связаны, потому что я могу использовать его без проблем. Кроме того, команда make делает сообщение об ошибке исчезнет.
Вот простой CMake сценарий, чтобы воспроизвести этот случай:
cmake_minimum_required(VERSION 2.8)
project(thing)
add_executable(thing main.cpp)
set(STUFF_PATH "/path/to/stuff/")
add_custom_command(TARGET thing POST_BUILD COMMAND ${CMAKE_COMMAND} -E create_symlink ${STUFF_PATH} stufflink)
Я вынужден запустить этот сценарий CMake на Debian 7/CMake 2.8.9 (среди других платформ) :(
Почему это create_symlink
неудачу? вы знаете, средний, чтобы избежать этой ошибки с CMake 2,8?