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