2016-06-07 2 views
1

В моем CMakeLists.txt я пытаюсь установить папку, содержащую символические ссылки. Он хорошо работает на Windows 7 раньше, но после перехода на Windows 10 он сломан. Сужая проблему, я понял, что символическая ссылка на Windows 10 может быть основной причиной. я написал небольшой кусок CMake, чтобы проверить это:CMake не может следовать символическим ссылкам на Windows 10

file(GLOB all_files *) 
foreach(each_file ${all_files}) 
    if (IS_SYMLINK ${each_file}) 
     get_filename_component(each_file_real_path ${each_file} REALPATH) 
    endif() 
endforeach() 

Если я бегу выше Cmake скриптов внутри папки с симлинками внутри, IS_SYMLINK работает правильно, но get_filename_component(REALPATH) всегда возвращают один и тот же входной путь вместо реального пути.

Есть ли способ исправить или обойти его? Благодаря!

+0

Это те же символические ссылки из Win7 в Win10? – Joel

+0

@joel Использование dir для отображения всех файлов в каталоге. Похоже, что типы ссылок одинаковы. – HaoCS

+0

@HaoCS любое обновление по этому вопросу? Вы работали над проблемой? Если да, то как? (возможно, укажите это как ответ) – macetw

ответ

0

Рассмотрите возможность сделать символическую ссылку на один уровень глубже, указывая на каталог на один уровень выше. У Cmake не будет проблем, если ссылка-symlink находится на уровне, от которого вы указываете.

Это всего лишь обходной путь. На данный момент все еще есть окончательная ошибка в cmake.

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