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 に答える