41 lines
1.7 KiB
CMake
41 lines
1.7 KiB
CMake
if (PICO_SDK)
|
|
add_library(opl INTERFACE)
|
|
target_sources(opl INTERFACE
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_api.c
|
|
${CMAKE_CURRENT_LIST_DIR}/emu8950.c
|
|
${CMAKE_CURRENT_LIST_DIR}/slot_render.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_pico.c)
|
|
target_compile_options(opl INTERFACE -fms-extensions) # want OPL_SLOT_RENDER to be unnamed within OPL_SLOT
|
|
if (APPLE)
|
|
target_compile_options(opl INTERFACE -Wno-microsoft-anon-tag)
|
|
endif()
|
|
target_compile_definitions(opl INTERFACE
|
|
EMU8950_NO_RATECONV
|
|
)
|
|
target_include_directories(opl INTERFACE ${CMAKE_CURRENT_LIST_DIR})
|
|
target_link_libraries(opl INTERFACE pico_audio_i2s hardware_gpio)
|
|
if (PICO_ON_DEVICE)
|
|
target_sources(opl INTERFACE
|
|
${CMAKE_CURRENT_LIST_DIR}/slot_render_pico.S
|
|
)
|
|
target_link_libraries(opl INTERFACE hardware_interp)
|
|
endif()
|
|
else()
|
|
add_library(opl INTERFACE)
|
|
target_sources(opl INTERFACE
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_api.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_linux.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_obsd.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_queue.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_sdl.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_timer.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl_win32.c
|
|
${CMAKE_CURRENT_LIST_DIR}/ioperm_sys.c
|
|
${CMAKE_CURRENT_LIST_DIR}/emu8950.c
|
|
${CMAKE_CURRENT_LIST_DIR}/opl3.c)
|
|
target_include_directories(opl
|
|
INTERFACE "."
|
|
"${CMAKE_CURRENT_BINARY_DIR}/../")
|
|
target_link_libraries(opl INTERFACE SDL2::mixer)
|
|
endif()
|