cmake_minimum_required(VERSION 2.8.5)

project(VMDMolfile)

# Set a default build type if none was specified
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
  message(STATUS "Setting build type to 'release' as none was specified.")
  set(CMAKE_BUILD_TYPE "release" CACHE STRING "Choose the type of build." FORCE)
endif()

if(WIN32)
    add_definitions("/DVMDPLUGIN_EXPORTS")
endif()

set(PLUGIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib CACHE STRING "Installation prefix for VMD plugins")

include_directories(include)
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_SHARED_LIBRARY_SUFFIX ".so")

set(VMD_MOLFILE_PLUGINS abinitplugin avsplugin basissetplugin bgfplugin
    binposplugin biomoccaplugin brixplugin carplugin ccp4plugin corplugin cpmdplugin
    crdplugin cubeplugin dcdplugin dlpolyplugin dsn6plugin dxplugin edmplugin fs4plugin
    gamessplugin graspplugin grdplugin gridplugin gromacsplugin jsplugin lammpsplugin
    mapplugin mdfplugin mol2plugin moldenplugin molemeshplugin msmsplugin namdbinplugin
    offplugin parm7plugin parmplugin pbeqplugin pdbplugin phiplugin pltplugin pqrplugin
    psfplugin raster3dplugin rst7plugin situsplugin spiderplugin stlplugin tinkerplugin
    uhbdplugin vaspchgcarplugin vaspoutcarplugin vaspparchgplugin vaspposcarplugin
    vasp5xdatcarplugin vaspxdatcarplugin vaspxmlplugin xbgfplugin xsfplugin xyzplugin)

foreach(plugin IN ITEMS ${VMD_MOLFILE_PLUGINS})
    add_library(${plugin} SHARED src/${plugin})
    install(TARGETS ${plugin} DESTINATION ${PLUGIN_INSTALL_DIR})
endforeach()

file(GLOB_RECURSE headers include/*.h)
install(FILES ${headers} DESTINATION include)
