У меня есть файлы проекта, у меня есть тест, у меня есть CMakeLists.txt.
Мне нужно запустить тест на AppVeyor. И я дилетант в ВС.
Мой 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]
Я не могу понять, почему? Я добавил Включить и прочее в «включить каталоги». Как заставить мяч катиться?
Спасибо
Я считаю, что это какая-то ошибка в пути. Может быть, небольшая опечатка, и это должно быть как googletests / googletestS или что-то. Лучший способ проверить это РДП на постройку рабочего и проверь, что такое реальный путь.
Других решений пока нет …