@@ -58,54 +58,62 @@ if(SWIG_FOUND)
58
58
59
59
### PYTHON BINDING
60
60
find_package (PythonLibs )
61
- include_directories (${PYTHON_INCLUDE_PATH} )
62
-
63
- # Swig flags
64
- set (CMAKE_SWIG_FLAGS -c++ -fcompact )
65
-
66
- # Create 'avtranscoder-py' shared lib
67
- swig_add_module (avtranscoder-py python ${AVTRANSCODER_BINDING_FILE} )
68
- set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
69
- set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
70
- swig_link_libraries (avtranscoder-py avtranscoder-shared ${PYTHON_LIBRARIES} )
71
-
72
- # Install python interface
73
- file (GLOB AVTRANSCODER_PYTHON_BINDING_FILE "${CMAKE_SWIG_OUTDIR} /*.py" )
74
- install (
75
- FILES ${AVTRANSCODER_PYTHON_BINDING_FILE}
76
- RENAME "avtranscoder.py"
77
- DESTINATION "lib/python2.7/site-packages/avtranscoder/"
78
- )
61
+ if (PYTHONLIBS_FOUND )
62
+ include_directories (${PYTHON_INCLUDE_PATH} )
63
+
64
+ # Swig flags
65
+ set (CMAKE_SWIG_FLAGS -c++ -fcompact )
66
+
67
+ # Create 'avtranscoder-py' shared lib
68
+ swig_add_module (avtranscoder-py python ${AVTRANSCODER_BINDING_FILE} )
69
+ set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
70
+ set_target_properties (${SWIG_MODULE_avtranscoder-py_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
71
+ swig_link_libraries (avtranscoder-py avtranscoder-shared ${PYTHON_LIBRARIES} )
72
+
73
+ # Install python interface
74
+ file (GLOB AVTRANSCODER_PYTHON_BINDING_FILE "${CMAKE_SWIG_OUTDIR} /*.py" )
75
+ install (
76
+ FILES ${AVTRANSCODER_PYTHON_BINDING_FILE}
77
+ RENAME "avtranscoder.py"
78
+ DESTINATION "lib/python2.7/site-packages/avtranscoder/"
79
+ )
80
+ else ()
81
+ message ("PYTHON not found, will not build python binding." )
82
+ endif ()
79
83
80
84
### JAVA BINDING
81
- find_package (Java REQUIRED )
82
- find_package (JNI REQUIRED )
83
- include (UseJava )
84
- include_directories (${JAVA_INCLUDE_PATH} )
85
- include_directories (${JNI_INCLUDE_DIRS} )
86
-
87
- # Swig flags
88
- set (CMAKE_SWIG_FLAGS -c++ -fcompact -package org.AvTranscoder )
89
-
90
- # Create 'avtranscoder-java' shared lib
91
- swig_add_module (avtranscoder-java java ${AVTRANSCODER_BINDING_FILE} )
92
- set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
93
- set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
94
- swig_link_libraries (avtranscoder-java avtranscoder-shared )
95
-
96
- # Post build of java binding : compile java files (generate class files) and create jar
97
- set (AVTRANSCODER_JAVA_OUTPUT_PATH "${PROJECT_BINARY_DIR} /src/AvTranscoder" )
98
- set (AVTRANSCODER_JAR_PATH "${PROJECT_BINARY_DIR} /src" )
99
- set (AVTRANSCODER_JAR_NAME "avtranscoder.jar" )
100
- ADD_CUSTOM_COMMAND (
101
- TARGET avtranscoder-java
102
- POST_BUILD
103
- COMMAND ${Java_JAVAC_EXECUTABLE} ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "${AVTRANSCODER_JAVA_OUTPUT_PATH} /*.java"
104
- COMMAND ${Java_JAR_EXECUTABLE} cvf ${AVTRANSCODER_JAR_NAME} "${AVTRANSCODER_JAVA_OUTPUT_PATH} /*.class"
105
- )
106
-
107
- # Install jar file
108
- install (FILES ${AVTRANSCODER_JAR_PATH} /${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/" )
85
+ find_package (Java )
86
+ find_package (JNI )
87
+ if (JAVA_FOUND AND JNI_FOUND )
88
+ include (UseJava )
89
+ include_directories (${JAVA_INCLUDE_PATH} )
90
+ include_directories (${JNI_INCLUDE_DIRS} )
91
+
92
+ # Swig flags
93
+ set (CMAKE_SWIG_FLAGS -c++ -fcompact -package org.AvTranscoder )
94
+
95
+ # Create 'avtranscoder-java' shared lib
96
+ swig_add_module (avtranscoder-java java ${AVTRANSCODER_BINDING_FILE} )
97
+ set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES SOVERSION ${AVTRANSCODER_VERSION_MAJOR} )
98
+ set_target_properties (${SWIG_MODULE_avtranscoder-java_REAL_NAME} PROPERTIES VERSION ${AVTRANSCODER_VERSION} )
99
+ swig_link_libraries (avtranscoder-java avtranscoder-shared )
100
+
101
+ # Post build of java binding : compile java files (generate class files) and create jar
102
+ set (AVTRANSCODER_JAVA_OUTPUT_PATH "${PROJECT_BINARY_DIR} /src/AvTranscoder" )
103
+ set (AVTRANSCODER_JAR_PATH "${PROJECT_BINARY_DIR} /src" )
104
+ set (AVTRANSCODER_JAR_NAME "avtranscoder.jar" )
105
+ ADD_CUSTOM_COMMAND (
106
+ TARGET avtranscoder-java
107
+ POST_BUILD
108
+ COMMAND ${Java_JAVAC_EXECUTABLE} ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "${AVTRANSCODER_JAVA_OUTPUT_PATH} /*.java"
109
+ COMMAND ${Java_JAR_EXECUTABLE} cvf ${AVTRANSCODER_JAR_NAME} "${AVTRANSCODER_JAVA_OUTPUT_PATH} /*.class"
110
+ )
111
+
112
+ # Install jar file
113
+ install (FILES ${AVTRANSCODER_JAR_PATH} /${AVTRANSCODER_JAR_NAME} DESTINATION "share/java/" )
114
+ else ()
115
+ message ("JAVA not found, will not build java binding." )
116
+ endif ()
109
117
110
118
else (SWIG_FOUND )
111
119
message ("SWIG not found, will not build python and java bindings." )
0 commit comments