aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt17
-rw-r--r--cmake/FindLIBVLC.cmake27
2 files changed, 34 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aeec85e..ce6d8c9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -507,27 +507,30 @@ if(WITH_VLC_PLUGIN)
list(APPEND adlmidi_vlc_src
${libADLMIDI_SOURCE_DIR}/utils/vlc_codec/libadlmidi.c)
- add_library(adlmidi_plugin MODULE ${adlmidi_vlc_src})
- target_compile_options(adlmidi_plugin PUBLIC
+ add_library(adlmidi_vlc_plugin MODULE ${adlmidi_vlc_src})
+ set_target_properties(adlmidi_vlc_plugin PROPERTIES OUTPUT_NAME adlmidi_plugin)
+ target_compile_options(adlmidi_vlc_plugin PUBLIC
"-DVLC_MODULE_COPYRIGHT=\"Copyright \(c\) Vitaly Novichkov\""
"-DVLC_MODULE_LICENSE=\"GPLv3\""
"-DMODULE_STRING=\"adlmidi\""
${VLCPLUGIN_DEFINITIONS})
- target_include_directories(adlmidi_plugin PRIVATE
+ target_include_directories(adlmidi_vlc_plugin PRIVATE
${LIBVLC_INCLUDE_DIR}/vlc/plugins
${LIBVLC_INCLUDE_DIR}/vlc)
- target_link_libraries(adlmidi_plugin ADLMIDI_IF vlccore m stdc++)
- # target_link_libraries(adlmidi_plugin INTERFACE "-export-symbol-regex ^vlc_entry")
+ target_link_libraries(adlmidi_vlc_plugin ADLMIDI_IF vlccore m stdc++)
+ # target_link_libraries(adlmidi_vlc_plugin INTERFACE "-export-symbol-regex ^vlc_entry")
+
+ install(TARGETS adlmidi_vlc_plugin DESTINATION "${VLCPLUGIN_CODEC_INSTALL_PATH}")
if(libADLMIDI_SHARED)
- add_dependencies(adlmidi_plugin ADLMIDI_shared)
+ add_dependencies(adlmidi_vlc_plugin ADLMIDI_shared)
# ========= WIP =========
# set_target_properties(adlmidiplay PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'")
else()
if(NOT libADLMIDI_STATIC)
message(FATAL_ERROR "libADLMIDI is required to be built!")
endif()
- add_dependencies(adlmidi_plugin ADLMIDI_static)
+ add_dependencies(adlmidi_vlc_plugin ADLMIDI_static)
endif()
endif()
diff --git a/cmake/FindLIBVLC.cmake b/cmake/FindLIBVLC.cmake
index 93b3e35..ea26329 100644
--- a/cmake/FindLIBVLC.cmake
+++ b/cmake/FindLIBVLC.cmake
@@ -20,13 +20,34 @@ endif(NOT LIBVLC_MIN_VERSION)
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s
# searching for the same item do nothing.
-if (NOT WIN32)
+if(NOT WIN32)
find_package(PkgConfig)
pkg_check_modules(PC_LIBVLC libvlc)
set(LIBVLC_DEFINITIONS ${PC_LIBVLC_CFLAGS_OTHER})
+ set(LIBVLC_INCLUDE_DIRS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
+
pkg_check_modules(PC_VLCPLUGIN vlc-plugin)
set(VLCPLUGIN_DEFINITIONS ${PC_VLCPLUGIN_CFLAGS_OTHER})
-endif (NOT WIN32)
+ set(VLCPLUGIN_INCLUDE_DIRS ${PC_VLCPLUGIN_INCLUDEDIR} ${PC_VLCPLUGIN_INCLUDE_DIRS})
+
+ pkg_get_variable(PC_VLCPLUGIN_PLUGINS_PATH vlc-plugin pluginsdir)
+ set(VLCPLUGIN_CODEC_INSTALL_PATH ${PC_VLCPLUGIN_PLUGINS_PATH}/codec)
+
+ message("-- VLC Lib include path is \"${LIBVLC_INCLUDE_DIRS}\" ==")
+ message("-- VLC Plugins include path is \"${VLCPLUGIN_INCLUDE_DIRS}\" ==")
+ message("-- VLC Plugins path is \"${VLCPLUGIN_CODEC_INSTALL_PATH}\" ==")
+else()
+ set(LIBVLC_DEFINITIONS)
+ # FIXME: Is "_FILE_OFFSET_BITS=64" correct for Windows?
+ set(VLCPLUGIN_DEFINITIONS
+ -D__PLUGIN__
+ -D_FILE_OFFSET_BITS=64
+ -D_REENTRANT
+ -D_THREAD_SAFE
+ )
+ # FIXME: Put the proper install path here
+ set(VLCPLUGIN_CODEC_INSTALL_PATH "C:/Program Files/vlc/plugins/codec")
+endif()
#Put here path to custom location
#example: /home/user/vlc/include etc..
@@ -42,7 +63,7 @@ PATHS
#mingw
c:/msys/local/include
)
-find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
+find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
#Put here path to custom location