summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portmidi/pm_java/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/portmidi/pm_java/CMakeLists.txt')
-rw-r--r--3rdparty/portmidi/pm_java/CMakeLists.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/3rdparty/portmidi/pm_java/CMakeLists.txt b/3rdparty/portmidi/pm_java/CMakeLists.txt
new file mode 100644
index 00000000000..a3506202792
--- /dev/null
+++ b/3rdparty/portmidi/pm_java/CMakeLists.txt
@@ -0,0 +1,47 @@
+# pm_java
+
+if(UNIX)
+ if(APPLE)
+ # java not dealt with in CMake -- see pm_mac/pm_mac.xcodeproj
+ else(APPLE)
+ # linux
+ set(JPORTMIDICLASS JPortMidi.class JPortMidiException.class
+ JPortMidiApi.class)
+ set(PMDEFAULTSCLASS PmDefaultsFrame.class PmDefaults.class)
+ prepend_path(JPORTMIDICLASS2 jportmidi/ ${JPORTMIDICLASS})
+ prepend_path(PMDEFAULTSCLASS2 pmdefaults/ ${PMDEFAULTSCLASS})
+ set(PMDEFAULTS_ALL_CLASSES ${JPORTMIDICLASS2} ${PMDEFAULTSCLASS2})
+ # message(STATUS "PMDEFAULTS_ALL_CLASSES is " ${PMDEFAULTS_ALL_CLASSES})
+ add_custom_command(OUTPUT pmdefaults/PmDefaultsFrame.class
+ COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java
+ MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java
+ DEPENDS pmdefaults/PmDefaults.java
+ WORKING_DIRECTORY pm_java)
+ add_custom_command(OUTPUT pmdefaults/PmDefaults.class
+ COMMAND javac -classpath . pmdefaults/PmDefaults.java
+ MAIN_DEPENDENCY pmdefaults/PmDefaults.java
+ DEPENDS pmdefaults/PmDefaultsFrame.java
+ WORKING_DIRECTORY pm_java)
+ add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
+ COMMAND cp pmdefaults/portmusic_logo.png .
+ COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar
+ pmdefaults/*.class portmusic_logo.png jportmidi/*.class
+ COMMAND chmod +x pmdefaults/pmdefaults
+ COMMAND cp pmdefaults/pmdefaults ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ COMMAND mv pmdefaults.jar ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ COMMAND rm portmusic_logo.png
+ MAIN_DEPENDENCY pmdefaults/PmDefaults.class
+ DEPENDS ${PMDEFAULTS_ALL_CLASSES}
+ WORKING_DIRECTORY pm_java)
+ add_custom_target(pmdefaults_target ALL
+ DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar)
+ # message(STATUS "add_custom_target: pmdefaults.jar")
+
+ # install the libraries (Linux only)
+ INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
+ DESTINATION /usr/share/java)
+ INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults
+ DESTINATION /usr/local/bin)
+ endif(APPLE)
+endif(UNIX)
+# In windows, use pm_java/make.bat