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>