aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorIlya Lavrenov <ilya.lavrenov@intel.com>2023-10-12 02:05:35 +0400
committerIlya Lavrenov <ilya.lavrenov@intel.com>2023-10-12 02:15:05 +0400
commit3cfe51b72d2c7338a66ac0c436328f006e1aea0c (patch)
tree22d8313b15d86b3826542de6c6adea9a7e028146 /CMakeLists.txt
parentef856bf975f4b1909af1b40ed3d7e28af9263d95 (diff)
downloadpugixml-3cfe51b72d2c7338a66ac0c436328f006e1aea0c.zip
pugixml-3cfe51b72d2c7338a66ac0c436328f006e1aea0c.tar.gz
pugixml-3cfe51b72d2c7338a66ac0c436328f006e1aea0c.tar.bz2
Added cmake option to disable install rules
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt82
1 files changed, 43 insertions, 39 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 985131a..1a2beaa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,7 @@ cmake_dependent_option(PUGIXML_BUILD_SHARED_AND_STATIC_LIBS
# Expose options from the pugiconfig.hpp
option(PUGIXML_WCHAR_MODE "Enable wchar_t mode" OFF)
option(PUGIXML_COMPACT "Enable compact mode" OFF)
+option(PUGIXML_INSTALL "Enable installation rules" ON)
# Advanced options from pugiconfig.hpp
option(PUGIXML_NO_XPATH "Disable XPath" OFF)
@@ -193,50 +194,53 @@ endif()
configure_file(scripts/pugixml.pc.in pugixml.pc @ONLY)
-if (NOT DEFINED PUGIXML_RUNTIME_COMPONENT)
- set(PUGIXML_RUNTIME_COMPONENT Runtime)
-endif()
-
-if (NOT DEFINED PUGIXML_LIBRARY_COMPONENT)
- set(PUGIXML_LIBRARY_COMPONENT Library)
-endif()
-
-if (NOT DEFINED PUGIXML_DEVELOPMENT_COMPONENT)
- set(PUGIXML_DEVELOPMENT_COMPONENT Development)
-endif()
-
-set(namelink-component)
-if (NOT CMAKE_VERSION VERSION_LESS 3.12)
- set(namelink-component NAMELINK_COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
-endif()
-install(TARGETS ${install-targets}
- EXPORT pugixml-targets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PUGIXML_RUNTIME_COMPONENT}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_LIBRARY_COMPONENT} ${namelink-component}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT}
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir})
-
-install(EXPORT pugixml-targets
+export(TARGETS ${install-targets}
NAMESPACE pugixml::
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+ FILE pugixml-targets.cmake)
-export(EXPORT pugixml-targets
- NAMESPACE pugixml::)
+if(PUGIXML_INSTALL)
+ if (NOT DEFINED PUGIXML_RUNTIME_COMPONENT)
+ set(PUGIXML_RUNTIME_COMPONENT Runtime)
+ endif()
-install(FILES
- "${PROJECT_BINARY_DIR}/pugixml-config-version.cmake"
- "${PROJECT_BINARY_DIR}/pugixml-config.cmake"
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+ if (NOT DEFINED PUGIXML_LIBRARY_COMPONENT)
+ set(PUGIXML_LIBRARY_COMPONENT Library)
+ endif()
-install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+ if (NOT DEFINED PUGIXML_DEVELOPMENT_COMPONENT)
+ set(PUGIXML_DEVELOPMENT_COMPONENT Development)
+ endif()
-install(
- FILES
- "${PROJECT_SOURCE_DIR}/src/pugiconfig.hpp"
- "${PROJECT_SOURCE_DIR}/src/pugixml.hpp"
- DESTINATION
- ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+ set(namelink-component)
+ if (NOT CMAKE_VERSION VERSION_LESS 3.12)
+ set(namelink-component NAMELINK_COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+ endif()
+ install(TARGETS ${install-targets}
+ EXPORT pugixml-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PUGIXML_RUNTIME_COMPONENT}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_LIBRARY_COMPONENT} ${namelink-component}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT}
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir})
+
+ install(EXPORT pugixml-targets
+ NAMESPACE pugixml::
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+
+ install(FILES
+ "${PROJECT_BINARY_DIR}/pugixml-config-version.cmake"
+ "${PROJECT_BINARY_DIR}/pugixml-config.cmake"
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+
+ install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+
+ install(
+ FILES
+ "${PROJECT_SOURCE_DIR}/src/pugiconfig.hpp"
+ "${PROJECT_SOURCE_DIR}/src/pugixml.hpp"
+ DESTINATION
+ ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
+endif()
if (PUGIXML_BUILD_TESTS)
include(CTest)