File: CMakeLists.txt

package info (click to toggle)
nexus 4.4.3-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,876 kB
  • sloc: cpp: 34,928; ansic: 17,317; f90: 2,326; xml: 2,071; java: 1,953; fortran: 1,529; python: 766; makefile: 532; sh: 460; tcl: 173; lisp: 169
file content (74 lines) | stat: -rw-r--r-- 3,337 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
## 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>
#
#
#==============================================================================

include(GenerateExportHeader)
#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})

#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)
target_include_directories(NeXus_CPP_Shared_Library PUBLIC ${CMAKE_CURRENT_BINARY_DIR} )
set_target_properties(NeXus_CPP_Shared_Library PROPERTIES
                      OUTPUT_NAME NeXusCPP
                      VERSION "${ABI_VERSION}"
                      SOVERSION ${ABI_CURRENT})

generate_export_header(NeXus_CPP_Shared_Library 
                       BASE_NAME NEXUS_CPP
                       EXPORT_FILE_NAME NeXusExport.hpp
                       EXPORT_MACRO_NAME NXDLL_EXPORT)

#------------------------------------------------------------------------------
add_library (NeXus_CPP_Static_Library STATIC ${HEADERS} ${SOURCES})
set_target_properties(NeXus_CPP_Static_Library PROPERTIES
                      OUTPUT_NAME NeXusCPP${STATIC_LIBRARY_SUFFIX}
                      COMPILE_FLAGS -DNEXUS_CPP_STATIC_DEFINE)
target_include_directories(NeXus_CPP_Static_Library PUBLIC ${CMAKE_CURRENT_BINARY_DIR} )
target_link_libraries(NeXus_CPP_Static_Library NeXus_Static_Library)


#------------------------------------------------------------------------------

install (TARGETS NeXus_CPP_Shared_Library
         RUNTIME DESTINATION ${NEXUS_INSTALL_SHLIB} COMPONENT Runtime
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development)

install (TARGETS NeXus_CPP_Static_Library
         DESTINATION ${CMAKE_INSTALL_LIBDIR}
         COMPONENT Development)

INSTALL (FILES ${HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/NeXusExport.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nexus
         COMPONENT Development)