Portable Visual Studio 2010 и cmake

Всем добрый день,

Я пытаюсь сделать следующее:

1) Создайте переносимую версию Microsoft Visual Studio (vs2010 sp1) + SDK платформы (winsdk 7.0a).
2) Перетащите эти файлы на компьютер, запустите cmake для проекта и соберите проект
Я предполагаю, что на компьютерах установлены распространяемые файлы.net framework 4.0, VS 2010 win32/x64 в папку по умолчанию.

VS 2010 файлы:
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC
Я положил их в d:\distr\msvc100sp1 каталог.

Файлы WinSDK:
C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A
Я положил их в d:\distr\WinSDK\7.0a каталог

Я запускаю этот скрипт перед тем, как что-либо делать - он воссоздает среду точно, если был вызван vcvars (в данном случае amd64):

@set NV_MSVC100INSTALLDIR=d:\distr\msvc100sp1
@set NV_WINSDK_70A=d:\distr\WinSDK\7.0a

@set CommandPromptType=Native
@set INCLUDE=%NV_MSVC100INSTALLDIR%\VC\INCLUDE;%NV_MSVC100INSTALLDIR%\VC\ATLMFC\INCLUDE;%NV_WINSDK_70A%\include;
@set LIB=%NV_MSVC100INSTALLDIR%\VC\LIB\amd64;%NV_MSVC100INSTALLDIR%\VC\ATLMFC\LIB\amd64;%NV_WINSDK_70A%\lib\x64;
@set LIBPATH=%NV_MSVC100INSTALLDIR%\VC\LIB\amd64;%NV_MSVC100INSTALLDIR%\VC\ATLMFC\LIB\amd64;
@set PATH=%NV_MSVC100INSTALLDIR%\VC\bin\amd64;%NV_MSVC100INSTALLDIR%\VC\VCPackages;%NV_MSVC100INSTALLDIR%\Common7\IDE;%NV_MSVC100INSTALLDIR%\Common7\Tools;%NV_WINSDK_70A%\bin\NETFX 4.0 Tools\x64;%NV_WINSDK_70A%\bin\x64;%NV_WINSDK_70A%\bin;%PATH%
@set Platform=x64
@set VCINSTALLDIR=%NV_MSVC100INSTALLDIR%\VC\
@set VSINSTALLDIR=%NV_MSVC100INSTALLDIR%\
@set WindowsSdkDir=%NV_WINSDK_70A%\
@set PROCESSOR_ARCHITECTURE=AMD64
@set VS100COMNTOOLS=%NV_MSVC100INSTALLDIR%\Common7\Tools

::framework

@set Framework35Version=v3.5
@set FrameworkDir=C:\Windows\Microsoft.NET\Framework64
@set FrameworkDIR64=C:\Windows\Microsoft.NET\Framework64
@set FrameworkVersion=v4.0.30319
@set FrameworkVersion64=v4.0.30319

@set NV_FRAMEWORK_INSTALL_DIR=%FrameworkDIR64%\%FrameworkVersion64%

@set LIBPATH=%NV_FRAMEWORK_INSTALL_DIR%;%NV_FRAMEWORK_INSTALL_DIR%\..\v3.5;%LIBPATH%
@set PATH=%NV_FRAMEWORK_INSTALL_DIR%;%NV_FRAMEWORK_INSTALL_DIR%\..\v3.5;%PATH%

Однако при запуске devenv (он находится на пути после сценария выше) я получаю эту ошибку:

Cannot find one or more components. Please reinstall the application.

Я думал, что cmake может выяснить, что делать с компилятором, но он жалуется на проверку версии компилятора:

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:9 (project)


The C compiler identification is unknown
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
    Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake:127 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:9 (project)

The CXX compiler identification is unknown
Configuring incomplete, errors occurred!
See also "d:/vs2010_test/build/CMakeFiles/CMakeOutput.log".
See also "d:/vs2010_test/build/CMakeFiles/CMakeError.log".

В выходном файле есть такая же ошибка по поводу отсутствующих компонентов.

Возможна ли желаемая вещь? Какие возможные недостающие компоненты?
То, что я хотел бы иметь, должно выполнить то, что я хочу и затем очистить машину автоматически, даже если это потребует изменений ключей реестра.

1 ответ

Решение

Благодаря комментариям я понял, что определенно много системных файлов / ключей реестра, которые запрашиваются как msbuild, так и devenv. Для меня не стоит пытаться удовлетворить эти потребности, и я постараюсь найти другие способы решения моих задач по сборке.

Другие вопросы по тегам