CMakeLists.txt (2074B)
1 # pm_java 2 3 if(UNIX) 4 if(APPLE) 5 # java not dealt with in CMake -- see pm_mac/pm_mac.xcodeproj 6 else(APPLE) 7 # linux 8 set(JPORTMIDICLASS JPortMidi.class JPortMidiException.class 9 JPortMidiApi.class) 10 set(PMDEFAULTSCLASS PmDefaultsFrame.class PmDefaults.class) 11 prepend_path(JPORTMIDICLASS2 jportmidi/ ${JPORTMIDICLASS}) 12 prepend_path(PMDEFAULTSCLASS2 pmdefaults/ ${PMDEFAULTSCLASS}) 13 set(PMDEFAULTS_ALL_CLASSES ${JPORTMIDICLASS2} ${PMDEFAULTSCLASS2}) 14 # message(STATUS "PMDEFAULTS_ALL_CLASSES is " ${PMDEFAULTS_ALL_CLASSES}) 15 add_custom_command(OUTPUT pmdefaults/PmDefaultsFrame.class 16 COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java 17 MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java 18 DEPENDS pmdefaults/PmDefaults.java 19 WORKING_DIRECTORY pm_java) 20 add_custom_command(OUTPUT pmdefaults/PmDefaults.class 21 COMMAND javac -classpath . pmdefaults/PmDefaults.java 22 MAIN_DEPENDENCY pmdefaults/PmDefaults.java 23 DEPENDS pmdefaults/PmDefaultsFrame.java 24 WORKING_DIRECTORY pm_java) 25 add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar 26 COMMAND cp pmdefaults/portmusic_logo.png . 27 COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar 28 pmdefaults/*.class portmusic_logo.png jportmidi/*.class 29 COMMAND chmod +x pmdefaults/pmdefaults 30 COMMAND cp pmdefaults/pmdefaults ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} 31 COMMAND mv pmdefaults.jar ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} 32 COMMAND rm portmusic_logo.png 33 MAIN_DEPENDENCY pmdefaults/PmDefaults.class 34 DEPENDS ${PMDEFAULTS_ALL_CLASSES} 35 WORKING_DIRECTORY pm_java) 36 add_custom_target(pmdefaults_target ALL 37 DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar) 38 # message(STATUS "add_custom_target: pmdefaults.jar") 39 40 # install the libraries (Linux only) 41 INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar 42 DESTINATION /usr/share/java) 43 INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults 44 DESTINATION /usr/local/bin) 45 endif(APPLE) 46 endif(UNIX) 47 # In windows, use pm_java/make.bat