使用CMake的ExternalProject_Add
,我自動構建了我的依賴關係。但是,即使我通過CMAKE_BUILD_TYPE
和BUILD_SHARED_LIBS
(如in the Tutorial所述),我的構建配置最終也不匹配。如何爲特定配置生成Visual Studio項目?
# SFML
include(ExternalProject)
set(SFML_PREFIX ${CMAKE_SOURCE_DIR}/SFML)
# Download, configure, build and install.
ExternalProject_Add(SFML
# DEPENDS
PREFIX ${SFML_PREFIX}
TMP_DIR ${SFML_PREFIX}/temp
STAMP_DIR ${SFML_PREFIX}/stamp
#--Download step--------------
GIT_REPOSITORY https://github.com/LaurentGomila/SFML.git
GIT_TAG e2c378e9d1
#--Update/Patch step----------
UPDATE_COMMAND ""
#--Configure step-------------
SOURCE_DIR ${SFML_PREFIX}/source
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${SFML_PREFIX}/install
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
#--Build step-----------------
BINARY_DIR ${SFML_PREFIX}/build
#--Install step---------------
INSTALL_DIR ${SFML_PREFIX}/install
)
# Set root so that find module knows where to look.
set(SFML_ROOT ${SFML_PREFIX}/install)
我怎麼能生成建立的,而不是回落到調試模式提供任何命令行參數發行版本,Visual Studio項目?是否有一種方法可以生成一個項目,該項目可以通過一個msbuild Project.sln
構建發行版和調試版本?
非常感謝。所以我可以使用'cmake --build --config release'在發佈模式下構建一個已配置的項目?它有一個選項可以在一個命令中構建Release和Debug?而且,在單個配置環境中(我認爲GCC是一個),我仍然可以使用'--config'標誌覆蓋構建的配置類型嗎? – danijar 2014-10-19 14:10:57
第一個問題:是的。 第二個問題:沒有一個命令。你必須調用cmake兩次。 第三個問題:編號 – sakra 2014-10-19 14:38:09
但'cmake --build'默認爲'CMAKE_BUILD_TYPE'中設置的配置,對吧? – danijar 2014-10-19 14:49:39