mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-02-03 02:37:41 +01:00
Issue #25: Install target
This commit is contained in:
parent
0c4b5fbc82
commit
6bef6b9f05
@ -21,15 +21,28 @@ set(PDF4QT_VERSION 1.2.2)
|
||||
|
||||
project(PDF4QT VERSION ${PDF4QT_VERSION} LANGUAGES CXX)
|
||||
|
||||
option(PDF4QT_INSTALL_DEPENDENCIES "Install dependencies" ON)
|
||||
option(PDF4QT_INSTALL_QT_DEPENDENCIES "Instal Qt dependencies" ON)
|
||||
|
||||
if(WIN32 AND MSVC)
|
||||
option(PDF4QT_INSTALL_MSVC_REDISTRIBUTABLE "Install MSVC redistributable package" ON)
|
||||
endif()
|
||||
|
||||
set(PDF4QT_QT_ROOT "" CACHE PATH "Qt root directory")
|
||||
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "Installation directory" FORCE)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech OpenGLWidgets Test)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech OpenGL OpenGLWidgets Multimedia Network Test)
|
||||
qt_standard_project_setup()
|
||||
|
||||
find_package(openssl REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(lcms REQUIRED)
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(freetype CONFIG REQUIRED)
|
||||
@ -44,7 +57,7 @@ set(CMAKE_AUTORCC_OPTIONS "--threshold;0;--compress;9")
|
||||
|
||||
if (MSVC)
|
||||
add_compile_options(/bigobj)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
add_subdirectory(Pdf4QtLib)
|
||||
add_subdirectory(CodeGenerator)
|
||||
@ -62,6 +75,68 @@ add_subdirectory(Pdf4QtDocDiff)
|
||||
message("CMAKE_PREFIX_PATH = " ${CMAKE_PREFIX_PATH})
|
||||
message("CMAKE_TOOLCHAIN_FILE = " ${CMAKE_TOOLCHAIN_FILE})
|
||||
|
||||
if(PDF4QT_INSTALL_DEPENDENCIES)
|
||||
install(DIRECTORY ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin/
|
||||
TYPE BIN
|
||||
FILES_MATCHING
|
||||
PATTERN "*.dll"
|
||||
PATTERN "*.so"
|
||||
PATTERN "*.dylib"
|
||||
)
|
||||
|
||||
if(PDF4QT_INSTALL_QT_DEPENDENCIES)
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/bin/
|
||||
RUNTIME DESTINATION bin/
|
||||
FILES_MATCHING
|
||||
REGEX "(Qt6Core|Qt6Gui|Qt6PrintSupport|Qt6Svg|Qt6TextToSpeech|Qt6Widgets|Qt6Xml|Qt6OpenGL|Qt6OpenGLWidgets|Qt6Multimedia|Qt6Network)\\..*"
|
||||
PATTERN "Debug" EXCLUDE
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/plugins/platforms/
|
||||
RUNTIME DESTINATION bin/platforms/
|
||||
FILES_MATCHING
|
||||
PATTERN "qwindows.dll"
|
||||
PATTERN "*.so"
|
||||
PATTERN "*.dylib"
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/plugins/iconengines/
|
||||
RUNTIME DESTINATION bin/iconengines/
|
||||
FILES_MATCHING
|
||||
REGEX "qsvgicon\\..*"
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/plugins/imageformats/
|
||||
RUNTIME DESTINATION bin/imageformats/
|
||||
FILES_MATCHING
|
||||
PATTERN "*.dll"
|
||||
PATTERN "*.so"
|
||||
PATTERN "*.dylib"
|
||||
REGEX "d\\..*" EXCLUDE
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/plugins/styles/
|
||||
RUNTIME DESTINATION bin/styles/
|
||||
FILES_MATCHING
|
||||
PATTERN "*.dll"
|
||||
PATTERN "*.so"
|
||||
PATTERN "*.dylib"
|
||||
REGEX "d\\..*" EXCLUDE
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PDF4QT_QT_ROOT}/plugins/texttospeech/
|
||||
RUNTIME DESTINATION bin/texttospeech/
|
||||
FILES_MATCHING
|
||||
PATTERN "*.dll"
|
||||
PATTERN "*.so"
|
||||
PATTERN "*.dylib"
|
||||
REGEX "d\\..*" EXCLUDE
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32 AND MSVC AND PDF4QT_INSTALL_MSVC_REDISTRIBUTABLE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#macro(dump_variables)
|
||||
# message(STATUS "dump_variables------------------------------------------{")
|
||||
|
@ -37,3 +37,4 @@ set_target_properties(Pdf4QtDocDiff PROPERTIES
|
||||
MACOSX_BUNDLE ON
|
||||
)
|
||||
|
||||
install(TARGETS Pdf4QtDocDiff)
|
||||
|
@ -38,3 +38,4 @@ set_target_properties(Pdf4QtDocPageOrganizer PROPERTIES
|
||||
MACOSX_BUNDLE ON
|
||||
)
|
||||
|
||||
install(TARGETS Pdf4QtDocPageOrganizer)
|
||||
|
@ -123,3 +123,4 @@ set_target_properties(Pdf4QtLib PROPERTIES
|
||||
VERSION ${PDF4QT_VERSION}
|
||||
SOVERSION ${PDF4QT_VERSION})
|
||||
|
||||
install(TARGETS Pdf4QtLib)
|
||||
|
@ -70,5 +70,4 @@ PDFPluginInfo PDFPluginInfo::loadFromJson(const QJsonObject* json)
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
} // namespace pdf
|
||||
|
@ -62,3 +62,5 @@ target_include_directories(Pdf4QtViewer PUBLIC ${CMAKE_BINARY_DIR}/${INSTALL_INC
|
||||
set_target_properties(Pdf4QtLib PROPERTIES
|
||||
VERSION ${PDF4QT_VERSION}
|
||||
SOVERSION ${PDF4QT_VERSION})
|
||||
|
||||
install(TARGETS Pdf4QtViewer)
|
||||
|
@ -27,4 +27,4 @@ set_target_properties(Pdf4QtViewerLite PROPERTIES
|
||||
MACOSX_BUNDLE ON
|
||||
)
|
||||
|
||||
|
||||
install(TARGETS Pdf4QtViewerLite)
|
||||
|
@ -31,3 +31,4 @@ set_target_properties(AudioBookPlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS AudioBookPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -31,3 +31,4 @@ set_target_properties(DimensionsPlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS DimensionsPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -37,3 +37,4 @@ set_target_properties(ObjectInspectorPlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS ObjectInspectorPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -33,3 +33,4 @@ set_target_properties(OutputPreviewPlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS OutputPreviewPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -30,3 +30,4 @@ set_target_properties(RedactPlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS RedactPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -31,4 +31,4 @@ set_target_properties(SignaturePlugin PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
|
||||
install(TARGETS SignaturePlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -29,3 +29,5 @@ set_target_properties(SoftProofingPlugin PROPERTIES
|
||||
SOVERSION ${PDF4QT_VERSION}
|
||||
LIBRARY_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${PDF4QT_PLUGINS_DIR})
|
||||
|
||||
install(TARGETS SoftProofingPlugin RUNTIME DESTINATION bin/pdfplugins/)
|
||||
|
@ -27,4 +27,4 @@ set_target_properties(Pdf4QtViewerProfi PROPERTIES
|
||||
MACOSX_BUNDLE ON
|
||||
)
|
||||
|
||||
|
||||
install(TARGETS Pdf4QtViewerProfi)
|
||||
|
@ -47,3 +47,5 @@ add_executable(PdfTool
|
||||
)
|
||||
|
||||
target_link_libraries(PdfTool PRIVATE Pdf4QtLib Qt6::Core Qt6::Gui Qt6::Xml)
|
||||
|
||||
install(TARGETS PdfTool)
|
||||
|
Loading…
x
Reference in New Issue
Block a user