ich mit einem Problem konfrontiert, wenn ich Google-Test zu verwenden versuchteWie klonen und externe Integration (von git) Cmake Projekt in lokale ein
viele Handbücher gibt es, wie ExternalProject_Add für das Hinzufügen von Gtest zu verwenden, um in das Projekt, aber die meisten beschreiben eine Methode auf der Grundlage der Download-Zip-Archiv mit gtest und bauen sie
wie wir gtest github gehostet und CMake-basierte Projekt kennen. also würde ich gerne native für cmake finden.
cmake_minimum_required(VERSION 2.8.8)
include(ExternalProject)
find_package(Git REQUIRED)
ExternalProject_Add(
gtest
PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/ext
GIT_REPOSITORY https://github.com/google/googletest.git
TIMEOUT 10
UPDATE_COMMAND ${GIT_EXECUTABLE} pull
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
LOG_DOWNLOAD ON
)
ExternalProject_Get_Property(gtest source_dir)
set(GTEST_INCLUDE_DIR ${source_dir}/googletest/include CACHE INTERNAL "Path to include folder for GTest")
set(GTEST_ROOT_DIR ${source_dir}/googletest CACHE INTERNAL "Path to source folder for GTest")
include_directories(${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIR} ${GTEST_ROOT_DIR})
message(${GTEST_INCLUDE_DIR})
und fügte hinzu, dieses Skript aus meinem Cmake Projekt wie: , wenn dies ein Kopf nur Projekt sei, würde ich so etwas wie schreiben
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake.modules/")
include(AddGTest)
....
add_dependencies(${PROJECT_NAME} gtest)
aber dies erfordert einen Build-Schritt. Wie sollte das implementiert werden?
- durch Hinzufügen von BUILD_COMMAND in ExternaProject_Add? und verlinken mit produzierten Bibliotheken?
oder indem ich gtests cmakelists in mein Projekt einfüge, so etwas?
add_subdirectory ($ {CMAKE_SOURCE_DIR} \ ext \ src \ Gtest \ googletest \ CMakeLists.txt)
dies, weil auf den Moment des Projekts laden Sie den Ordner nicht existiert nicht richtige Weg ist
- andere Möglichkeiten?
was ist ein korrekter/lieber Weg?
Danke, das ist was ich hören möchte - "cmake tut dies standardmäßig", fand dies nicht im Handbuch und suchte nach Build-Befehl – amigo421