考虑以下:
SET(TEST_DIR, "test")
INSTALL(PROGRAMS scripts/foo.py DESTINATION ${TEST_DIR})
INSTALL(PROGRAMS scripts/foo.py DESTINATION @TEST_DIR@)
第一个INSTALL命令不起作用。第二个可以。这是为什么?这两者有什么区别?@@除了在创建配置文件的上下文中,我没有找到任何关于扩展的参考。其他一切都只使用${}扩展。
更新:好的,上面有明显的错误。我的SET()命令有一个多余的逗号。删除它,使其看起来像:
SET(TEST_DIR "test")
结果@@和${}扩展工作。@@仍然想知道(a)相对于的含义是什么${},以及为什么只有前者与我的错误SET()陈述一起使用。