Annotation of embedaddon/expat/CMakeLists.txt, revision 1.1.1.1
1.1 misho 1: # This file is copyrighted under the BSD-license for buildsystem files of KDE
2: # copyright 2010, Patrick Spendrin <ps_ml@gmx.de>
3:
4: project(expat)
5:
6: cmake_minimum_required(VERSION 2.6)
7: set(PACKAGE_BUGREPORT "expat-bugs@libexpat.org")
8: set(PACKAGE_NAME "expat")
9: set(PACKAGE_VERSION "2.1.0")
10: set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
11: set(PACKAGE_TARNAME "${PACKAGE_NAME}")
12:
13: option(BUILD_tools "build the xmlwf tool for expat library" ON)
14: option(BUILD_examples "build the examples for expat library" ON)
15: option(BUILD_tests "build the tests for expat library" ON)
16: option(BUILD_shared "build a shared expat library" ON)
17:
18: # configuration options
19: set(XML_CONTEXT_BYTES 1024 CACHE STRING "Define to specify how much context to retain around the current parse point")
20: option(XML_DTD "Define to make parameter entity parsing functionality available" ON)
21: option(XML_NS "Define to make XML Namespaces functionality available" ON)
22:
23: if(XML_DTD)
24: set(XML_DTD 1)
25: else(XML_DTD)
26: set(XML_DTD 0)
27: endif(XML_DTD)
28: if(XML_NS)
29: set(XML_NS 1)
30: else(XML_NS)
31: set(XML_NS 0)
32: endif(XML_NS)
33:
34: if(BUILD_tests)
35: enable_testing()
36: endif(BUILD_tests)
37:
38: include(ConfigureChecks.cmake)
39:
40: include_directories(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/lib)
41: if(MSVC)
42: add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996)
43: endif(MSVC)
44:
45: set(expat_SRCS
46: lib/xmlparse.c
47: lib/xmlrole.c
48: lib/xmltok.c
49: lib/xmltok_impl.c
50: lib/xmltok_ns.c
51: )
52:
53: if(WIN32 AND BUILD_shared)
54: set(expat_SRCS ${expat_SRCS} lib/libexpat.def)
55: endif(WIN32 AND BUILD_shared)
56:
57: if(BUILD_shared)
58: set(_SHARED SHARED)
59: else(BUILD_shared)
60: set(_SHARED STATIC)
61: endif(BUILD_shared)
62:
63: add_library(expat ${_SHARED} ${expat_SRCS})
64:
65: install(TARGETS expat RUNTIME DESTINATION bin
66: LIBRARY DESTINATION lib
67: ARCHIVE DESTINATION lib)
68:
69: set(prefix ${CMAKE_INSTALL_PREFIX})
70: set(exec_prefix "\${prefix}/bin")
71: set(libdir "\${prefix}/lib")
72: set(includedir "\${prefix}/include")
73: configure_file(expat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/expat.pc)
74:
75: install(FILES lib/expat.h lib/expat_external.h DESTINATION include)
76: install(FILES ${CMAKE_CURRENT_BINARY_DIR}/expat.pc DESTINATION lib/pkgconfig)
77:
78:
79:
80: if(BUILD_tools AND NOT WINCE)
81: set(xmlwf_SRCS
82: xmlwf/xmlwf.c
83: xmlwf/xmlfile.c
84: xmlwf/codepage.c
85: xmlwf/readfilemap.c
86: )
87:
88: add_executable(xmlwf ${xmlwf_SRCS})
89: target_link_libraries(xmlwf expat)
90: install(TARGETS xmlwf DESTINATION bin)
91: install(FILES doc/xmlwf.1 DESTINATION share/man/man1)
92: endif(BUILD_tools AND NOT WINCE)
93:
94: if(BUILD_examples)
95: add_executable(elements examples/elements.c)
96: target_link_libraries(elements expat)
97:
98: add_executable(outline examples/outline.c)
99: target_link_libraries(outline expat)
100: endif(BUILD_examples)
101:
102: if(BUILD_tests)
103: ## these are unittests that can be run on any platform
104: add_executable(runtests tests/runtests.c tests/chardata.c tests/minicheck.c)
105: target_link_libraries(runtests expat)
106: add_test(runtests runtests)
107:
108: add_executable(runtestspp tests/runtestspp.cpp tests/chardata.c tests/minicheck.c)
109: target_link_libraries(runtestspp expat)
110: add_test(runtestspp runtestspp)
111: endif(BUILD_tests)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>