project(cgns C)

set(CGNS_LIB_DIR cgnslib_2.5)

include_directories(
    ${CGNS_LIB_DIR}
    ${CGNS_LIB_DIR}/adf
    ${CGNS_LIB_DIR}/tools)

set(CGNS_SRCS2
cgns_ug_io_read_grid.c
cgns_ug_io_write_grid.c
cgns_version.c
)

set(CGNS_HDRS
cgns_ug_io_read_grid.h
cgns_ug_io_write_grid.h
cgns_version.h
)

set(CGNS_ADF_SRCS
${CGNS_LIB_DIR}/adf/ADF_interface.c
${CGNS_LIB_DIR}/adf/ADF_internals.c
${CGNS_LIB_DIR}/adf/ADF_fortran_2_c.c
)

set(CGNS_ADF_HDRS
${CGNS_LIB_DIR}/adf/ADF.h
${CGNS_LIB_DIR}/adf/ADF_internals.h
)

(CGNS_LIB_SRCS
${CGNS_LIB_DIR}/adf_cond.c
${CGNS_LIB_DIR}/adf_ftoc.c
${CGNS_LIB_DIR}/cg_ftoc.c
${CGNS_LIB_DIR}/cgns_error.c
${CGNS_LIB_DIR}/cgns_internals.c
${CGNS_LIB_DIR}/cgnslib.c
)

set(CGNS_LIB_HDRS
${CGNS_LIB_DIR}/cgns_header.h
${CGNS_LIB_DIR}/cgnslib.h
${CGNS_LIB_DIR}/fortran_macros.h
)

set(CGNS_TOOLS_SRCS
${CGNS_LIB_DIR}/tools/cgnames.c
${CGNS_LIB_DIR}/tools/getargs.c
${CGNS_LIB_DIR}/tools/hash.c
)

set(CGNS_TOOLS_HDRS
${CGNS_LIB_DIR}/tools/getargs.h
${CGNS_LIB_DIR}/tools/hash.h
)


add_definitions(-DUSE_CGNS_MACROS -DLOWERCASE_)

#add_library(cgns STATIC ${CGNS_SRCS2} ${CGNS_HDRS})

#add_library(cgns_adf STATIC ${CGNS_ADF_SRCS} ${CGNS_ADF_HDRS})

#add_library(cgns_cgnslib STATIC ${CGNS_LIB_SRCS} ${CGNS_LIB_HDRS})

#add_library(cgns_tools STATIC ${CGNS_TOOLS_SRCS} ${CGNS_TOOLS_HDRS})

add_library(cgns STATIC ${CGNS_SRCS2} ${CGNS_HDRS}
                        ${CGNS_ADF_SRCS} ${CGNS_ADF_HDRS}
                        ${CGNS_LIB_SRCS} ${CGNS_LIB_HDRS}
                        ${CGNS_TOOLS_SRCS} ${CGNS_TOOLS_HDRS})

if(CMAKE_COMPILER_IS_GNUCC)
  set_target_properties(cgns PROPERTIES COMPILE_FLAGS -fPIC)
  #set_target_properties(cgns_adf PROPERTIES COMPILE_FLAGS -fPIC)
  #set_target_properties(cgns_cgnslib PROPERTIES COMPILE_FLAGS -fPIC)
  #set_target_properties(cgns_tools PROPERTIES COMPILE_FLAGS -fPIC)
endif(CMAKE_COMPILER_IS_GNUCC)

set_source_files_properties(${CGNS_ADF_SRCS} PROPERTIES COMPILE_FLAGS -O1)
set_source_files_properties(${CGNS_LIB_SRCS} PROPERTIES COMPILE_FLAGS -O1)
set_source_files_properties(${CGNS_TOOLS_SRCS} PROPERTIES COMPILE_FLAGS -O1)


#---------------------------------------
if(AFLR_ADD_INSTALL)
  #install(TARGETS cgns cgns_adf cgns_cgnslib cgns_tools EXPORT AFLR
  install(TARGETS cgns EXPORT AFLR
      ARCHIVE DESTINATION ${AFLR_TARGET_BASE}lib
      COMPONENT Development)

  install(FILES
      ${CGNS_SRCS2}
      ${CGNS_HDRS}
      3rd_PARTY_SOFTWARE_STATEMENT.pdf
      DESTINATION src/cgns
      COMPONENT Development)

  install(FILES
      ${CGNS_LIB_SRCS}
      ${CGNS_LIB_HDRS}
      DESTINATION src/cgns/${CGNS_LIB_DIR}
      COMPONENT Development)

  install(FILES
      ${CGNS_ADF_SRCS}
      ${CGNS_ADF_HDRS}
      DESTINATION src/cgns/${CGNS_LIB_DIR}/adf
      COMPONENT Development)

  install(FILES
      ${CGNS_TOOLS_SRCS}
      ${CGNS_TOOLS_HDRS}
      DESTINATION src/cgns/${CGNS_LIB_DIR}/tools
      COMPONENT Development)
endif(AFLR_ADD_INSTALL)

