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"에 넣는다. 공 굴리는 법?
감사합니다.