mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 08:09:26 +01:00
b8a4ab23dd
Makes an implicit dependency explicit. Also makes the macOS libraries link privately as they aren't used in the exposed interface.
119 lines
3.5 KiB
CMake
119 lines
3.5 KiB
CMake
add_library(inputcommon
|
|
InputConfig.cpp
|
|
ControllerEmu/ControllerEmu.cpp
|
|
ControllerEmu/Control/Control.cpp
|
|
ControllerEmu/Control/Input.cpp
|
|
ControllerEmu/Control/Output.cpp
|
|
ControllerEmu/ControlGroup/AnalogStick.cpp
|
|
ControllerEmu/ControlGroup/Buttons.cpp
|
|
ControllerEmu/ControlGroup/ControlGroup.cpp
|
|
ControllerEmu/ControlGroup/Cursor.cpp
|
|
ControllerEmu/ControlGroup/Extension.cpp
|
|
ControllerEmu/ControlGroup/Force.cpp
|
|
ControllerEmu/ControlGroup/MixedTriggers.cpp
|
|
ControllerEmu/ControlGroup/ModifySettingsButton.cpp
|
|
ControllerEmu/ControlGroup/Slider.cpp
|
|
ControllerEmu/ControlGroup/Tilt.cpp
|
|
ControllerEmu/ControlGroup/Triggers.cpp
|
|
ControllerEmu/Setting/BooleanSetting.cpp
|
|
ControllerEmu/Setting/NumericSetting.cpp
|
|
ControllerInterface/ControllerInterface.cpp
|
|
ControllerInterface/Device.cpp
|
|
ControlReference/ControlReference.cpp
|
|
ControlReference/ExpressionParser.cpp
|
|
)
|
|
|
|
target_link_libraries(inputcommon PUBLIC
|
|
common
|
|
)
|
|
|
|
if(WIN32)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/DInput/DInput.cpp
|
|
ControllerInterface/DInput/DInputJoystick.cpp
|
|
ControllerInterface/DInput/DInputKeyboardMouse.cpp
|
|
ControllerInterface/DInput/XInputFilter.cpp
|
|
ControllerInterface/XInput/XInput.cpp
|
|
ControllerInterface/ForceFeedback/ForceFeedbackDevice.cpp
|
|
)
|
|
elseif(APPLE)
|
|
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
|
|
find_library(CARBON_LIBRARY Carbon)
|
|
find_library(COCOA_LIBRARY Cocoa)
|
|
find_library(FORCEFEEDBACK_LIBRARY ForceFeedback)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/OSX/OSX.mm
|
|
ControllerInterface/OSX/OSXJoystick.mm
|
|
ControllerInterface/Quartz/Quartz.mm
|
|
ControllerInterface/Quartz/QuartzKeyboardAndMouse.mm
|
|
ControllerInterface/ForceFeedback/ForceFeedbackDevice.cpp
|
|
)
|
|
target_link_libraries(inputcommon PRIVATE
|
|
${COREFOUNDATION_LIBRARY}
|
|
${CARBON_LIBRARY}
|
|
${COCOA_LIBRARY}
|
|
${FORCEFEEDBACK_LIBRARY}
|
|
)
|
|
elseif(X11_FOUND)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/Xlib/XInput2.cpp
|
|
)
|
|
target_link_libraries(inputcommon PUBLIC
|
|
${X11_LIBRARIES}
|
|
${X11_INPUT_LIBRARIES}
|
|
)
|
|
elseif(ANDROID)
|
|
target_compile_definitions(inputcommon PRIVATE -DCIFACE_USE_ANDROID)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/Android/Android.cpp
|
|
)
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
target_sources(inputcommon PRIVATE GCAdapter_Android.cpp)
|
|
else()
|
|
target_sources(inputcommon PRIVATE GCAdapter.cpp)
|
|
target_link_libraries(inputcommon PUBLIC ${LIBUSB_LIBRARIES})
|
|
endif()
|
|
|
|
if(LIBEVDEV_FOUND AND LIBUDEV_FOUND)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/evdev/evdev.cpp
|
|
)
|
|
target_link_libraries(inputcommon PUBLIC
|
|
${LIBEVDEV_LIBRARY}
|
|
${LIBUDEV_LIBRARY}
|
|
)
|
|
endif()
|
|
|
|
if(UNIX)
|
|
target_sources(inputcommon PRIVATE
|
|
ControllerInterface/Pipes/Pipes.cpp
|
|
)
|
|
endif()
|
|
|
|
if(ENABLE_SDL)
|
|
find_package(SDL2)
|
|
if(SDL2_FOUND)
|
|
message(STATUS "Using shared SDL2")
|
|
set(SDL_TARGET SDL2::SDL2)
|
|
else()
|
|
# SDL2 not found, try SDL
|
|
find_package(SDL)
|
|
if(SDL_FOUND)
|
|
message(STATUS "Using shared SDL")
|
|
add_library(System_SDL INTERFACE)
|
|
target_include_directories(System_SDL INTERFACE ${SDL_INCLUDE_DIR})
|
|
target_link_libraries(System_SDL INTERFACE ${SDL_LIBRARY})
|
|
set(SDL_TARGET System_SDL)
|
|
endif()
|
|
endif()
|
|
if(SDL_TARGET AND TARGET ${SDL_TARGET})
|
|
target_sources(inputcommon PRIVATE ControllerInterface/SDL/SDL.cpp)
|
|
target_link_libraries(inputcommon PUBLIC ${SDL_TARGET})
|
|
target_compile_definitions(inputcommon PRIVATE -DHAVE_SDL=1)
|
|
else()
|
|
message(STATUS "SDL NOT found, disabling SDL input")
|
|
endif()
|
|
endif()
|