aboutsummaryrefslogtreecommitdiff
path: root/ports/libxmlmm/CMakeLists.txt
blob: 721641a64be0bc2a9e6bb6dfbb311550b0d3a1a7 (plain)
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
cmake_minimum_required(VERSION 3.8)
project(libxmlmm CXX)

set(CMAKE_SHARED_LIBRARY_PREFIX)
set(CMAKE_STATIC_LIBRARY_PREFIX)

find_package(LibXml2 REQUIRED)

set(HEADERS_LIBXMLMM
	libxmlmm/Attribute.h
	libxmlmm/CData.h
	libxmlmm/Comment.h
	libxmlmm/Content.h
	libxmlmm/defines.h
	libxmlmm/Document.h
	libxmlmm/Element.h
	libxmlmm/exceptions.h
	libxmlmm/libxmlmm.h
	libxmlmm/LibXmlSentry.h
	libxmlmm/Node.h
	libxmlmm/ProcessingInstruction.h
	libxmlmm/Text.h
	libxmlmm/utils.h
)

set(SOURCES_LIBXMLMM
	libxmlmm/Attribute.cpp
	libxmlmm/CData.cpp
	libxmlmm/Comment.cpp
	libxmlmm/Content.cpp
	libxmlmm/Document.cpp
	libxmlmm/Element.cpp
	libxmlmm/LibXmlSentry.cpp
	libxmlmm/Node.cpp
	libxmlmm/ProcessingInstruction.cpp
	libxmlmm/Text.cpp
	libxmlmm/utils.cpp
)

add_library(libxmlmm ${SOURCES_LIBXMLMM})
include_directories(${LIBXML2_INCLUDE_DIR})
target_link_libraries (libxmlmm ${LIBXML2_LIBRARIES})

set_target_properties(libxmlmm PROPERTIES
    CXX_STANDARD 17
    PUBLIC_HEADER "${HEADERS_LIBXMLMM}"
)

target_include_directories(libxmlmm PUBLIC
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libxmlmm>
    $<INSTALL_INTERFACE:include/libxmlmm>)

install(TARGETS ${PROJECT_NAME}
    EXPORT litehtmlTargets
    RUNTIME DESTINATION bin
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib
    PUBLIC_HEADER DESTINATION include/libxmlmm
)