Я работаю над 3dtk, который использует CMake для сборки. Вы можете найти его CMakeLists.txt здесь: https://sourceforge.net/p/slam6d/code/HEAD/tree/trunk/CMakeLists.txt
В некоторых местах он использует директиву add_subdirectory
и никогда не предоставляет второй аргумент (binary_dir
).
Кажется, это не проблема при вызове ccmake
вне дерева в Linux или при использовании cmake-gui
в Windows, поскольку в обоих случаях проект настраивается успешно.
Но когда я запускаю простой cmake
в окнах в командной строке, я получаю несколько таких ошибок:
CMake Error at Z:/CMakeLists.txt:471 (add_subdirectory):
add_subdirectory not given a binary directory but the given source
directory "Z:/src/slam6d" is not a subdirectory of "Z:/". When specifying
an out-of-tree source a binary directory must be explicitly specified.
Я подозреваю, что мне просто не хватает опции команды cmake
, но какой именно?
Так же, как с cmake-gui
в Windows, где я указываю другой путь для Where to build the binaries
, чем для where is the source code
, чтобы сделать сборку вне дерева, и так же, как с ccmake
в Linux, где я запускаю ccmake
в подкаталоге моего исходного кода, как этот ccmake ..
, я запуск cmake
в Windows из подкаталога моего источника.
Так что же делают cmake-gui
и ccmake
, чего не делает cmake
, и где требуется ручное вмешательство?
Изменить: после нахождения решения выясняется, что проблема заключалась в том, что мой исходный каталог был непосредственно буквой диска Windows, а не ее подкаталогом.
cmake ...
), которая приводит к этому сообщению об ошибке? - person tamas.kenez   schedule 07.08.2015