Merge pull request #1168 from Young-X/fix_dev
[openjpeg.git] / cmake / OpenJPEGCPack.cmake
1 # package bundler
2 if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
3   if(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
4     set(CMAKE_INSTALL_MFC_LIBRARIES 0)
5     set(CMAKE_INSTALL_DEBUG_LIBRARIES 0)
6     if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
7       set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
8     endif()
9     include(${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake)
10   endif()
11
12   set(OPJ_PACKAGE_DESCRIPTION_SUMMARY "OpenJPEG - OpenJPEG a JPEG 2000 implementation.")
13   set(OPJ_PACKAGE_CONTACT "openjpeg users <openjpeg@googlegroups.com>")
14
15   set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${OPJ_PACKAGE_DESCRIPTION_SUMMARY})
16   set(CPACK_PACKAGE_VENDOR           "OpenJPEG Team")
17   configure_file("${CMAKE_CURRENT_SOURCE_DIR}/LICENSE"
18     "${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt" COPYONLY
19     )
20   # For PackageMaker on MacOSX it is important to have a file extension:
21   set(CPACK_PACKAGE_DESCRIPTION_FILE    "${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt")
22   set(CPACK_RESOURCE_FILE_LICENSE    "${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt")
23   set(CPACK_PACKAGE_VERSION_MAJOR    "${OPENJPEG_VERSION_MAJOR}")
24   set(CPACK_PACKAGE_VERSION_MINOR    "${OPENJPEG_VERSION_MINOR}")
25   set(CPACK_PACKAGE_VERSION_PATCH    "${OPENJPEG_VERSION_BUILD}")
26   set(CPACK_PACKAGE_INSTALL_DIRECTORY "OpenJPEG ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
27   set(CPACK_SOURCE_PACKAGE_FILE_NAME  "openjpeg-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
28
29   # Make this explicit here, rather than accepting the CPack default value,
30   # so we can refer to it:
31   set(CPACK_PACKAGE_NAME "${OPENJPEG_LIBRARY_NAME}")
32
33   if(NOT DEFINED CPACK_SYSTEM_NAME)
34     # make sure package is not Cygwin-unknown, for Cygwin just
35     # cygwin is good for the system name
36     if("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
37       set(CPACK_SYSTEM_NAME Cygwin)
38     else()
39       set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
40     endif()
41   endif()
42   if(${CPACK_SYSTEM_NAME} MATCHES Windows)
43     if(CMAKE_CL_64)
44       set(CPACK_SYSTEM_NAME win64-x64)
45     else()
46       set(CPACK_SYSTEM_NAME win32-x86)
47     endif()
48   endif()
49
50   if(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
51     # if the CPACK_PACKAGE_FILE_NAME is not defined by the cache
52     # default to source package - system, on cygwin system is not
53     # needed
54     if(CYGWIN)
55       set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
56     else()
57       set(CPACK_PACKAGE_FILE_NAME
58         "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
59     endif()
60   endif()
61
62   set(CPACK_BUNDLE_NAME "OpenJPEG ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
63   if(APPLE)
64     configure_file(${CMAKE_ROOT}/Templates/AppleInfo.plist
65       ${CMAKE_CURRENT_BINARY_DIR}/opj.plist)
66     set(CPACK_BUNDLE_PLIST
67       ${CMAKE_CURRENT_BINARY_DIR}/opj.plist)
68     #include(BundleUtilities)
69   endif()
70
71   include(CPack)
72 endiF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")