project(ug3 C)

set(UG3_HDRS
UG3_Grid_BC_Def.h
UG3_Grid_BC_Macro.h
UG3_LIB.h
UG3_LIB_INC.h
ug3_angmax.h
ug3_angmax2.h
ug3_angmaxb.h
ug3_bfv.h
ug3_bnd_nodes.h
ug3_bnd_vol_nodes.h
ug3_bsmth.h
ug3_bv.h
ug3_bv2.h
ug3_bv3.h
ug3_bv_ls.h
ug3_check_bgdata_file.h
ug3_chk.h
ug3_chkb.h
ug3_chkbc.h
ug3_chkbc0.h
ug3_chkbcp1.h
ug3_chkbcp2.h
ug3_chkbda.h
ug3_chkblis.h
ug3_chkblisbc.h
ug3_chkbn.h
ug3_chkbq.h
ug3_chkbsurf.h
ug3_chkbsurf0.h
ug3_chkbsurf2.h
ug3_chkplane.h
ug3_chkq.h
ug3_conv_2d_mesh_3d.h
ug3_conv_p1_bmesh_p2.h
ug3_conv_p2_bmesh_p1.h
ug3_df.h
ug3_df0b.h
ug3_df0f.h
ug3_df_gr.h
ug3_dfbe.h
ug3_dfbf.h
ug3_dff.h
ug3_dfmax.h
ug3_dfmin.h
ug3_dh_ang_w.h
ug3_disoel.h
ug3_dv.h
ug3_dx.h
ug3_dxchk.h
ug3_edge_length.h
ug3_extract_p1_mesh_p2.h
ug3_extract_surf.h
ug3_face_ang_w.h
ug3_face_area.h
ug3_face_map.h
ug3_face_sort.h
ug3_ibfe.h
ug3_ibfibf.h
ug3_ibfibf0.h
ug3_ibfibf2.h
ug3_ibfin.h
ug3_iblisibf.h
ug3_ibnin.h
ug3_iboibf.h
ug3_iboibf0.h
ug3_iboibf2.h
ug3_ibor.h
ug3_idibf.h
ug3_idibf2.h
ug3_idiel.h
ug3_idiel2.h
ug3_idielm.h
ug3_idsmth.h
ug3_ielibf.h
ug3_ielibf0.h
ug3_ielibf2.h
ug3_ielibfm.h
ug3_ieliel.h
ug3_ieliel2.h
ug3_ieliel2b.h
ug3_ieliel3b.h
ug3_ielin.h
ug3_ielinm.h
ug3_ieljel.h
ug3_ifin.h
ug3_inibe.h
ug3_inix.h
ug3_injn.h
ug3_interp.h
ug3_iobjiel.h
ug3_iqin.h
ug3_irfibf.h
ug3_irfibfm.h
ug3_iviel.h
ug3_lrmin.h
ug3_mdisn.h
ug3_met2df.h
ug3_merge_mesh.h
ug3_mq_elem.h
ug3_msd_elem.h
ug3_nelem_est.h
ug3_nelpnmax.h
ug3_nnodeb.h
ug3_nnodeb2.h
ug3_nstv.h
ug3_octree.h
ug3_p2_tet_q.h
ug3_proj.h
ug3_qarear.h
ug3_qchk.h
ug3_qchk_initialize_param.h
ug3_qchkb.h
ug3_qchkb_initialize_param.h
ug3_qvlr.h
ug3_qvrr.h
ug3_qtria.h
ug3_qtria_recd.h
ug3_read_bgdata_file.h
ug3_read_func_file.h
ug3_read_gdata.h
ug3_read_grid_file.h
ug3_read_grid_file2.h
ug3_read_sfunc.h
ug3_read_split_data_file.h
ug3_read_surf.h
ug3_read_surf_grid_file.h
ug3_read_surf_grid_file2.h
ug3_read_ugrid.h
ug3_read_write_mesh.h
ug3_reorder0.h
ug3_reorder0bf.h
ug3_reorder0bn.h
ug3_reorder0n.h
ug3_reorderb.h
ug3_reorderid.h
ug3_reordern.h
ug3_rmtbf.h
ug3_rmtbfd.h
ug3_set_ibcibf.h
ug3_set_irfibf.h
ug3_setbcp.h
ug3_sgins.h
ug3_sign.h
ug3_sliver_info.h
ug3_split_data.h
ug3_srch.h
ug3_srchbf.h
ug3_subgrid.h
ug3_tbfd.h
ug3_triaq.h
ug3_version.h
ug3_vol.h
ug3_volrchk.h
ug3_vsmth.h
ug3_write_angchk.h
ug3_write_angchkb.h
ug3_write_arearchk.h
ug3_write_bgdata_file.h
ug3_write_dxchk.h
ug3_write_func_file.h
ug3_write_gdata.h
ug3_write_grid_file.h
ug3_write_grid_file2.h
ug3_write_mesh0.h
ug3_write_qarearchk.h
ug3_write_qvlrchk.h
ug3_write_qvrrchk.h
ug3_write_sfunc.h
ug3_write_split_data_file.h
ug3_write_surf.h
ug3_write_surf_grid_error_file.h
ug3_write_surf_grid_file.h
ug3_write_ugrid.h
ug3_write_volchk.h
ug3_write_volrchk.h
ug3_write_volrchk2.h
ug3_x2x3.h
ug3_xmax.h
)

