Skip to content

Commit ce8a1c3

Browse files
committed
Squashed 'app/external/sp_midi/' changes from 834fe552b..de7f8abb4
de7f8abb4 Merge pull request #29 from lilyinstarlight/linux-builtin-rtmidi 59114d1ae CI - remove rtmidi-dev from Linux build 3248ce923 Build - use built-in RtMidi by default on Linux git-subtree-dir: app/external/sp_midi git-subtree-split: de7f8abb45a609ad8359f436de86fd9ec441591a
1 parent f7866da commit ce8a1c3

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

.github/workflows/cmake.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
if: runner.os == 'Linux'
2727
run: |
2828
sudo apt update
29-
sudo apt install -y libasound2-dev librtmidi-dev
29+
sudo apt install -y libasound2-dev
3030
3131
- name: Linux Elixir
3232
uses: erlef/setup-beam@v1

CMakeLists.txt

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
project (sp_midi)
22
cmake_minimum_required (VERSION 3.0)
33

4+
option(USE_SYSTEM_RTMIDI "Use system RtMidi library instead of built-in library (Linux only)" OFF)
5+
46
set(CMAKE_VERBOSE_MAKEFILE ON)
57

68
if(NOT MSVC)
@@ -25,11 +27,14 @@ endif(APPLE)
2527
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
2628

2729
if(WIN32)
28-
include_directories( ${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue ${PROJECT_SOURCE_DIR}/external_libs)
30+
include_directories(${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue ${PROJECT_SOURCE_DIR}/external_libs)
2931
elseif(APPLE)
30-
include_directories( ${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue ${PROJECT_SOURCE_DIR}/external_libs)
32+
include_directories(${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue ${PROJECT_SOURCE_DIR}/external_libs)
3133
else()
32-
include_directories(${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue)
34+
include_directories(${PROJECT_SOURCE_DIR}/external_libs/spdlog-1.8.2/include ${PROJECT_SOURCE_DIR}/external_libs/concurrentqueue)
35+
if(NOT USE_SYSTEM_RTMIDI)
36+
include_directories(${PROJECT_SOURCE_DIR}/external_libs)
37+
endif(NOT USE_SYSTEM_RTMIDI)
3338
endif()
3439

3540
set(sp_midi_sources
@@ -44,12 +49,15 @@ set(sp_midi_sources
4449
if(MSVC)
4550
list(APPEND sp_midi_sources ${PROJECT_SOURCE_DIR}/external_libs/rtmidi/RtMidi.cpp)
4651
add_definitions(-D__WINDOWS_MM__)
47-
endif(MSVC)
48-
49-
if(APPLE)
52+
elseif(APPLE)
5053
list(APPEND sp_midi_sources ${PROJECT_SOURCE_DIR}/external_libs/rtmidi/RtMidi.cpp)
5154
add_definitions(-D__MACOSX_CORE__)
52-
endif(APPLE)
55+
elseif(UNIX)
56+
if(NOT USE_SYSTEM_RTMIDI)
57+
list(APPEND sp_midi_sources ${PROJECT_SOURCE_DIR}/external_libs/rtmidi/RtMidi.cpp)
58+
add_definitions(-D__LINUX_ALSA__)
59+
endif(NOT USE_SYSTEM_RTMIDI)
60+
endif(MSVC)
5361

5462
# sp_midi_sources
5563
add_library(libsp_midi SHARED ${sp_midi_sources})
@@ -78,6 +86,9 @@ elseif(APPLE)
7886
elseif(UNIX)
7987
add_definitions(-DLINUX=1 -DNDEBUG=1)
8088
include_directories(${ERLANG_INCLUDE_PATH})
81-
target_link_libraries(libsp_midi pthread ${ALSA_LIBRARY} dl rtmidi)
89+
target_link_libraries(libsp_midi pthread ${ALSA_LIBRARY} dl)
90+
if(USE_SYSTEM_RTMIDI)
91+
target_link_libraries(libsp_midi rtmidi)
92+
endif(USE_SYSTEM_RTMIDI)
8293
endif(MSVC)
8394

0 commit comments

Comments
 (0)