2014-02-07 3 views
2

Я использую VS2012 + cmake2.8.12. Моя проблема заключается в том, что CMake не смог создать правильный путь к моему внешнему проекту. Например:Отсутствует проект после использования ExternalProject_Add

Project("{...}") = "external", "external.vcxproj", "..." 

тогда 'external.vcxproj' должно быть что-то вроде ..\path\to\external.vcxproj

Вот как я использую команду ExternalProject_Add:

ExternalProject_Add(external SOURCE_DIR ${CMAKE_SOURCE_DIR}/../../int/external 
        CMAKE_ARGS .. 
        BINARY_DIR ${CMAKE_SOURCE_DIR}/../../int/external/build) 

Любая помощь высоко ценится!

ответ

2

Проекты Visual Studio Visual Studio с ExternalProject_Add работают несколько иначе. Весь модуль ExternalProject независим от платформы и не знает особенностей системы сборки Visual Studio. Таким образом, просто добавление проекта VS не будет работать, поскольку ExternalProject не знает, как его построить. Вместо этого вам нужно указать полную командную строку для построения проекта. Что-то вроде:

ExternalProject_Add(external_test 
    SOURCE_DIR ${PROJECT_SOURCE_DIR} 
    CONFIGURE_COMMAND "" 
    BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} ${PROJECT_SOURCE_DIR}/path/to/external.sln /build Release /project optional_project_within_solution 
    INSTALL_COMMAND "") 

Как вы можете видеть, это довольно беспорядок. Если вы просто хотите включить существующий проект VS с вашим созданным CMake решением, вместо этого используйте вместо этого include_external_msproject.

Смежные вопросы