project(ug2 C)

set(UG2_HDRS
UG2_Grid_BC_Def.h
UG2_Grid_BC_Macro.h
UG2_LIB.h
UG2_LIB_INC.h
ug2_bev.h
ug2_bnd_nodes.h
ug2_bv.h
ug2_bv2.h
ug2_chk.h
ug2_chkarea.h
ug2_chkb.h
ug2_chkbedge.h
ug2_chkbn.h
ug2_chkgrid.h
ug2_chkq.h
ug2_cv_csv_area.h
ug2_cv_ev.h
ug2_cv_gradu.h
ug2_df.h
ug2_df0f.h
ug2_df_gr.h
ug2_dff.h
ug2_dfmax.h
ug2_dx.h
ug2_extract_edge.h
ug2_face_ang_w.h
ug2_fe_gradu.h
ug2_fe_met_area.h
ug2_ibeibe.h
ug2_ibein.h
ug2_iboibe.h
ug2_ibor.h
ug2_iein.h
ug2_ielibe.h
ug2_ielibe0.h
ug2_ielibe2.h
ug2_ieliel.h
ug2_ieliel2.h
ug2_ielin.h
ug2_inibe.h
ug2_inie.h
ug2_injn.h
ug2_injn2.h
ug2_interp.h
ug2_nelem_est.h
ug2_nnodeb.h
ug2_qarear.h
ug2_qchk.h
ug2_qchk_initialize_param.h
ug2_qtria.h
ug2_read_gdata.h
ug2_read_grid_file.h
ug2_read_ugrid.h
ug2_read_write_mesh.h
ug2_reorder0.h
ug2_reorderb.h
ug2_sign.h
ug2_smth.h
ug2_srch.h
ug2_version.h
ug2_vsmth.h
ug2_write_angchk.h
ug2_write_edge_grid_error_file.h
ug2_write_gdata.h
ug2_write_grid_file.h
ug2_write_qarearchk.h
ug2_write_ugrid.h
ug2_xmax.h
)

set(UG2_SRCS
ug2_chkgrid.c
ug2_version.c
)

set(UG2_SRCS_2
ug2_bev.c
ug2_bnd_nodes.c
ug2_bv.c
ug2_bv2.c
ug2_chk.c
ug2_chkarea.c
ug2_chkb.c
ug2_chkbedge.c
ug2_chkbn.c
ug2_chkq.c
ug2_cv_csv_area.c
ug2_cv_ev.c
ug2_cv_gradu.c
ug2_df.c
ug2_df0f.c
ug2_df_gr.c
ug2_dff.c
ug2_dfmax.c
ug2_dx.c
ug2_extract_edge.c
ug2_face_ang_w.c
ug2_fe_gradu.c
ug2_fe_met_area.c
ug2_ibeibe.c
ug2_ibein.c
ug2_iboibe.c
ug2_ibor.c
ug2_iein.c
ug2_ielibe.c
ug2_ielibe0.c
ug2_ielibe2.c
ug2_ieliel.c
ug2_ieliel2.c
ug2_ielin.c
ug2_inibe.c
ug2_inie.c
ug2_injn.c
ug2_injn2.c
ug2_interp.c
ug2_nelem_est.c
ug2_nnodeb.c
ug2_qarear.c
ug2_qchk.c
ug2_qchk_initialize_param.c
ug2_qtria.c
ug2_read_gdata.c
ug2_read_grid_file.c
ug2_read_ugrid.c
ug2_read_write_mesh.c
ug2_reorder0.c
ug2_reorderb.c
ug2_sign.c
ug2_smth.c
ug2_srch.c
ug2_vsmth.c
ug2_write_angchk.c
ug2_write_edge_grid_error_file.c
ug2_write_gdata.c
ug2_write_grid_file.c
ug2_write_qarearchk.c
ug2_write_ugrid.c
ug2_xmax.c
)

# No optimization on mac.
set(UG2_SRCS_B
    ug2_srch.c
    ug2_srch.h)

add_library(ug2 STATIC ${UG2_SRCS} ${UG2_HDRS} ${UG2_SRCS_2} ${UG2_SRCS_B})

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

set_source_files_properties(${UG2_SRCS} PROPERTIES COMPILE_FLAGS -O0)
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
  set_source_files_properties(${UG2_SRCS_B} PROPERTIES COMPILE_FLAGS -O0)
endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")


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

  install(FILES
      ${UG2_SRCS}
      ${UG2_HDRS}
      ${UG2_SRCS_2}
      ${UG2_SRCS_B}
      CMakeLists.txt
      UG2_LIB.txt
      Release_Notes_ug2.txt
      License.pdf
      License.txt
      DESTINATION src/ug2
      COMPONENT Development)
endif(AFLR_ADD_INSTALL)

