set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
+if(APPLE)
+ option(BUILD_FRAMEWORK "Build an OS X framework" OFF)
+ set(FRAMEWORK_INSTALL_DIR "/Library/Frameworks" CACHE STRING "Directory to install frameworks to.")
+endif()
+
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
set(tag_c_HDRS tag_c.h)
if(ENABLE_STATIC)
- add_library(tag_c STATIC tag_c.cpp)
+ add_library(tag_c STATIC tag_c.cpp ${tag_c_HDRS})
set_target_properties(tag_c PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC)
else()
- add_library(tag_c SHARED tag_c.cpp)
+ add_library(tag_c SHARED tag_c.cpp ${tag_c_HDRS})
endif()
target_link_libraries(tag_c tag)
set_target_properties(tag_c PROPERTIES PUBLIC_HEADER "${tag_c_HDRS}")
+if(BUILD_FRAMEWORK)
+ set_target_properties(tag_c PROPERTIES FRAMEWORK TRUE)
+endif()
# On Solaris we need to explicitly add the C++ standard and runtime
# libraries to the libs used by the C bindings, because those C bindings
INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
)
install(TARGETS tag_c
+ FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
endif()
if(ENABLE_STATIC)
- add_library(tag STATIC ${tag_LIB_SRCS})
+ add_library(tag STATIC ${tag_LIB_SRCS} ${tag_HDRS})
set_target_properties(tag PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC)
else()
- add_library(tag SHARED ${tag_LIB_SRCS})
+ add_library(tag SHARED ${tag_LIB_SRCS} ${tag_HDRS})
endif()
if(ZLIB_FOUND)
LINK_INTERFACE_LIBRARIES ""
PUBLIC_HEADER "${tag_HDRS}"
)
+if(BUILD_FRAMEWORK)
+ set_target_properties(tag PROPERTIES FRAMEWORK TRUE)
+endif()
install(TARGETS tag
+ FRAMEWORK DESTINATION ${FRAMEWORK_INSTALL_DIR}
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
RUNTIME DESTINATION ${BIN_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR}