Skip to content

Commit c4cca93

Browse files
authored
PUGIXML_BUILD_APPLE_FRAMEWORK now includes framework headers (#655)
1 parent b080173 commit c4cca93

File tree

2 files changed

+28
-13
lines changed

2 files changed

+28
-13
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1-
/build/
1+
/build*/
2+
23
/.vscode/
4+
5+
.DS_Store

CMakeLists.txt

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ cmake_dependent_option(PUGIXML_BUILD_TESTS
3131
set(PUGIXML_BUILD_DEFINES CACHE STRING "Build defines for custom options")
3232
separate_arguments(PUGIXML_BUILD_DEFINES)
3333

34+
# Public headers
35+
set(PUGIXML_HEADERS
36+
${PROJECT_SOURCE_DIR}/src/pugiconfig.hpp
37+
${PROJECT_SOURCE_DIR}/src/pugixml.hpp
38+
)
39+
3440
# Technically not needed for this file. This is builtin CMAKE global variable.
3541
option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF)
3642

@@ -106,7 +112,8 @@ set(libs)
106112
if (BUILD_SHARED_LIBS)
107113
add_library(pugixml-shared SHARED
108114
${PROJECT_SOURCE_DIR}/scripts/pugixml_dll.rc
109-
${PROJECT_SOURCE_DIR}/src/pugixml.cpp)
115+
${PROJECT_SOURCE_DIR}/src/pugixml.cpp
116+
${PUGIXML_HEADERS})
110117
add_library(pugixml::shared ALIAS pugixml-shared)
111118
list(APPEND libs pugixml-shared)
112119
string(CONCAT pugixml.msvc $<OR:
@@ -135,7 +142,8 @@ endif()
135142

136143
if (NOT BUILD_SHARED_LIBS OR PUGIXML_BUILD_SHARED_AND_STATIC_LIBS)
137144
add_library(pugixml-static STATIC
138-
${PROJECT_SOURCE_DIR}/src/pugixml.cpp)
145+
${PROJECT_SOURCE_DIR}/src/pugixml.cpp
146+
${PUGIXML_HEADERS})
139147
add_library(pugixml::static ALIAS pugixml-static)
140148
list(APPEND libs pugixml-static)
141149

@@ -182,10 +190,17 @@ if (PUGIXML_BUILD_APPLE_FRAMEWORK)
182190
set_target_properties(${libs} PROPERTIES
183191
FRAMEWORK TRUE
184192
FRAMEWORK_VERSION ${PROJECT_VERSION}
185-
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.zeux.pugixml
186-
MACOSX_FRAMEWORK_IDENTIFIER com.zeux.pugixml
193+
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "github.com/zeux/pugixml"
194+
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
195+
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
196+
XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO"
197+
XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO"
198+
PUBLIC_HEADER "${PUGIXML_HEADERS}"
199+
MACOSX_FRAMEWORK_IDENTIFIER "github.com/zeux/pugixml"
187200
MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION}
188-
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR})
201+
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}
202+
MACOSX_RPATH TRUE
203+
)
189204
endif()
190205

191206
configure_package_config_file(
@@ -249,7 +264,8 @@ if(PUGIXML_INSTALL)
249264
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_LIBRARY_COMPONENT} ${namelink-component}
250265
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT}
251266
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir}
252-
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime OPTIONAL)
267+
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime OPTIONAL
268+
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
253269

254270
install(EXPORT pugixml-targets
255271
NAMESPACE pugixml::
@@ -263,12 +279,8 @@ if(PUGIXML_INSTALL)
263279
install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc
264280
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
265281

266-
install(
267-
FILES
268-
"${PROJECT_SOURCE_DIR}/src/pugiconfig.hpp"
269-
"${PROJECT_SOURCE_DIR}/src/pugixml.hpp"
270-
DESTINATION
271-
${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
282+
install(FILES ${PUGIXML_HEADERS}
283+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${versioned-dir} COMPONENT ${PUGIXML_DEVELOPMENT_COMPONENT})
272284
endif()
273285

274286
if (PUGIXML_BUILD_TESTS)

0 commit comments

Comments
 (0)