Я пытаюсь сделать так, чтобы следующий фрагмент кода cmake
обрабатывал случай, когда пользователь вызывает cpack
из окна cmd
(вместо того, чтобы изнутри Visual Studio нажимать на цель «ПАКЕТ»).В настоящее время происходит сбой:
c:\tmp>cpack.exe -G ZIP
CPack: Create package using ZIP
CPack: Install projects
CPack: - Install project: GDCM
CMake Error at C:/tmp/gdcm-swig-x64/Wrapping/Csharp/cmake_install.cmake:60 (file):
file INSTALL cannot find
"C:/tmp/gdcm-swig-x64/bin//gdcm-sharp.dll".
Call Stack (most recent call first):
C:/tmp/gdcm-swig-x64/cmake_install.cmake:51 (include
)
CPack Error: Error when generating package: GDCM
Текущий код основан на здесь .И это похоже на ( полный код ):
set(GDCM_LIBRARY_DIR2 ${LIBRARY_OUTPUT_PATH}/\${BUILD_TYPE})
install(FILES ${GDCM_LIBRARY_DIR2}/gdcm_csharp.dll
DESTINATION ${GDCM_INSTALL_LIB_DIR} COMPONENT Runtime
)
, где gdcm_csharp.dll
генерируется через add_custom_command
, например:
add_custom_command(
OUTPUT ${GDCM_LIBRARY_DIR}/gdcm_csharp.dll
COMMAND ${CMAKE_CSHARP_COMPILER} ARGS "/t:library" "/out:${GDCM_LIBRARY_DIR}/gdcm_csharp.dll" "*.cs"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS "${swig_generated_file_fullname}" ${CMAKE_CURRENT_BINARY_DIR}/AssemblyInfo.cs
COMMENT "csc *.cs"
)
Есть лиспособ исправить install(FILES)
команду для обработки обоих случаев (как в Visual Studio, так и за ее пределами)?