From 670305808dfa9976c10c6520b75a9cbe9df51014 Mon Sep 17 00:00:00 2001 From: "Breit, Bastian" Date: Mon, 28 Jan 2019 13:53:57 +0100 Subject: [PATCH] make pugixml build static and shared via cmake --- CMakeLists.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e8c4f59..b9f8678 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,8 @@ cmake_minimum_required(VERSION 3.0) project(pugixml VERSION 1.9) -option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) +option(BUILD_SHARED_LIBS "Build shared library" OFF) +option(BUILD_STATIC_LIBS "Build static library" ON) option(BUILD_TESTS "Build tests" OFF) option(USE_VERSIONED_LIBDIR "Use a private subdirectory to install the headers and libs" OFF) option(USE_POSTFIX "Use separate postfix for each configuration to make sure you can install multiple build outputs" OFF) @@ -39,8 +40,11 @@ endif() if(BUILD_SHARED_LIBS) add_library(pugixml SHARED ${HEADERS} ${SOURCES}) -else() - add_library(pugixml STATIC ${HEADERS} ${SOURCES}) +endif() + +if(BUILD_STATIC_LIBS) + add_library(pugixmlstatic STATIC ${HEADERS} ${SOURCES}) + set_target_properties(pugixmlstatic PROPERTIES OUTPUT_NAME pugixml) endif() # Export symbols for shared library builds @@ -68,7 +72,7 @@ if(USE_POSTFIX AND CMAKE_CONFIGURATION_TYPES) set_target_properties(pugixml PROPERTIES DEBUG_POSTFIX "_d" MINSIZEREL_POSTFIX "_m" RELWITHDEBINFO_POSTFIX "_r") endif() -install(TARGETS pugixml EXPORT pugixml-config +install(TARGETS pugixml pugixmlstatic EXPORT pugixml-config ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})