我一直在开发一个旧游戏,我创建了 CMake 文件以摆脱 Makefile 和 Visual Studio 项目的混合。一切运行良好,但我很难弄清楚在运行安装时允许开发人员指定将输出文件复制到何处的正确方法。
问题是有许多 DLL 和一些自定义目标需要将它们的输出复制到包含游戏数据(关卡、艺术、声音等)的目录结构中,然后才能测试代码。
我的安装命令当前使用我在顶层 CMakeLists.txt 中“设置”的变量来指定输出目录。我尝试在 cmake 命令行上用 -DD3_GAMEDIR 覆盖它。该变量在 CMakeCache 中设置,但 SET 命令似乎仍然覆盖它。
在使用 SET 来查看用户是否指定了值之前,我是否应该检查变量的长度?这对我来说似乎是一个黑客,但我很难找到正确的方法来做到这一点。
谢谢!