Blob Blame History Raw
diff -rupN portmidi.old/CMakeLists.txt portmidi/CMakeLists.txt
--- portmidi.old/CMakeLists.txt	2009-10-19 15:36:57.000000000 -0400
+++ portmidi/CMakeLists.txt	2009-11-27 20:20:22.000000000 -0500
@@ -8,6 +8,7 @@ if(UNIX)
   # allow user to set Release or Debug
   set(CMAKE_BUILD_TYPE Release CACHE STRING 
       "Semicolon-separate list of supported configuration types")
+  set(PROJECT_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)	
   # set default directories but don't override cached values...
   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
       CACHE STRING "libraries go here")
diff -rupN portmidi.old/pm_common/CMakeLists.txt portmidi/pm_common/CMakeLists.txt
--- portmidi.old/pm_common/CMakeLists.txt	2009-10-19 14:41:21.000000000 -0400
+++ portmidi/pm_common/CMakeLists.txt	2009-11-27 20:33:36.000000000 -0500
@@ -65,15 +65,12 @@ if(UNIX)
     # JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH
     # and JAVA_INCLUDE_PATH2 set by user (will need clear documentation
     # because JAVA_INCLUDE_PATH2 is pretty obscure)
-    set(JAVA_INCLUDE_PATH  ${JAVA_INCLUDE_PATH-UNKNOWN}
-        CACHE STRING "where to find Java SDK include directory")
-    set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH}/linux)
-    # libjvm.so is found relative to JAVA_INCLUDE_PATH:
-    set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../jre/lib/i386/client/libjvm.so)
+    set(JAVAVM_LIB ${JAVA_JVM_LIBRARY})
+
 
     set(LINUXSRC pmlinuxalsa pmlinux finddefault)
     prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
-    list(APPEND LIBSRC ../porttime/ptlinux)
+    set(LIBPTSRC ../porttime/ptlinux)
 
     set(PM_NEEDED_LIBS pthread asound)
   endif(APPLE)
@@ -98,29 +95,29 @@ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${J
 # this completes the list of library sources by adding shared code
 list(APPEND LIBSRC pmutil portmidi)
 
-# now add the shared files to make the complete list of library sources
-add_library(portmidi-static ${LIBSRC})
-set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s")
-target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
+add_library(porttime-dynamic SHARED ${LIBPTSRC})
+set_target_properties(porttime-dynamic PROPERTIES SOVERSION 0 VERSION 0.${VERSION} OUTPUT_NAME "porttime")
+target_link_libraries(porttime-dynamic pthread)
 
 add_library(portmidi-dynamic SHARED ${LIBSRC})
-set_target_properties(portmidi-dynamic PROPERTIES OUTPUT_NAME "portmidi")
-target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS})
-
+add_dependencies(portmidi-dynamic porttime-dynamic)
+set_target_properties(portmidi-dynamic PROPERTIES LINK_FLAGS "-L../build/Release" SOVERSION 0 VERSION 0.${VERSION} OUTPUT_NAME "portmidi")
+target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS} porttime)
 
 # define the jni library
 include_directories(${JAVA_INCLUDE_PATHS})
 
 set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
 add_library(pmjni SHARED ${JNISRC})
-target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
+add_dependencies(pmjni porttime-dynamic)
+target_link_libraries(pmjni ${JNI_EXTRA_LIBS} porttime)
+set_target_properties(pmjni PROPERTIES LINK_FLAGS "-L../build/Release" EXECUTABLE_EXTENSION "jnilib")
 
 # install the libraries (Linux only)
 if(UNIX AND NOT APPLE)
-  INSTALL(TARGETS portmidi-static portmidi-dynamic pmjni
-    LIBRARY DESTINATION /usr/local/lib
-    ARCHIVE DESTINATION /usr/local/lib)
+  INSTALL(TARGETS porttime-dynamic portmidi-dynamic pmjni
+    LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+    ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
   INSTALL(FILES portmidi.h ../porttime/porttime.h
-    DESTINATION /usr/local/include)
+    DESTINATION ${INCLUDE_INSTALL_DIR})
 endif(UNIX AND NOT APPLE)
diff -rupN portmidi.old/pm_java/CMakeLists.txt portmidi/pm_java/CMakeLists.txt
--- portmidi.old/pm_java/CMakeLists.txt	2009-10-14 14:04:06.000000000 -0400
+++ portmidi/pm_java/CMakeLists.txt	2009-11-27 20:20:22.000000000 -0500
@@ -39,9 +39,9 @@ if(UNIX)
 
     # install the libraries (Linux only)
     INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
-      DESTINATION /usr/share/java)
+      DESTINATION ${SHARE_INSTALL_PREFIX}/java)
     INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults
-      DESTINATION /usr/local/bin)
+      DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
   endif(APPLE)
 endif(UNIX)
 # In windows, use pm_java/make.bat
diff -rupN portmidi.old/pm_test/CMakeLists.txt portmidi/pm_test/CMakeLists.txt
--- portmidi.old/pm_test/CMakeLists.txt	2009-10-19 14:41:21.000000000 -0400
+++ portmidi/pm_test/CMakeLists.txt	2009-11-27 20:20:22.000000000 -0500
@@ -8,7 +8,8 @@ endif(APPLE)
 
 macro(make_a_test name)
   add_executable(${name} ${name}.c)
-  target_link_libraries(${name} portmidi-static ${PM_NEEDED_LIBS})
+  set_target_properties(${name} PROPERTIES LINK_FLAGS "-L${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}")
+  target_link_libraries(${name} portmidi-dynamic ${PM_NEEDED_LIBS})
 endmacro(make_a_test)
 
 make_a_test(test)