
# if GED command stuff is pushed into the actual subdirs, the autoconf vs cmake
# verification (sh/cmakecheck.sh) will fail on dist-hook.  For now, just
# handle it as part of libged
if(BULLET_FOUND)
  set(LIBGED_CMD_LIBS_LIST ${LIBGED_CMD_LIBS_LIST} ${BULLET_LIBRARIES})
  set(LIBGED_CMD_INCLUDE_DIRS ${LIBGED_CMD_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/simulate ${BULLET_INCLUDE_DIR})
  # The Bullet headers introduce a lot of shadow warnings - don't stop the
  # build because of them
  set(NO_STRICT_CXX_SETTING "NO_STRICT_CXX")
endif(BULLET_FOUND)

if(ADAPTAGRAMS_FOUND)
  set(LIBGED_CMD_LIBS_LIST ${LIBGED_CMD_LIBS_LIST} ${ADAPTAGRAMS_LIBRARIES})
  set(LIBGED_CMD_INCLUDE_DIRS ${LIBGED_CMD_INCLUDE_DIRS} ${AVOID_INCLUDE_DIR})
endif(ADAPTAGRAMS_FOUND)


set(LIBGED_SOURCES
  3ptarb.c
  adc.c
  adjust.c
  ae2dir.c
  aet.c
  analyze.c
  annotate.c
  arb.c
  arced.c
  arot.c
  attr.c
  autoview.c
  bb.c
  bev.c
  bigE.c
  blast.c
  bo.c
  bot.c
  bot_condense.c
  bot_decimate.c
  bot_dump.c
  bot_face_fuse.c
  bot_face_sort.c
  bot_fuse.c
  bot_flip.c
  bot_merge.c
  bot_smooth.c
  bot_split.c
  bot_sync.c
  bot_vertex_fuse.c
  brep.c
  cat.c
  cc.c
  center.c
  clip.c
  clone.c
  coil.c
  color.c
  columns.c
  comb.c
  comb_color.c
  comb_std.c
  combmem.c
  concat.c
  copy.c
  copyeval.c
  copymat.c
  cpi.c
  dag.cpp
  dbip.c
  debugbu.c
  debugdir.c
  debuglib.c
  debugmem.c
  debugnmg.c
  decompose.c
  delay.c
  dg_obj.c
  dir2ae.c
  draw.c
  draw_calc.cpp
  dump.c
  dup.c
  eac.c
  echo.c
  edbot.c
  edcodes.c
  edcomb.c
  edarb.c
  edit.c
  edit_metaball.c
  editit.c
  edmater.c
  edpipe.c
  erase.c
  exists.c
  expand.c
  eye.c
  eye_pos.c
  facedef.c
  facetize.c
  fb2pix.c
  find.c
  form.c
  fracture.c
  ged.c
  ged_util.c
  get.c
  get_autoview.c
  get_comb.c
  get_eyemodel.c
  get_obj_bounds.c
  get_solid_kp.c
  get_type.c
  glob.c
  globals.c
  gqa.c
  grid.c
  grid2model_lu.c
  grid2view_lu.c
  group.c
  hide.c
  how.c
  human.c
  illum.c
  importFg4Section.c
  inside.c
  instance.c
  isize.c
  item.c
  joint.c
  keep.c
  keypoint.c
  kill.c
  killall.c
  killrefs.c
  killtree.c
  label.c
  list.c
  loadview.c
  lod.c
  log.c
  lookat.c
  ls.c
  lt.c
  m2v_point.c
  make.c
  make_bb.c
  make_name.c
  make_pnts.c
  match.c
  mater.c
  mirror.c
  model2grid_lu.c
  model2view.c
  model2view_lu.c
  move.c
  move_all.c
  move_arb_edge.c
  move_arb_face.c
  mrot.c
  nirt.c
  nmg_collapse.c
  nmg_fix_normals.c
  nmg_simplify.c
  ocenter.c
  open.c
  orient.c
  orotate.c
  oscale.c
  otranslate.c
  overlay.c
  path.c
  pathlist.c
  pathsum.c
  perspective.c
  pix2fb.c
  plot.c
  polybinout.c
  pmat.c
  pmodel2view.c
  png.c
  polyclip.cpp
  pov.c
  prcolor.c
  prefix.c
  preview.c
  protate.c
  ps.c
  pscale.c
  pset.c
  ptranslate.c
  pull.c
  push.c
  put.c
  put_comb.c
  putmat.c
  qray.c
  quat.c
  qvrot.c
  rcodes.c
  rect.c
  red.c
  regdef.c
  region.c
  remove.c
  report.c
  rfarb.c
  rmap.c
  rmat.c
  rmater.c
  rot.c
  rot_point.c
  rotate_about.c
  rotate_arb_face.c
  rotate_eto.c
  rotate_extrude.c
  rotate_hyp.c
  rotate_tgc.c
  rrt.c
  rt.c
  rtabort.c
  rtcheck.c
  rtwizard.c
  savekey.c
  saveview.c
  scale.c
  scale_ehy.c
  scale_ell.c
  scale_epa.c
  scale_eto.c
  scale_extrude.c
  scale_hyp.c
  scale_part.c
  scale_rhc.c
  scale_rpc.c
  scale_superell.c
  scale_tgc.c
  scale_tor.c
  screengrab.c
  search.c
  select.c
  set_output_script.c
  set_transparency.c
  set_uplotOutputMode.c
  setview.c
  shaded_mode.c
  shader.c
  shells.c
  showmats.c
  simulate/simphysics.cpp
  simulate/simulate.c
  simulate/simcollisionalgo.cpp
  simulate/simutils.c
  simulate/simrt.c
  size.c
  slew.c
  solids_on_ray.c
  sphgroup.c
  summary.c
  sync.c
  tables.c
  tire.c
  title.c
  tol.c
  tops.c
  tra.c
  trace.c
  track.c
  translate_extrude.c
  translate_tgc.c
  tree.c
  typein.c
  unhide.c
  units.c
  v2m_point.c
  vdraw.c
  version.c
  view.c
  view2grid_lu.c
  view2model.c
  view2model_lu.c
  view2model_vec.c
  view_obj.c
  viewdir.c
  voxelize.c
  vrot.c
  vutil.c
  wcodes.c
  wdb_bigE.c
  wdb_comb_std.c
  wdb_importFg4Section.c
  wdb_nirt.c
  wdb_obj.c
  wdb_qray.c
  wdb_track.c
  wdb_vdraw.c
  whatid.c
  which.c
  which_shader.c
  who.c
  wmater.c
  xpush.c
  ypr.c
  zap.c
  zoom/zoom.c
  ${LIBGED_CMD_SRCS}
  )

# Include directories needed by libged users
set(GED_INCLUDE_DIRS
  ${BRLCAD_BINARY_DIR}/include
  ${BRLCAD_SOURCE_DIR}/include
  ${ANALYZE_INCLUDE_DIRS}
  ${BU_INCLUDE_DIRS}
  ${FB_INCLUDE_DIRS}
  ${RT_INCLUDE_DIRS}
  ${WDB_INCLUDE_DIRS}
  )

# Local include directories
# includes from plugins
set(GED_LOCAL_INCLUDE_DIRS
  ${PNG_INCLUDE_DIR}
  ${REGEX_INCLUDE_DIR}
  ${CLIPPER_INCLUDE_DIR}
  ${LIBGED_CMD_INCLUDE_DIRS}
  )

BRLCAD_LIB_INCLUDE_DIRS(ged GED_INCLUDE_DIRS GED_LOCAL_INCLUDE_DIRS)

if(CPP_DLL_DEFINES)
  add_definitions(-DCLIPPER_DLL_IMPORTS)
endif(CPP_DLL_DEFINES)

BRLCAD_ADDLIB(libged "${LIBGED_SOURCES}" "libwdb;librt;libfb;libbu;libicv;libanalyze;${LIBGED_CMD_LIBS_LIST};${REGEX_LIBRARY};${WINSOCK_LIB};${CLIPPER_LIBRARY};${M_LIBRARY}" ${NO_STRICT_CXX_SETTING})
SET_TARGET_PROPERTIES(libged PROPERTIES VERSION 20.0.1 SOVERSION 20)

set(ged_ignore_files
  ged_private.h
  joint.h
  qray.h
  wdb_qray.h
  simulate/simcollisionalgo.h
  simulate/simrt.h
  simulate/simulate.h
  simulate/simutils.h
  )
CMAKEFILES(${ged_ignore_files})

# Local Variables:
# tab-width: 8
# mode: cmake
# indent-tabs-mode: t
# End:
# ex: shiftwidth=2 tabstop=8
