-
-STRING(TOLOWER ${PROJECT_NAME} projectname)
-SET(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}")
-
-IF(NOT OPENJPEG_INSTALL_BIN_DIR)
- SET(OPENJPEG_INSTALL_BIN_DIR "bin")
-ENDIF(NOT OPENJPEG_INSTALL_BIN_DIR)
-
-IF(NOT OPENJPEG_INSTALL_LIB_DIR)
- SET(OPENJPEG_INSTALL_LIB_DIR "lib")
-ENDIF(NOT OPENJPEG_INSTALL_LIB_DIR)
-
-IF(NOT OPENJPEG_INSTALL_DATA_DIR)
- SET(OPENJPEG_INSTALL_DATA_DIR "share/${OPENJPEG_INSTALL_SUBDIR}")
-ENDIF(NOT OPENJPEG_INSTALL_DATA_DIR)
-
-IF(NOT OPENJPEG_INSTALL_INCLUDE_DIR)
- SET(OPENJPEG_INSTALL_INCLUDE_DIR "include/")
-ENDIF(NOT OPENJPEG_INSTALL_INCLUDE_DIR)
-
-IF(NOT OPENJPEG_INSTALL_MAN_DIR)
- SET(OPENJPEG_INSTALL_MAN_DIR "share/man/")
-ENDIF(NOT OPENJPEG_INSTALL_MAN_DIR)
-
-IF(NOT OPENJPEG_INSTALL_DOC_DIR)
- SET(OPENJPEG_INSTALL_DOC_DIR "share/doc/${OPENJPEG_INSTALL_SUBDIR}")
-ENDIF(NOT OPENJPEG_INSTALL_DOC_DIR)
-
-IF(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
- SET(OPENJPEG_INSTALL_PACKAGE_DIR ${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}
- CACHE INTERNAL "")
-ENDIF(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
+# Build DOCUMENTATION (not in ALL target and only if Doxygen is found)
+option(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF)
+
+string(TOLOWER ${PROJECT_NAME} projectname)
+set(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}")
+
+if(NOT OPENJPEG_INSTALL_BIN_DIR)
+ set(OPENJPEG_INSTALL_BIN_DIR "bin")
+endif()
+
+if(NOT OPENJPEG_INSTALL_LIB_DIR)
+ set(OPENJPEG_INSTALL_LIB_DIR "lib")
+endif()
+
+if(NOT OPENJPEG_INSTALL_SHARE_DIR)
+ set(OPENJPEG_INSTALL_SHARE_DIR "share")
+endif()
+
+if(NOT OPENJPEG_INSTALL_DATA_DIR)
+ set(OPENJPEG_INSTALL_DATA_DIR "${OPENJPEG_INSTALL_SHARE_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
+endif()
+
+if(NOT OPENJPEG_INSTALL_INCLUDE_DIR)
+ set(OPENJPEG_INSTALL_INCLUDE_DIR "include/${OPENJPEG_INSTALL_SUBDIR}")
+endif()
+
+if(BUILD_DOC)
+if(NOT OPENJPEG_INSTALL_MAN_DIR)
+ set(OPENJPEG_INSTALL_MAN_DIR "share/man/")
+endif()
+
+if(NOT OPENJPEG_INSTALL_DOC_DIR)
+ set(OPENJPEG_INSTALL_DOC_DIR "share/doc/${OPENJPEG_INSTALL_SUBDIR}")
+endif()
+endif()
+
+if(NOT OPENJPEG_INSTALL_JNI_DIR)
+ if(WIN32)
+ set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_BIN_DIR})
+ else()
+ set(OPENJPEG_INSTALL_JNI_DIR ${OPENJPEG_INSTALL_LIB_DIR})
+ endif()
+endif()
+
+if(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
+ # We could install *.cmake files in share/ however those files contains
+ # hardcoded path to libraries on a multi-arch system (fedora/debian) those
+ # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu)
+ set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
+endif()
+
+if (APPLE)
+ if (${CMAKE_VERSION} VERSION_LESS 3.0)
+ # For cmake >= 3.0, we turn on CMP0042 and
+ # https://cmake.org/cmake/help/v3.0/policy/CMP0042.html mentions
+ # "Projects wanting @rpath in a target’s install name may remove any setting of the INSTALL_NAME_DIR and CMAKE_INSTALL_NAME_DIR variables"
+ list(APPEND OPENJPEG_LIBRARY_PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_LIB_DIR}")
+ endif()
+ option(OPJ_USE_DSYMUTIL "Call dsymutil on binaries after build." OFF)
+endif()