0

我正在尝试将某些 dll 复制到生成的二进制文件所在的输出文件夹中,并且某些 dll 是特定于 Visual Studio 版本的。我尝试了类似于以下模板的方法,但它给了我错误。

INSTALL(FILES 
    ../x.dll
    ../y.dll
    ../z.dll
    IF(${CMAKE_GENERATOR} STREQUAL "Visual Studio 12 2013")
        ../xyz.dll          
    ELSE()
        ../xy.dll
    ENDIF()
    DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/Release)

我哪里错了?(我是 CMAKE 的新手)

4

1 回答 1

0

我用下面的模板解决了我的问题。

IF(${CMAKE_GENERATOR} STREQUAL "Visual Studio 12 2013")
    SET (VS_DEPENDENT_DLL ../xyz.dll) 
ELSE()
    SET (VS_DEPENDENT_DLL ../xy.dll)
ENDIF()

INSTALL(FILES 
    ../x.dll
    ../y.dll
    ../z.dll
    ${VS_DEPENDENT_DLL}
    DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/Release)
于 2016-03-01T19:27:14.840 回答