diff options
| author | 2009-03-27 18:43:46 +0100 | |
|---|---|---|
| committer | 2009-03-27 18:43:46 +0100 | |
| commit | c99881e673b58efba240d6b9440768eace28b027 (patch) | |
| tree | 16d521218a1a97ed726c9402229fd51341fe7745 | |
| parent | 623314bb8de2a6ac71e44833d1f1a796274d3871 (diff) | |
| download | libplist-c99881e673b58efba240d6b9440768eace28b027.tar.gz libplist-c99881e673b58efba240d6b9440768eace28b027.tar.bz2 | |
Complete and cleanup CMake build system.
| -rw-r--r-- | CMakeLists.txt | 31 | ||||
| -rw-r--r-- | cmake/libplistPackaging.cmake | 15 | ||||
| -rw-r--r-- | cmake/modules/cmake_uninstall.cmake.in | 21 | ||||
| -rw-r--r-- | libplist.pc.in | 14 | ||||
| -rw-r--r-- | plutil/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 2 |
6 files changed, 63 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 201a14e..754c264 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -1,5 +1,12 @@ | |||
| 1 | PROJECT( libplist ) | 1 | PROJECT( libplist ) |
| 2 | 2 | ||
| 3 | SET( LIBPLIST_VERSION_MAJOR "0" ) | ||
| 4 | SET( LIBPLIST_VERSION_MINOR "8" ) | ||
| 5 | SET( LIBPLIST_SOVERSION "0" ) | ||
| 6 | SET( LIBPLIST_VERSION "${LIBPLIST_VERSION_MAJOR}.${LIBPLIST_VERSION_MINOR}" ) | ||
| 7 | SET( LIBPLIST_LIBVERSION "${LIBPLIST_SOVERSION}.${LIBPLIST_VERSION}" ) | ||
| 8 | SET( PLUTIL_VERSION ${LIBPLIST_VERSION} ) | ||
| 9 | |||
| 3 | SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/cmake/modules ) | 10 | SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/cmake/modules ) |
| 4 | 11 | ||
| 5 | cmake_minimum_required(VERSION 2.6) | 12 | cmake_minimum_required(VERSION 2.6) |
| @@ -22,19 +29,15 @@ IF ( SWIG_FOUND AND PYTHON_LIBRARY ) | |||
| 22 | ADD_SUBDIRECTORY( swig ) | 29 | ADD_SUBDIRECTORY( swig ) |
| 23 | ENDIF ( SWIG_FOUND AND PYTHON_LIBRARY ) | 30 | ENDIF ( SWIG_FOUND AND PYTHON_LIBRARY ) |
| 24 | 31 | ||
| 25 | CONFIGURE_FILE( "libplist.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libplist.pc" ) | 32 | # add uninstall target |
| 26 | 33 | CONFIGURE_FILE( "${CMAKE_SOURCE_DIR}/cmake/modules/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) | |
| 34 | ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") | ||
| 27 | 35 | ||
| 28 | SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Library to parse and generate Apple's binary and XML PList format") | 36 | ########## PkgConfig ############################ |
| 29 | SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") | 37 | CONFIGURE_FILE( "libplist.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libplist.pc" ) |
| 30 | SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.LESSER") | 38 | ########## INSTALL ############################## |
| 31 | SET(CPACK_PACKAGE_VERSION_MAJOR "0") | 39 | INSTALL( FILES "${CMAKE_CURRENT_BINARY_DIR}/libplist.pc" DESTINATION ${LIBDATA_INSTALL_DIR}/pkgconfig/ ) |
| 32 | SET(CPACK_PACKAGE_VERSION_MINOR "1") | ||
| 33 | SET(CPACK_PACKAGE_VERSION_PATCH "0") | ||
| 34 | SET(CPACK_COMPONENT_LIB_DISPLAY_NAME "PList library") | ||
| 35 | SET(CPACK_COMPONENT_DEV_DISPLAY_NAME "PList development files") | ||
| 36 | SET(CPACK_COMPONENT_PLUTIL_DISPLAY_NAME "PList conversion tool") | ||
| 37 | set(CPACK_COMPONENT_DEV_DEPENDS lib) | ||
| 38 | set(CPACK_COMPONENT_PLUTIL_DEPENDS lib) | ||
| 39 | INCLUDE(CPack) | ||
| 40 | 40 | ||
| 41 | ########## CPack ################################ | ||
| 42 | INCLUDE( libplistPackaging ) | ||
| 43 | LIBPLIST_PACKAGE(LIBPLIST_VERSION_MAJOR LIBPLIST_VERSION_MINOR) | ||
diff --git a/cmake/libplistPackaging.cmake b/cmake/libplistPackaging.cmake new file mode 100644 index 0000000..1a5fd92 --- /dev/null +++ b/cmake/libplistPackaging.cmake | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | MACRO( LIBPLIST_PACKAGE _major _minor) | ||
| 2 | |||
| 3 | SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Library to parse and generate Apple's binary and XML PList format") | ||
| 4 | SET(CPACK_PACKAGE_VERSION_MAJOR ${_major}) | ||
| 5 | SET(CPACK_PACKAGE_VERSION_MINOR ${_minor}) | ||
| 6 | SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") | ||
| 7 | SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.LESSER") | ||
| 8 | SET(CPACK_COMPONENT_LIB_DISPLAY_NAME "PList library") | ||
| 9 | SET(CPACK_COMPONENT_DEV_DISPLAY_NAME "PList development files") | ||
| 10 | SET(CPACK_COMPONENT_PLUTIL_DISPLAY_NAME "PList conversion tool") | ||
| 11 | set(CPACK_COMPONENT_DEV_DEPENDS lib) | ||
| 12 | set(CPACK_COMPONENT_PLUTIL_DEPENDS lib) | ||
| 13 | INCLUDE( CPack ) | ||
| 14 | |||
| 15 | ENDMACRO( LIBPLIST_PACKAGE ) | ||
diff --git a/cmake/modules/cmake_uninstall.cmake.in b/cmake/modules/cmake_uninstall.cmake.in new file mode 100644 index 0000000..4bfb0bf --- /dev/null +++ b/cmake/modules/cmake_uninstall.cmake.in | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") | ||
| 2 | MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") | ||
| 3 | ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") | ||
| 4 | |||
| 5 | FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) | ||
| 6 | STRING(REGEX REPLACE "\n" ";" files "${files}") | ||
| 7 | FOREACH(file ${files}) | ||
| 8 | MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") | ||
| 9 | IF(EXISTS "$ENV{DESTDIR}${file}") | ||
| 10 | EXEC_PROGRAM( | ||
| 11 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" | ||
| 12 | OUTPUT_VARIABLE rm_out | ||
| 13 | RETURN_VALUE rm_retval | ||
| 14 | ) | ||
| 15 | IF(NOT "${rm_retval}" STREQUAL 0) | ||
| 16 | MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") | ||
| 17 | ENDIF(NOT "${rm_retval}" STREQUAL 0) | ||
| 18 | ELSE(EXISTS "$ENV{DESTDIR}${file}") | ||
| 19 | MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") | ||
| 20 | ENDIF(EXISTS "$ENV{DESTDIR}${file}") | ||
| 21 | ENDFOREACH(file) | ||
diff --git a/libplist.pc.in b/libplist.pc.in index 34110e3..c59db5a 100644 --- a/libplist.pc.in +++ b/libplist.pc.in | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | prefix=@prefix@ | 1 | prefix=${CMAKE_INSTALL_PREFIX} |
| 2 | exec_prefix=@exec_prefix@ | 2 | exec_prefix=${CMAKE_INSTALL_PREFIX} |
| 3 | libdir=@libdir@ | 3 | libdir=${CMAKE_INSTALL_PREFIX}/lib |
| 4 | includedir=@includedir@ | 4 | includedir=${CMAKE_INSTALL_PREFIX}/include |
| 5 | 5 | ||
| 6 | Name: libplist | 6 | Name: libplist |
| 7 | Description: A library to handle Apple Property Lists whereas they are binary or XML | 7 | Description: A library to handle Apple Property Lists whereas they are binary or XML |
| 8 | Version: @VERSION@ | 8 | Version: ${LIBPLIST_VERSION} |
| 9 | Requires: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 | 9 | Requires: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 |
| 10 | Libs: -L${libdir} -lplist | 10 | Libs: -L${CMAKE_INSTALL_PREFIX}/lib -lplist |
| 11 | Cflags: -I${includedir} | 11 | Cflags: -I${CMAKE_INSTALL_PREFIX}/include |
| 12 | 12 | ||
diff --git a/plutil/CMakeLists.txt b/plutil/CMakeLists.txt index fad1cde..149d68f 100644 --- a/plutil/CMakeLists.txt +++ b/plutil/CMakeLists.txt | |||
| @@ -4,5 +4,6 @@ SET(plutil_SRC | |||
| 4 | 4 | ||
| 5 | ADD_EXECUTABLE(plutil ${plutil_SRC}) | 5 | ADD_EXECUTABLE(plutil ${plutil_SRC}) |
| 6 | TARGET_LINK_LIBRARIES(plutil plist) | 6 | TARGET_LINK_LIBRARIES(plutil plist) |
| 7 | SET_TARGET_PROPERTIES( plutil PROPERTIES VERSION ${PLUTIL_VERSION} ) | ||
| 7 | 8 | ||
| 8 | INSTALL( TARGETS plutil RUNTIME DESTINATION bin COMPONENT plutil ) \ No newline at end of file | 9 | INSTALL( TARGETS plutil RUNTIME DESTINATION bin COMPONENT plutil ) \ No newline at end of file |
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8a79c22..4c0f843 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt | |||
| @@ -9,6 +9,8 @@ SET(libplist_SRC | |||
| 9 | 9 | ||
| 10 | ADD_LIBRARY( plist SHARED ${libplist_SRC} ) | 10 | ADD_LIBRARY( plist SHARED ${libplist_SRC} ) |
| 11 | TARGET_LINK_LIBRARIES( plist ${LIBXML2_LIBRARIES} ${GLIB2_LIBRARIES} ) | 11 | TARGET_LINK_LIBRARIES( plist ${LIBXML2_LIBRARIES} ${GLIB2_LIBRARIES} ) |
| 12 | SET_TARGET_PROPERTIES( plist PROPERTIES VERSION ${LIBPLIST_LIBVERSION} ) | ||
| 13 | SET_TARGET_PROPERTIES( plist PROPERTIES SOVERSION ${LIBPLIST_SOVERSION} ) | ||
| 12 | 14 | ||
| 13 | INSTALL(TARGETS plist | 15 | INSTALL(TARGETS plist |
| 14 | RUNTIME DESTINATION bin COMPONENT lib | 16 | RUNTIME DESTINATION bin COMPONENT lib |
