1 MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") 2 MESSAGE(STATUS "AVIDEMUX_INSTALL_DIR: ${AVIDEMUX_INSTALL_DIR}") 3 4IF(WIN32) 5 IF(NOT AVIDEMUX_INSTALL_DIR ) 6 MESSAGE(FATAL_ERROR "Please define AVIDEMUX_INSTALL_DIR using -DAVIDEMUX_INSTALL_DIR=foobar") 7 ENDIF(NOT AVIDEMUX_INSTALL_DIR ) 8 9 SET(AVIDEMUX_BIN_DIR ${AVIDEMUX_INSTALL_DIR}) 10 SET(AVIDEMUX_LIB_DIR ${AVIDEMUX_INSTALL_DIR}) 11 SET(AVIDEMUX_RELATIVE_LIB_DIR "") 12ELSE(WIN32) 13# Unix 14 IF(NOT AVIDEMUX_INSTALL_DIR ) 15 SET(AVIDEMUX_INSTALL_DIR "/usr/local") 16 MESSAGE(STATUS "No install dir provided, using /usr/local") 17 ENDIF(NOT AVIDEMUX_INSTALL_DIR ) 18 SET(AVIDEMUX_BIN_DIR ${AVIDEMUX_INSTALL_DIR}/bin) 19 IF(CMAKE_C_IMPLICIT_LINK_DIRECTORIES MATCHES "\\/lib64([; ]|$)") 20 SET(AVIDEMUX_RELATIVE_LIB_DIR lib64) 21 ELSEIF(CMAKE_C_IMPLICIT_LINK_DIRECTORIES MATCHES "\\/lib32([; ]|$)") 22 SET(AVIDEMUX_RELATIVE_LIB_DIR lib32) 23 ELSE(CMAKE_C_IMPLICIT_LINK_DIRECTORIES MATCHES "\\/lib64([; ]|$)") 24 SET(AVIDEMUX_RELATIVE_LIB_DIR lib) 25 ENDIF(CMAKE_C_IMPLICIT_LINK_DIRECTORIES MATCHES "\\/lib64([; ]|$)") 26 SET(AVIDEMUX_LIB_DIR ${AVIDEMUX_INSTALL_DIR}/${AVIDEMUX_RELATIVE_LIB_DIR}) 27ENDIF(WIN32) 28SET(AVIDEMUX_INCLUDE_DIR ${AVIDEMUX_INSTALL_DIR}/include) 29# 30IF(NOT FAKEROOT) 31 SET(AVIDEMUX_FAKEROOT "") 32else(NOT FAKEROOT) 33 SET(AVIDEMUX_FAKEROOT "${FAKEROOT}/") 34endif(NOT FAKEROOT) 35SET(AVIDEMUX_SEARCH_INCLUDE_DIR ${AVIDEMUX_FAKEROOT}${AVIDEMUX_INCLUDE_DIR}) 36SET(AVIDEMUX_SEARCH_LIB_DIR ${AVIDEMUX_FAKEROOT}${AVIDEMUX_LIB_DIR}) 37# 38MESSAGE(STATUS "FAKEROOT : ${AVIDEMUX_FAKEROOT}") 39MESSAGE(STATUS "AVIDEMUX_BIN_DIR : ${AVIDEMUX_BIN_DIR}") 40MESSAGE(STATUS "AVIDEMUX_LIB_DIR : ${AVIDEMUX_LIB_DIR}") 41MESSAGE(STATUS "AVIDEMUX_INCLUDE_DIR : ${AVIDEMUX_INCLUDE_DIR}") 42MESSAGE(STATUS "AVIDEMUX_SEARCH_INCLUDE_DIR: ${AVIDEMUX_SEARCH_INCLUDE_DIR}") 43MESSAGE(STATUS "AVIDEMUX_SEARCH_LIB_DIR : ${AVIDEMUX_SEARCH_LIB_DIR}") 44# 45# MACRO TO INSTALL REGULAR LIBS 46# 47MACRO(ADM_INSTALL_LIB lib) 48 INSTALL(TARGETS ${lib} RUNTIME 49 DESTINATION ${AVIDEMUX_BIN_DIR} COMPONENT runtime 50 LIBRARY DESTINATION ${AVIDEMUX_LIB_DIR} COMPONENT runtime 51 ARCHIVE DESTINATION ${AVIDEMUX_LIB_DIR} COMPONENT dev 52 ) 53ENDMACRO(ADM_INSTALL_LIB ) 54 55MACRO (ADM_INSTALL_LIB_FILES files) 56 INSTALL(FILES ${files} 57 DESTINATION ${AVIDEMUX_LIB_DIR} 58 PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE 59 COMPONENT runtime 60 ) 61ENDMACRO (ADM_INSTALL_LIB_FILES) 62 63# 64# MACRO TO INSTALL REGULAR BIN 65# 66MACRO(ADM_INSTALL_BIN lib) 67 INSTALL(TARGETS ${lib} RUNTIME 68 DESTINATION ${AVIDEMUX_BIN_DIR} COMPONENT runtime 69 LIBRARY DESTINATION ${AVIDEMUX_LIB_DIR} COMPONENT runtime 70 ARCHIVE DESTINATION ${AVIDEMUX_LIB_DIR} COMPONENT runtime 71 ) 72ENDMACRO(ADM_INSTALL_BIN ) 73# 74# Macro to install include folder 75# 76MACRO(ADM_INSTALL_INCLUDE_FOLDER folder targetName) 77 INSTALL(DIRECTORY ${folder} 78 DESTINATION ${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/${targetName} 79 COMPONENT dev 80 FILES_MATCHING PATTERN "*.h*" 81 PATTERN "*.asm" 82 ) 83ENDMACRO(ADM_INSTALL_INCLUDE_FOLDER ) 84## 85# 86# Macro to install include folder 87# 88MACRO(ADM_INSTALL_QT_INCLUDE_FOLDER folder targetName) 89 INSTALL(DIRECTORY ${folder} 90 DESTINATION ${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/${QT_EXTENSION}/${targetName} 91 COMPONENT dev 92 FILES_MATCHING PATTERN "*.h*" 93 ) 94ENDMACRO(ADM_INSTALL_QT_INCLUDE_FOLDER ) 95## 96# 97# Macro to install cmake folder 98# 99MACRO(ADM_INSTALL_CMAKE_FOLDER folder targetName) 100 INSTALL(DIRECTORY ${folder} 101 DESTINATION ${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/${targetName} 102 COMPONENT dev 103 FILES_MATCHING PATTERN "*.cmake*" 104 ) 105ENDMACRO(ADM_INSTALL_CMAKE_FOLDER ) 106# 107# 108# Macro to install cmake folder 109# 110MACRO(ADM_INSTALL_CMAKE_HELPER_FOLDER folder targetName) 111 INSTALL(DIRECTORY ${folder} 112 DESTINATION ${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/cmake/${targetName} 113 COMPONENT dev 114 FILES_MATCHING PATTERN "*.[cir]*" 115 ) 116ENDMACRO(ADM_INSTALL_CMAKE_HELPER_FOLDER ) 117# 118# Macro to install include folder 119# 120MACRO(ADM_INSTALL_APP_HEADER folder ) 121 INSTALL(FILE ${folder} ${ARGN} 122 DESTINATION ${AVIDEMUX_INCLUDE_DIR}/avidemux/${AVIDEMUX_MAJOR_MINOR}/ADM_app 123 COMPONENT dev 124 ) 125ENDMACRO(ADM_INSTALL_APP_HEADER folder) 126# 127