所以我在ubuntu 14.04上运行NetBeans 8.1。我有一个使用CMakeLists文件和googletest的现有项目。我正在尝试设置它并运行。所以我安装了NBCndUnit,然后按照此处的说明进行操作:https://github.com/offa/NBCndUnit/wiki/Using-existing-projects#a-workaround-for-cmake。 这是我的项目/ CMakeLists文件的一部分:
cmake_policy(SET CMP0037 OLD)
add_custom_target(build-tests COMMENT "starting build-tests target" )
add_custom_target(test myAppTest COMMENT "starting test target")
这是我的myApp / test CMakeLists文件的一部分:
add_executable(myAppTest ${SOURCES} ${HEADERS})
target_link_libraries(myAppTest
-L${GTEST_LIBRARY_DIR}
-L${GMOCK_LIBRARY_DIR}
myApp
gtest
gmock
# other dependencies
)
add_test(myAppTest myAppTest )
当我右键单击主项目CMakeLists.txt文件并选择"生成makefile" - 它成功了。当我右键单击Makefile并转到Make Target子菜单时,我可以选择几个目标:
当我选择例如。 "建立的测试"目标 - 没有任何反应(预期,因为此目标为空):
cd '(some project path)/cmake_build'
/usr/bin/make -f Makefile build-tests
Built target build-tests
如果我选择"测试" target - 它构建并执行(在控制台窗口中输出)
cd '(path to project)/cmake_build'
/usr/bin/make -f Makefile test
[ 34%] Built target dependency1
[ 54%] Built target dependency2
[ 82%] Built target dependency3
[ 88%] Built target dependency4
[ 97%] Built target dependency5
[100%] starting test target
[==========] Running 111 tests from 7 test cases.
[----------] Global test environment set-up.
[----------] 1 test from Foo
[ RUN ] Foo.Bar
[ OK ] Foo.Bar (0 ms)
[----------] 1 test from Foo (0 ms total)
(rest of gtest output)
但我想在Netbeans TestResults窗口窗格中看到测试结果。所以我去了' Run' - >'测试项目'菜单中的命令。此处出现问题:“输出”窗格中添加了一个新选项卡,标题为myApp(Build,Build Tests ...)。它试图建立整个项目:
cd '(project path)/cmake_build'
/usr/bin/make -j4 -f Makefile
问题是,由于依赖性,整个项目尚不可构建。所有必要的都是在myAppTest中进行模拟(并且测试本身是可运行的 - 例如,通过构建" test"来自makefile上下文菜单的目标)。所以真正的问题是: 在构建和运行实际测试之前,我可以以某种方式跳过构建整个项目吗?