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