如何使用 CMake 将 link vtk 库转换为多个源文件?

How can I use CMake to link vtk library to multiple source file?

这是一个典型的只有一个源文件的 Cmakelist 文件:

cmake_minimum_required(VERSION 2.8)

PROJECT(test)

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})

add_executable(test MACOSX_BUNDLE test)

if(VTK_LIBRARIES)
  target_link_libraries(test ${VTK_LIBRARIES})
else()
  target_link_libraries(test vtkHybrid vtkWidgets)
endif()

上面的例子是如果我只有test.cxx和CMakeLists.txt。如果我还有一个 test2.cxx 源文件(随机 class)和另一个 test3.cxx 源文件,我该怎么办?我想保留 test.cxx 作为我的主要对象,另一个作为随机 classes,仍然使用 vtk 库。

add_executable 可用于选择要用于此项目的源文件。

add_executable(test MACOSX_BUNDLE test.cxx test2.cxx test42.cxx)

SET(CXX_SRC_FILES test.cxx test2.cxx test42.cxx)
add_executable(test MACOSX_BUNDLE ${CXX_SRC_FILES})