## Process this file with cmake
#==============================================================================
#  NeXus - Neutron & X-ray Common Data Format
#  
#  CMakeLists for building the NeXus library and applications.
#
#  Copyright (C) 2011 Stephen Rankin
#  
#  This library is free software; you can redistribute it and/or modify it under
#  the terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2 of the License, or (at your option) any
#  later version.
# 
#  This library is distributed in the hope that it will be useful, but WITHOUT
#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
#  FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
#  details.
# 
#  You should have received a copy of the GNU Lesser General Public License
#  along with this library; if not, write to the Free Software Foundation, Inc.,
#  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#             
#  For further information, see <http://www.nexusformat.org>
#
#
#==============================================================================

add_definitions(-DIN_NEXUS_CPP_LIBRARY=1 ${NX_CPP})

#Make NeXus CPP Bindings Static Library

set (HEADERS NeXusFile.hpp NeXusException.hpp NeXusStream.hpp)
set (SOURCES NeXusFile.hpp NeXusFile.cpp NeXusException.hpp 
             NeXusException.cpp NeXusStream.hpp NeXusStream.cpp)

set_property(SOURCE ${SOURCES} APPEND PROPERTY COMPILE_FLAGS ${NX_CFLAGS})

#------------------------------------------------------------------------------
add_library (NeXus_CPP_Static_Library STATIC ${HEADERS} ${SOURCES})
set_target_properties(NeXus_CPP_Static_Library PROPERTIES 
                      OUTPUT_NAME NeXusCPP)

target_link_libraries(NeXus_CPP_Static_Library NeXus_Static_Library)

#Make NeXus CPP Bindings Shared Library
#------------------------------------------------------------------------------
add_library (NeXus_CPP_Shared_Library SHARED ${HEADERS} ${SOURCES})
target_link_libraries(NeXus_CPP_Shared_Library NeXus_Shared_Library)
set_target_properties(NeXus_CPP_Shared_Library PROPERTIES
                      OUTPUT_NAME NeXusCPP
                      VERSION "${ABI_VERSION}"
                      SOVERSION ${ABI_CURRENT})

install (TARGETS NeXus_CPP_Static_Library NeXus_CPP_Shared_Library
         DESTINATION ${CMAKE_INSTALL_LIBDIR}
         COMPONENT Runtime )

INSTALL (FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 
         COMPONENT Development)




