1

프로젝트 파일이 있는데 테스트가 있습니다. CMakeLists.txt가 있습니다. AppVeyor에서 테스트를 실행해야합니다. 그리고 나는 VS의 평신도 다.AppVeyor에서 g-tests를 사용하는 Visual Studio 솔루션

내 appveyor.yml

version: '{build}' 

    os: Visual Studio 2015 
    configuration: 
     - Release 

    build_script: 
     - mkdir build 
     - cd build 
    - cmake -Dgtest_build_samples=ON .. 
    - msbuild gtest-demo.sln 

내 CMakeList.txt

cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 

project(gtest-demo) 

enable_language(C) 
enable_language(CXX) 

if(CMAKE_CXX_COMPILER_ID MATCHES GNU) 
    set(CMAKE_CXX_FLAGS   "-Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") 
    set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3") 
    set(CMAKE_CXX_FLAGS_RELEASE "-O3") 
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 
endif() 

include_directories(
    ${PROJECT_SOURCE_DIR}/src 
    ) 

add_library(
    example 
    src/vec2.cpp 
    src/obstacle.cpp 
    src/map.cpp 
    ) 

set(GOOGLETEST_ROOT googletests/googletest CACHE STRING "Google Test source root") 

include_directories(
    ${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT} 
    ${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/include 
    ) 

set(GOOGLETEST_SOURCES 
    ${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/src/gtest-all.cc 
    ${PROJECT_SOURCE_DIR}/${GOOGLETEST_ROOT}/src/gtest_main.cc 
    ) 


######################################################### 

foreach(_source ${GOOGLETEST_SOURCES}) 
    set_source_files_properties(${_source} PROPERTIES GENERATED 1) 
endforeach() 
################################################3 
add_library(googletest ${GOOGLETEST_SOURCES}) 

add_executable(
    unit_tests 
    tests/main.cpp 
    tests/test.cpp 
    ) 

add_dependencies(unit_tests googletest) 

target_link_libraries(
    unit_tests 
    googletest 
    example 
    pthread 
    ) 

include(CTest) 
enable_testing() 

add_test(unit ${PROJECT_BINARY_DIR}/unit_tests) 

그리고 오류 로그 :

c1xx : fatal error C1083: Cannot open source file: 'C:\projects\gr-cl\googletests\googletest\src\gtest-all.cc': No such file or directory [C:\projects\gr-cl\build\googletest.vcxproj] 
    c1xx : fatal error C1083: Cannot open source file: 'C:\projects\gr-cl\googletests\googletest\src\gtest_main.cc': No such file or directory [C:\projects\gr-cl\build\googletest.vcxproj] 

내가 이해할 수없는 이유는 무엇입니까? 나는 Include를 include하고 "include directories"에 넣는다. 공 굴리는 법?

감사합니다.

답변

0

나는 경로에 오류가 있다고 생각합니다. 어쩌면 약간의 오타가있을 수 있으며 googletests/googletest와 같이 사용해야합니다. S 또는 무엇인가. 확인하는 가장 좋은 방법은 RDP to build worker이며 실제 경로를 확인하십시오.