set(UG3_SRCS
ug3_chkbsurf.c
ug3_chkbsurf0.c
ug3_chkbsurf2.c
ug3_ieliel2.c
ug3_ieliel2b.c
ug3_ieliel3b.c
ug3_version.c
)

set(UG3_SRCS_2
ug3_angmax.c
ug3_angmax2.c
ug3_angmaxb.c
ug3_bfv.c
ug3_bnd_nodes.c
ug3_bnd_vol_nodes.c
ug3_bsmth.c
ug3_bv.c
ug3_bv2.c
ug3_bv3.c
ug3_bv_ls.c
ug3_check_bgdata_file.c
ug3_chk.c
ug3_chkb.c
ug3_chkbc.c
ug3_chkbc0.c
ug3_chkbcp1.c
ug3_chkbcp2.c
ug3_chkbda.c
ug3_chkblis.c
ug3_chkblisbc.c
ug3_chkbn.c
ug3_chkbq.c
ug3_chkplane.c
ug3_chkq.c
ug3_conv_2d_mesh_3d.c
ug3_conv_p1_bmesh_p2.c
ug3_conv_p2_bmesh_p1.c
ug3_df.c
ug3_df0b.c
ug3_df0f.c
ug3_df_gr.c
ug3_dfbe.c
ug3_dfbf.c
ug3_dff.c
ug3_dfmax.c
ug3_dfmin.c
ug3_dh_ang_w.c
ug3_disoel.c
ug3_dv.c
ug3_dx.c
ug3_dxchk.c
ug3_edge_length.c
ug3_extract_p1_mesh_p2.c
ug3_extract_surf.c
ug3_face_ang_w.c
ug3_face_area.c
ug3_face_map.c
ug3_face_sort.c
ug3_ibfe.c
ug3_ibfibf.c
ug3_ibfibf0.c
ug3_ibfibf2.c
ug3_ibfin.c
ug3_iblisibf.c
ug3_ibnin.c
ug3_iboibf.c
ug3_iboibf0.c
ug3_iboibf2.c
ug3_ibor.c
ug3_idibf.c
ug3_idibf2.c
ug3_idiel.c
ug3_idiel2.c
ug3_idielm.c
ug3_idsmth.c
ug3_ielibf.c
ug3_ielibf0.c
ug3_ielibf2.c
ug3_ielibfm.c
ug3_ieliel.c
ug3_ielin.c
ug3_ielinm.c
ug3_ieljel.c
ug3_ifin.c
ug3_inibe.c
ug3_inix.c
ug3_injn.c
ug3_interp.c
ug3_iobjiel.c
ug3_iqin.c
ug3_irfibf.c
ug3_irfibfm.c
ug3_iviel.c
ug3_lrmin.c
ug3_mdisn.c
ug3_met2df.c
ug3_merge_mesh.c
ug3_mq_elem.c
ug3_msd_elem.c
ug3_nelem_est.c
ug3_nelpnmax.c
ug3_nnodeb.c
ug3_nnodeb2.c
ug3_nstv.c
ug3_octree.c
ug3_p2_tet_q.c
ug3_proj.c
ug3_qarear.c
ug3_qchk.c
ug3_qchk_initialize_param.c
ug3_qchkb.c
ug3_qchkb_initialize_param.c
ug3_qvlr.c
ug3_qvrr.c
ug3_qtria.c
ug3_qtria_recd.c
ug3_read_bgdata_file.c
ug3_read_func_file.c
ug3_read_gdata.c
ug3_read_grid_file.c
ug3_read_grid_file2.c
ug3_read_sfunc.c
ug3_read_split_data_file.c
ug3_read_surf.c
ug3_read_surf_grid_file.c
ug3_read_surf_grid_file2.c
ug3_read_ugrid.c
ug3_read_write_mesh.c
ug3_reorder0.c
ug3_reorder0bf.c
ug3_reorder0bn.c
ug3_reorder0n.c
ug3_reorderb.c
ug3_reorderid.c
ug3_reordern.c
ug3_rmtbf.c
ug3_rmtbfd.c
ug3_set_ibcibf.c
ug3_set_irfibf.c
ug3_setbcp.c
ug3_sgins.c
ug3_sign.c
ug3_sliver_info.c
ug3_split_data.c
ug3_srch.c
ug3_srchbf.c
ug3_subgrid.c
ug3_tbfd.c
ug3_triaq.c
ug3_vol.c
ug3_volrchk.c
ug3_vsmth.c
ug3_write_angchk.c
ug3_write_angchkb.c
ug3_write_arearchk.c
ug3_write_bgdata_file.c
ug3_write_dxchk.c
ug3_write_func_file.c
ug3_write_gdata.c
ug3_write_grid_file.c
ug3_write_grid_file2.c
ug3_write_mesh0.c
ug3_write_qarearchk.c
ug3_write_qvlrchk.c
ug3_write_qvrrchk.c
ug3_write_sfunc.c
ug3_write_split_data_file.c
ug3_write_surf.c
ug3_write_surf_grid_error_file.c
ug3_write_surf_grid_file.c
ug3_write_ugrid.c
ug3_write_volchk.c
ug3_write_volrchk.c
ug3_write_volrchk2.c
ug3_x2x3.c
ug3_xmax.c
)

add_library(ug3 STATIC ${UG3_SRCS} ${UG3_HDRS} ${UG3_SRCS_2})

if(CMAKE_COMPILER_IS_GNUCC)
  set_target_properties(ug3 PROPERTIES COMPILE_FLAGS -fPIC)
endif(CMAKE_COMPILER_IS_GNUCC)

set_source_files_properties(${UG3_SRCS} PROPERTIES COMPILE_FLAGS -O0)


#-------------------------------------
if(AFLR_ADD_INSTALL)
  install(TARGETS ug3 EXPORT AFLR
      ARCHIVE DESTINATION ${AFLR_TARGET_BASE}lib
      COMPONENT Development)

  install(FILES
      ${UG3_SRCS}
      ${UG3_HDRS}
      ${UG3_SRCS_2}
      CMakeLists.txt
      Release_Notes_ug3.txt
      UG3_LIB.txt
      License.pdf
      License.txt
      DESTINATION src/ug3
      COMPONENT Development)
endif(AFLR_ADD_INSTALL)

