aboutsummaryrefslogtreecommitdiff
path: root/ports/tinyxml/CMakeLists.txt
blob: 2004da4af71acd9c6a23ebe78b25442d687b010a (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
cmake_minimum_required(VERSION 3.4)
project(tinyxml)

set(HEADERS "tinyxml.h")

set(SOURCES "tinyxml.cpp"
            "tinyxmlerror.cpp"
            "tinyxmlparser.cpp"
)

option(BUILD_SHARED_LIBS "Build shared libs" OFF)

add_library(unofficial-tinyxml ${SOURCES})
target_compile_definitions(unofficial-tinyxml PRIVATE "-DTIXML_USE_STL")
set_target_properties(unofficial-tinyxml PROPERTIES OUTPUT_NAME tinyxml)

include(GenerateExportHeader)
generate_export_header(unofficial-tinyxml BASE_NAME tinyxml)

target_include_directories(unofficial-tinyxml 
    PUBLIC
        $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
        $<INSTALL_INTERFACE:include>
)
install(TARGETS unofficial-tinyxml
    EXPORT tinyxml-export
    ARCHIVE DESTINATION lib
    LIBRARY DESTINATION lib
    RUNTIME DESTINATION bin
)
install(EXPORT tinyxml-export
FILE
  tinyxmlTargets.cmake
NAMESPACE
  unofficial-tinyxml::
DESTINATION
  share/tinyxml
)
install(FILES ${HEADERS}
	${CMAKE_CURRENT_BINARY_DIR}/tinyxml_export.h DESTINATION include)