在我将 运行 CMake 和 zipped/moved 整个项目转移到不同位置后,如何允许 "make" 到 运行?
How do allow "make" to run after I have run CMake and zipped/moved the entire project to a different location?
我是一名学生,我们正在构建一个 VM 作为我 class 的一部分。我决定使用 CMake 而不是编写原始 Makefile。我的老师不想 运行 cmake
在 运行 完成我们的项目时。我需要以我的老师可以 运行 一个 bash 脚本的方式压缩我的项目:
unzip virtual_machine.zip
cd virtual_machine
make
./vm
如果 bash 脚本是:
,这将非常容易
unzip virtual_machine.zip
cd virtual_machine
cmake .
make
./vm
但事实并非如此。如果我在原始项目中压缩和解压缩文件,我可以让它工作,但是当我压缩,然后将项目移动到不同的位置时,我收到路径错误。
CMake Error: The source directory "/my/project/path/virtual_machine" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** [cmake_check_build_system] Error 1
我知道这是因为 Makefile 不再存在于它被构建的地方,但我不确定如何允许 makefile 仍然构建可执行文件,即使在整个项目被压缩、移动到不同的机器并解压缩。
任何想法都会非常有帮助!!谢谢!
只要你的老师确实安装了 cmake,你就可以使用 cmake 的 Makefile 包装器来完成你所要求的。
示例生成文件:
default:
cmake -S . -B build
cd build && make
clean:
rm vm
rm -r build
示例CMakeLists.txt:
cmake_minimum_required (VERSION 3.13)
project (TEST)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ..)
add_executable(vm main.c)
我是一名学生,我们正在构建一个 VM 作为我 class 的一部分。我决定使用 CMake 而不是编写原始 Makefile。我的老师不想 运行 cmake
在 运行 完成我们的项目时。我需要以我的老师可以 运行 一个 bash 脚本的方式压缩我的项目:
unzip virtual_machine.zip
cd virtual_machine
make
./vm
如果 bash 脚本是:
,这将非常容易unzip virtual_machine.zip
cd virtual_machine
cmake .
make
./vm
但事实并非如此。如果我在原始项目中压缩和解压缩文件,我可以让它工作,但是当我压缩,然后将项目移动到不同的位置时,我收到路径错误。
CMake Error: The source directory "/my/project/path/virtual_machine" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** [cmake_check_build_system] Error 1
我知道这是因为 Makefile 不再存在于它被构建的地方,但我不确定如何允许 makefile 仍然构建可执行文件,即使在整个项目被压缩、移动到不同的机器并解压缩。
任何想法都会非常有帮助!!谢谢!
只要你的老师确实安装了 cmake,你就可以使用 cmake 的 Makefile 包装器来完成你所要求的。
示例生成文件:
default:
cmake -S . -B build
cd build && make
clean:
rm vm
rm -r build
示例CMakeLists.txt:
cmake_minimum_required (VERSION 3.13)
project (TEST)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ..)
add_executable(vm main.c)