File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / expat / CMakeLists.txt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 16:09:42 2014 UTC (9 years, 11 months ago) by misho
Branches: expat, MAIN
CVS tags: v2_1_0, HEAD
expat 2.1.0

    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>