You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.0 KiB

14 years ago
  1. #add_definitions(-DPRINT_STATISTICS_3D_VIEWER)
  2. add_compile_definitions( PCBNEW )
  3. include_directories(BEFORE ${INC_BEFORE})
  4. include_directories(
  5. ${CMAKE_CURRENT_BINARY_DIR}
  6. ../pcbnew
  7. 3d_canvas
  8. 3d_cache
  9. 3d_rendering
  10. 3d_viewer
  11. ${CMAKE_SOURCE_DIR}
  12. ${CMAKE_SOURCE_DIR}/include/gal/opengl
  13. ${CMAKE_SOURCE_DIR}/common/dialogs
  14. ${INC_AFTER}
  15. )
  16. # directories
  17. set( DIR_RAY 3d_rendering/raytracing )
  18. set( DIR_RAY_ACC ${DIR_RAY}/accelerators )
  19. set( DIR_RAY_2D ${DIR_RAY}/shapes2D )
  20. set( DIR_RAY_3D ${DIR_RAY}/shapes3D )
  21. set( DIR_3D_PLUGINS ${CMAKE_SOURCE_DIR}/plugins/ldr )
  22. set(3D-VIEWER_SRCS
  23. ${DIR_3D_PLUGINS}/pluginldr.cpp
  24. ${DIR_3D_PLUGINS}/3d/pluginldr3D.cpp
  25. 3d_cache/3d_cache.cpp
  26. 3d_cache/3d_plugin_manager.cpp
  27. 3d_canvas/board_adapter.cpp
  28. 3d_canvas/create_layer_items.cpp
  29. 3d_canvas/create_3Dgraphic_brd_items.cpp
  30. 3d_canvas/eda_3d_canvas.cpp
  31. 3d_canvas/eda_3d_canvas_pivot.cpp
  32. 3d_model_viewer/eda_3d_model_viewer.cpp
  33. 3d_rendering/opengl/3d_model.cpp
  34. 3d_rendering/opengl/opengl_utils.cpp
  35. 3d_rendering/opengl/create_scene.cpp
  36. 3d_rendering/opengl/render_3d_opengl.cpp
  37. 3d_rendering/opengl/layer_triangles.cpp
  38. ${DIR_RAY_ACC}/accelerator_3d.cpp
  39. ${DIR_RAY_ACC}/bvh_packet_traversal.cpp
  40. ${DIR_RAY_ACC}/bvh_pbrt.cpp
  41. ${DIR_RAY_ACC}/container_3d.cpp
  42. ${DIR_RAY_ACC}/container_2d.cpp
  43. ${DIR_RAY}/PerlinNoise.cpp
  44. ${DIR_RAY}/create_scene.cpp
  45. ${DIR_RAY}/render_3d_raytrace_base.cpp
  46. ${DIR_RAY}/render_3d_raytrace_gl.cpp
  47. ${DIR_RAY}/render_3d_raytrace_ram.cpp
  48. ${DIR_RAY}/frustum.cpp
  49. ${DIR_RAY}/material.cpp
  50. ${DIR_RAY}/mortoncodes.cpp
  51. ${DIR_RAY}/ray.cpp
  52. ${DIR_RAY}/raypacket.cpp
  53. ${DIR_RAY_2D}/bbox_2d.cpp
  54. ${DIR_RAY_2D}/filled_circle_2d.cpp
  55. ${DIR_RAY_2D}/layer_item_2d.cpp
  56. ${DIR_RAY_2D}/object_2d.cpp
  57. ${DIR_RAY_2D}/polygon_2d.cpp
  58. ${DIR_RAY_2D}/4pt_polygon_2d.cpp
  59. ${DIR_RAY_2D}/ring_2d.cpp
  60. ${DIR_RAY_2D}/round_segment_2d.cpp
  61. ${DIR_RAY_2D}/triangle_2d.cpp
  62. ${DIR_RAY_3D}/bbox_3d.cpp
  63. ${DIR_RAY_3D}/bbox_3d_ray.cpp
  64. ${DIR_RAY_3D}/cylinder_3d.cpp
  65. ${DIR_RAY_3D}/dummy_block_3d.cpp
  66. ${DIR_RAY_3D}/layer_item_3d.cpp
  67. ${DIR_RAY_3D}/object_3d.cpp
  68. ${DIR_RAY_3D}/plane_3d.cpp
  69. ${DIR_RAY_3D}/round_segment_3d.cpp
  70. ${DIR_RAY_3D}/triangle_3d.cpp
  71. 3d_rendering/buffers_debug.cpp
  72. 3d_rendering/render_3d_base.cpp
  73. 3d_rendering/color_rgba.cpp
  74. 3d_rendering/image.cpp
  75. 3d_rendering/post_shader.cpp
  76. 3d_rendering/post_shader_ssao.cpp
  77. 3d_rendering/track_ball.cpp
  78. 3d_rendering/test_cases.cpp
  79. 3d_rendering/trackball.cpp
  80. 3d_viewer/3d_menubar.cpp
  81. 3d_viewer/3d_toolbar.cpp
  82. 3d_viewer/tools/eda_3d_actions.cpp
  83. 3d_viewer/tools/eda_3d_conditions.cpp
  84. 3d_viewer/tools/eda_3d_controller.cpp
  85. 3d_viewer/eda_3d_viewer_frame.cpp
  86. 3d_viewer/eda_3d_viewer_settings.cpp
  87. common_ogl/ogl_attr_list.cpp
  88. common_ogl/ogl_utils.cpp
  89. 3d_fastmath.cpp
  90. 3d_math.cpp
  91. dialogs/3d_cache_dialogs.cpp
  92. dialogs/appearance_controls_3D.cpp
  93. dialogs/appearance_controls_3D_base.cpp
  94. dialogs/dialog_select_3d_model_base.cpp
  95. dialogs/dialog_select_3d_model.cpp
  96. dialogs/panel_preview_3d_model_base.cpp
  97. dialogs/panel_preview_3d_model.cpp
  98. dialogs/panel_3D_display_options.cpp
  99. dialogs/panel_3D_display_options_base.cpp
  100. dialogs/panel_3D_opengl_options.cpp
  101. dialogs/panel_3D_opengl_options_base.cpp
  102. dialogs/panel_3D_raytracing_options.cpp
  103. dialogs/panel_3D_raytracing_options_base.cpp
  104. )
  105. add_library(3d-viewer STATIC ${3D-VIEWER_SRCS})
  106. add_dependencies( 3d-viewer pcbcommon )
  107. target_link_libraries( 3d-viewer
  108. PRIVATE
  109. gal
  110. kimath
  111. core
  112. common
  113. nlohmann_json
  114. Boost::headers
  115. ${wxWidgets_LIBRARIES}
  116. ${OPENGL_LIBRARIES}
  117. kicad_3dsg )
  118. add_subdirectory( 3d_cache )
  119. message( STATUS "Including 3Dconnexion SpaceMouse navigation support in 3d-viewer" )
  120. add_subdirectory( 3d_navlib )
  121. target_link_libraries( 3d-viewer PRIVATE 3d-viewer_navlib)