Как настроить настройку прокси для npm

Я использую вариант ответа richq. На верхнем уровне CMakeLists.txt я добавляю пользовательскую цель build_and_test для создания и запуска всех тестов:

find_package(GTest)
if (GTEST_FOUND)
    enable_testing()
    add_custom_target(build_and_test ${CMAKE_CTEST_COMMAND} -V)
    add_subdirectory(test)
endif()

В различных файлах подпроектов CMakeLists.txt в разделе test/ , Я добавляю каждый тестовый исполняемый файл как зависимость от build_and_test:

include_directories(${CMAKE_SOURCE_DIR}/src/proj1)
include_directories(${GTEST_INCLUDE_DIRS})
add_executable(proj1_test proj1_test.cpp)
target_link_libraries(proj1_test ${GTEST_BOTH_LIBRARIES} pthread)
add_test(proj1_test proj1_test)
add_dependencies(build_and_test proj1_test)

При таком подходе мне просто нужно make build_and_test вместо make test (или make all test), и он имеет преимущество только в создании тестового кода (и его зависимостей). Жаль, я не могу использовать целевое имя test. В моем случае это не так уж плохо, потому что у меня есть сценарий верхнего уровня, который выполняет отладочную и выпускную сборку (и кросс-скомпилированные) сборки, вызывая cmake, а затем make, и он переводит test в build_and_test.

Очевидно, что материал GTest не требуется. Я просто использовал / как Google Test и хотел поделиться полным примером использования его с CMake / CTest. IMHO, этот подход также имеет преимущество, позволяя мне использовать ctest -V, который показывает результат тестирования Google во время тестов:

1: Running main() from gtest_main.cc
1: [==========] Running 1 test from 1 test case.
1: [----------] Global test environment set-up.
1: [----------] 1 test from proj1
1: [ RUN      ] proj1.dummy
1: [       OK ] proj1.dummy (0 ms)
1: [----------] 1 test from proj1 (1 ms total)
1:
1: [----------] Global test environment tear-down
1: [==========] 1 test from 1 test case ran. (1 ms total)
1: [  PASSED  ] 1 test.
1/2 Test #1: proj1_test .......................   Passed    0.03 sec
0
задан dermoritz 19 March 2019 в 15:22
поделиться