From e9f2abaf6c61850b5588281edfd387c92b883e2a Mon Sep 17 00:00:00 2001 From: Chow Loong Jin Date: Wed, 23 May 2012 05:50:32 +0800 Subject: [PATCH 1/2] Use GNUInstallDirs for CMAKE_INSTALL_*DIR --- CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 494aaca..5a40a2d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.6 FATAL_ERROR) cmake_policy(VERSION 2.6) project(tinyxml2) +include(GNUInstallDirs) #enable_testing() #CMAKE_BUILD_TOOL @@ -60,7 +61,7 @@ add_dependencies(test tinyxml2) add_dependencies(test ${TARGET_DATA_COPY}) target_link_libraries(test tinyxml2) -SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "") + IF(BUILD_STATIC_LIBS) INSTALL(TARGETS tinyxml2 tinyxml2static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -69,6 +70,6 @@ ELSE(BUILD_STATIC_LIBS) INSTALL(TARGETS tinyxml2 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ENDIF(BUILD_STATIC_LIBS) -INSTALL(FILES tinyxml2.h DESTINATION include) +INSTALL(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) #add_test(test ${SAMPLE_NAME} COMMAND $) From a1beafaff8e869cfeb1fdbf8eca44b35a13330c1 Mon Sep 17 00:00:00 2001 From: Chow Loong Jin Date: Wed, 23 May 2012 06:02:20 +0800 Subject: [PATCH 2/2] Add pkgconfig file --- CMakeLists.txt | 10 ++++++++++ tinyxml2.pc.in | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 tinyxml2.pc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a40a2d..556c7a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,4 +72,14 @@ ELSE(BUILD_STATIC_LIBS) ENDIF(BUILD_STATIC_LIBS) INSTALL(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +foreach(p LIB INCLUDE) + set(var CMAKE_INSTALL_${p}DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() + +configure_file(tinyxml2.pc.in tinyxml2.pc @ONLY) +install(FILES tinyxml2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + #add_test(test ${SAMPLE_NAME} COMMAND $) diff --git a/tinyxml2.pc.in b/tinyxml2.pc.in new file mode 100644 index 0000000..5a44e89 --- /dev/null +++ b/tinyxml2.pc.in @@ -0,0 +1,10 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=@CMAKE_INSTALL_LIBDIR@ +includedir=@CMAKE_INSTALL_INCLUDEDIR@ + +Name: TinyXML2 +Description: simple, small, C++ XML parser +Version: @GENERIC_LIB_VERSION@ +Libs: -L${libdir} -ltinyxml2 +Cflags: -I${includedir}