Add-CMake-support.patch 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Origin: Debian packaging
  2. From: Klee Dienes <klee@mit.edu>
  3. Date: Thu, 13 Feb 2014 07:03:26 -0500
  4. Subject: Add CMake support.
  5. ---
  6. CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++
  7. 1 file changed, 44 insertions(+)
  8. create mode 100644 CMakeLists.txt
  9. --- /dev/null
  10. +++ b/CMakeLists.txt
  11. @@ -0,0 +1,50 @@
  12. +cmake_minimum_required (VERSION 2.8.8)
  13. +
  14. +project (iniparser)
  15. +include (GNUInstallDirs)
  16. +
  17. +include_directories (src)
  18. +
  19. +set(INIPARSER_SRCS src/dictionary.c src/iniparser.c)
  20. +set(INIPARSER_HDRS src/dictionary.h src/iniparser.h)
  21. +
  22. +add_library(iniparser-shared SHARED ${INIPARSER_SRCS} ${INIPARSER_HDRS})
  23. +add_library(iniparser-static STATIC ${INIPARSER_SRCS} ${INIPARSER_HDRS})
  24. +
  25. +set_target_properties(iniparser-shared PROPERTIES SOVERSION 1)
  26. +set_target_properties(iniparser-shared PROPERTIES OUTPUT_NAME iniparser)
  27. +set_target_properties(iniparser-static PROPERTIES OUTPUT_NAME iniparser)
  28. +
  29. +install (TARGETS iniparser-shared
  30. + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  31. + DESTINATION ${CMAKE_INSTALL_LIBDIR}
  32. + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  33. +
  34. +install (TARGETS iniparser-static
  35. + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  36. + DESTINATION ${CMAKE_INSTALL_LIBDIR}
  37. + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  38. +
  39. +find_package(Doxygen)
  40. +if (NOT DOXYGEN_FOUND)
  41. +message(FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly")
  42. +endif()
  43. +
  44. +file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
  45. + "@INCLUDE = ${CMAKE_CURRENT_SOURCE_DIR}/doc/iniparser.dox\n"
  46. + "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n"
  47. + )
  48. +
  49. +add_custom_target (doc ALL
  50. + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
  51. + SOURCES doc/iniparser.dox)
  52. +
  53. +enable_testing()
  54. +
  55. +add_test(NAME testsuite
  56. + COMMAND make
  57. + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test)
  58. +
  59. +install (FILES ${INIPARSER_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/iniparser)
  60. +
  61. +install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR})