@@ -61,7 +61,12 @@ install(
61
61
PATTERN "*.prf"
62
62
)
63
63
64
- ### SWIG
64
+ ### Bindings with SWIG
65
+ if (DISABLE_BINDINGS )
66
+ message ("Bindings disabled, will not build bindings." )
67
+ return ()
68
+ endif ()
69
+
65
70
find_package (SWIG )
66
71
if (SWIG_FOUND )
67
72
# Load Modules/UseSWIG.cmake
@@ -73,76 +78,84 @@ if(SWIG_FOUND)
73
78
set_source_files_properties (${AVTRANSCODER_BINDING_FILE} PROPERTIES CPLUSPLUS ON )
74
79
75
80
### PYTHON BINDING
76
- find_package (PythonLibs )
77
- if (PYTHONLIBS_FOUND )
78
- include_directories (${PYTHON_INCLUDE_PATH} )
79
-
80
- # Swig flags
81
- set (CMAKE_SWIG_FLAGS -c++ -fcompact )
82
-
83
- # Create '_avtranscoder' shared lib (python)
84
- swig_add_module (avtranscoder-py python ${AVTRANSCODER_BINDING_FILE} )
85
- # For Python binding, need to compile the wrapper into a lib called "_<module_name>.so"
86
- set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES OUTPUT_NAME _avtranscoder )
87
- if (NOT APPLE AND NOT WIN32 )
88
- set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
89
- set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
90
- endif ()
91
- swig_link_libraries (avtranscoder-py avtranscoder-shared ${PYTHON_LIBRARIES} )
92
-
93
- # Install python interface
94
- set (AVTRANSCODER_PYTHON_BINDING_FILE "${CMAKE_SWIG_OUTDIR} /avtranscoder.py" )
95
- set (AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR "lib/python${PYTHONLIBS_VERSION_STRING} /site-packages/pyAvTranscoder/" )
96
- install (
97
- FILES ${AVTRANSCODER_PYTHON_BINDING_FILE} ${AVTRANSCODER_PYTHON_INIT_FILE}
98
- DESTINATION ${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR}
99
- )
100
- # Install __init__.py
101
- install (CODE "file(WRITE ${CMAKE_INSTALL_PREFIX} /${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR} /__init__.py)" )
81
+ if (DISABLE_PYTHON_BINDING )
82
+ message ("PYTHON binding disabled, will not build python binding." )
102
83
else ()
103
- message ("PYTHON not found, will not build python binding." )
104
- endif ()
84
+ find_package (PythonLibs )
85
+ if (PYTHONLIBS_FOUND )
86
+ include_directories (${PYTHON_INCLUDE_PATH} )
87
+
88
+ # Swig flags
89
+ set (CMAKE_SWIG_FLAGS -c++ -fcompact )
90
+
91
+ # Create '_avtranscoder' shared lib (python)
92
+ swig_add_module (avtranscoder-py python ${AVTRANSCODER_BINDING_FILE} )
93
+ # For Python binding, need to compile the wrapper into a lib called "_<module_name>.so"
94
+ set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES OUTPUT_NAME _avtranscoder )
95
+ if (NOT APPLE AND NOT WIN32 )
96
+ set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
97
+ set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
98
+ endif ()
99
+ swig_link_libraries (avtranscoder-py avtranscoder-shared ${PYTHON_LIBRARIES} )
100
+
101
+ # Install python interface
102
+ set (AVTRANSCODER_PYTHON_BINDING_FILE "${CMAKE_SWIG_OUTDIR} /avtranscoder.py" )
103
+ set (AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR "lib/python${PYTHONLIBS_VERSION_STRING} /site-packages/pyAvTranscoder/" )
104
+ install (
105
+ FILES ${AVTRANSCODER_PYTHON_BINDING_FILE} ${AVTRANSCODER_PYTHON_INIT_FILE}
106
+ DESTINATION ${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR}
107
+ )
108
+ # Install __init__.py
109
+ install (CODE "file(WRITE ${CMAKE_INSTALL_PREFIX} /${AVTRANSCODER_PYTHON_MODULE_OUTPUT_DIR} /__init__.py)" )
110
+ else ()
111
+ message ("PYTHON not found, will not build python binding." )
112
+ endif ()
113
+ endif ()
105
114
106
115
### JAVA BINDING
107
- find_package (Java )
108
- find_package (JNI )
109
- if (JAVA_FOUND AND JNI_FOUND )
110
- include (UseJava )
111
- include_directories (${JAVA_INCLUDE_PATH} )
112
- include_directories (${JNI_INCLUDE_DIRS} )
113
-
114
- # Swig flags
115
- set (CMAKE_SWIG_FLAGS -c++ -fcompact -package org.avtranscoder )
116
-
117
- # Create 'avtranscoder-java' shared lib
118
- swig_add_module (avtranscoder-java java ${AVTRANSCODER_BINDING_FILE} )
119
- if (WIN32 )
120
- set_target_properties (avtranscoder-java PROPERTIES OUTPUT_NAME "avtranscoder-java-${AVTRANSCODER_VERSION} " )
121
- endif ()
122
- if (NOT APPLE AND NOT WIN32 )
123
- set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
124
- set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
125
- endif ()
126
- swig_link_libraries (avtranscoder-java avtranscoder-shared )
127
-
128
- # Post build of java binding : compile java files (generate class files) and create jar
129
- set (AVTRANSCODER_JAVA_OUTPUT_PATH "${PROJECT_BINARY_DIR} /src/AvTranscoder" )
130
- set (AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH "${AVTRANSCODER_JAVA_OUTPUT_PATH} /target" )
131
- set (AVTRANSCODER_JAR_PATH "${PROJECT_BINARY_DIR} /src" )
132
- set (AVTRANSCODER_JAR_NAME "avtranscoder-${AVTRANSCODER_VERSION} .jar" )
133
- execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} )
116
+ if (DISABLE_JAVA_BINDING )
117
+ message ("JAVA binding disabled, will not build java binding." )
118
+ else ()
119
+ find_package (Java )
120
+ find_package (JNI )
121
+ if (JAVA_FOUND AND JNI_FOUND )
122
+ include (UseJava )
123
+ include_directories (${JAVA_INCLUDE_PATH} )
124
+ include_directories (${JNI_INCLUDE_DIRS} )
125
+
126
+ # Swig flags
127
+ set (CMAKE_SWIG_FLAGS -c++ -fcompact -package org.avtranscoder )
128
+
129
+ # Create 'avtranscoder-java' shared lib
130
+ swig_add_module (avtranscoder-java java ${AVTRANSCODER_BINDING_FILE} )
131
+ if (WIN32 )
132
+ set_target_properties (avtranscoder-java PROPERTIES OUTPUT_NAME "avtranscoder-java-${AVTRANSCODER_VERSION} " )
133
+ endif ()
134
+ if (NOT APPLE AND NOT WIN32 )
135
+ set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
136
+ set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
137
+ endif ()
138
+ swig_link_libraries (avtranscoder-java avtranscoder-shared )
139
+
140
+ # Post build of java binding : compile java files (generate class files) and create jar
141
+ set (AVTRANSCODER_JAVA_OUTPUT_PATH "${PROJECT_BINARY_DIR} /src/AvTranscoder" )
142
+ set (AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH "${AVTRANSCODER_JAVA_OUTPUT_PATH} /target" )
143
+ set (AVTRANSCODER_JAR_PATH "${PROJECT_BINARY_DIR} /src" )
144
+ set (AVTRANSCODER_JAR_NAME "avtranscoder-${AVTRANSCODER_VERSION} .jar" )
145
+ execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} )
134
146
135
- ADD_CUSTOM_COMMAND (
136
- TARGET avtranscoder-java
137
- POST_BUILD
138
- COMMAND ${Java_JAVAC_EXECUTABLE} "-d" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "\" ${AVTRANSCODER_JAVA_OUTPUT_PATH} \" /*.java"
139
- COMMAND ${Java_JAR_EXECUTABLE} cf ${AVTRANSCODER_JAR_NAME} "-C" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "."
140
- )
141
-
142
- # Install jar file
143
- install (FILES ${AVTRANSCODER_JAR_PATH} /${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/" )
144
- else ()
145
- message ("JAVA not found, will not build java binding." )
147
+ ADD_CUSTOM_COMMAND (
148
+ TARGET avtranscoder-java
149
+ POST_BUILD
150
+ COMMAND ${Java_JAVAC_EXECUTABLE} "-d" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "\" ${AVTRANSCODER_JAVA_OUTPUT_PATH} \" /*.java"
151
+ COMMAND ${Java_JAR_EXECUTABLE} cf ${AVTRANSCODER_JAR_NAME} "-C" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "."
152
+ )
153
+
154
+ # Install jar file
155
+ install (FILES ${AVTRANSCODER_JAR_PATH} /${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/" )
156
+ else ()
157
+ message ("JAVA not found, will not build java binding." )
158
+ endif ()
146
159
endif ()
147
160
148
161
else (SWIG_FOUND )
0 commit comments