From ca5e0697032e9074f1a20526122679e4af464123 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Tue, 17 Sep 2019 23:24:14 -0700 Subject: [PATCH] Added option to disable installation --- CMakeLists.txt | 23 +++++++++++++---------- src/bin/jp2/CMakeLists.txt | 10 ++++++---- src/lib/openjp2/CMakeLists.txt | 32 ++++++++++++++++++-------------- 3 files changed, 37 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f89df72..2dcd8712 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,6 +107,7 @@ endif() # Install directories # Build DOCUMENTATION (not in ALL target and only if Doxygen is found) option(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF) +option(OPENJPEG_SKIP_INSTALL "Disable openjpeg installation" ON) string(TOLOWER ${PROJECT_NAME} projectname) set(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}") @@ -334,16 +335,18 @@ if(BUILD_TESTING) endif() endif() -#----------------------------------------------------------------------------- -# install all targets referenced as OPENJPEGTargets -install(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}) -configure_file( ${${OPENJPEG_NAMESPACE}_SOURCE_DIR}/cmake/OpenJPEGConfig.cmake.in - ${${OPENJPEG_NAMESPACE}_BINARY_DIR}/OpenJPEGConfig.cmake - @ONLY -) -install( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake - DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR} -) +if(NOT OPENJPEG_SKIP_INSTALL) + #----------------------------------------------------------------------------- + # install all targets referenced as OPENJPEGTargets + install(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR}) + configure_file( ${${OPENJPEG_NAMESPACE}_SOURCE_DIR}/cmake/OpenJPEGConfig.cmake.in + ${${OPENJPEG_NAMESPACE}_BINARY_DIR}/OpenJPEGConfig.cmake + @ONLY + ) + install( FILES ${OPENJPEG_BINARY_DIR}/OpenJPEGConfig.cmake + DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR} + ) +endif() #----------------------------------------------------------------------------- # install CHANGES and LICENSE diff --git a/src/bin/jp2/CMakeLists.txt b/src/bin/jp2/CMakeLists.txt index 4d4bd952..79124f6e 100644 --- a/src/bin/jp2/CMakeLists.txt +++ b/src/bin/jp2/CMakeLists.txt @@ -65,10 +65,12 @@ foreach(exe opj_decompress opj_compress opj_dump) endif() endif() # Install exe - install(TARGETS ${exe} - EXPORT OpenJPEGTargets - DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications - ) + if(NOT OPENJPEG_SKIP_INSTALL) + install(TARGETS ${exe} + EXPORT OpenJPEGTargets + DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications + ) + endif() if(OPJ_USE_DSYMUTIL) add_custom_command(TARGET ${exe} POST_BUILD COMMAND "dsymutil" "$" diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt index ea4131a3..3ee60523 100644 --- a/src/lib/openjp2/CMakeLists.txt +++ b/src/lib/openjp2/CMakeLists.txt @@ -1,8 +1,10 @@ include_regular_expression("^.*$") # -install( FILES ${CMAKE_CURRENT_BINARY_DIR}/opj_config.h - DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers) +if(NOT OPENJPEG_SKIP_INSTALL) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/opj_config.h + DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers) +endif() include_directories( ${${OPENJPEG_NAMESPACE}_BINARY_DIR}/src/lib/openjp2 # opj_config.h and opj_config_private.h @@ -114,18 +116,20 @@ if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12") target_compile_options(${OPENJPEG_LIBRARY_NAME} PRIVATE ${OPENJP2_COMPILE_OPTIONS}) endif() -# Install library -install(TARGETS ${INSTALL_LIBS} - EXPORT OpenJPEGTargets - RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications - LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries - ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries -) - -# Install includes files -install(FILES openjpeg.h opj_stdint.h - DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers -) +if(NOT OPENJPEG_SKIP_INSTALL) + # Install library + install(TARGETS ${INSTALL_LIBS} + EXPORT OpenJPEGTargets + RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications + LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries + ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries + ) + + # Install includes files + install(FILES openjpeg.h opj_stdint.h + DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers + ) +endif() if(BUILD_DOC) # install man page of the library