cmake_minimum_required(VERSION 3.3 FATAL_ERROR) project(Writer) set( KNITSIM_PATH ${CMAKE_SOURCE_DIR}) ########################## # Include paths definitions include( ${KNITSIM_PATH}/cmake/PathsDefinitions.cmake ) ########################## # Dependencies include( ${KNITSIM_PATH}/cmake/Dependencies.cmake ) ########################## # Src files file ( GLOB_RECURSE lib_headers ${SRC_PATH}/*.h ${SRC_PATH}/*.hpp ${SRC_PATH}/*.hh ) file ( GLOB_RECURSE lib_defs ${SRC_PATH}/*.def ) file ( GLOB_RECURSE lib_impls ${SRC_PATH}/*.impl ) file ( GLOB_RECURSE lib_cpp ${SRC_PATH}/*.c ${SRC_PATH}/*.cpp ${SRC_PATH}/*.cxx ${SRC_PATH}/*.cc ) ########################## # Library add_library( knitsim SHARED ${lib_headers} ${lib_cpp} ${lib_defs} ${lib_impls} ) set_target_properties( knitsim PROPERTIES LINKER_LANGUAGE CXX ) set_source_files_properties( ${lib_cpp} PROPERTIES LANGUAGE CXX ) target_link_libraries( knitsim PUBLIC ${KNITSIM_LIB_DEPENDENCIES} ) find_package(VTK COMPONENTS vtkIOExport vtkFiltersGeneral vtkCommonColor vtkCommonCore vtkCommonDataModel vtkCommonTransforms vtkFiltersSources vtkIOGeometry vtkIOLegacy vtkIOPLY vtkIOXML vtkInteractionStyle vtkRenderingContextOpenGL2 vtkRenderingCore vtkRenderingFreeType vtkRenderingGL2PSOpenGL2 vtkRenderingOpenGL2 QUIET) if (NOT VTK_FOUND) message("Skipping Writer: ${VTK_NOT_FOUND_MESSAGE}") return () endif() message (STATUS "VTK_VERSION: ${VTK_VERSION}") if (VTK_VERSION VERSION_LESS "8.90.0") # old system include(${VTK_USE_FILE}) add_executable(Writer MACOSX_BUNDLE src/apps/main.cpp ) target_link_libraries(Writer PRIVATE ${VTK_LIBRARIES}) else () # include all components add_executable(Writer MACOSX_BUNDLE src/apps/main.cpp ) target_link_libraries(Writer PRIVATE ${VTK_LIBRARIES}) # vtk_module_autoinit is needed vtk_module_autoinit( TARGETS Writer MODULES ${VTK_LIBRARIES} ) endif ()