103 lines
3.2 KiB
CMake
103 lines
3.2 KiB
CMake
set(SRCS 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/BackgroundInputSetting.cpp
|
|
ControllerEmu/Setting/BooleanSetting.cpp
|
|
ControllerEmu/Setting/NumericSetting.cpp
|
|
ControllerInterface/ControllerInterface.cpp
|
|
ControllerInterface/Device.cpp
|
|
ControlReference/ControlReference.cpp
|
|
ControlReference/ExpressionParser.cpp
|
|
)
|
|
set(LIBS common)
|
|
|
|
if(WIN32)
|
|
set(SRCS ${SRCS}
|
|
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)
|
|
set(SRCS ${SRCS}
|
|
ControllerInterface/OSX/OSX.mm
|
|
ControllerInterface/OSX/OSXKeyboard.mm
|
|
ControllerInterface/OSX/OSXJoystick.mm
|
|
ControllerInterface/Quartz/Quartz.mm
|
|
ControllerInterface/Quartz/QuartzKeyboardAndMouse.mm
|
|
ControllerInterface/ForceFeedback/ForceFeedbackDevice.cpp
|
|
)
|
|
set(LIBS ${LIBS} ${COREFOUNDATION_LIBRARY} ${CARBON_LIBRARY} ${COCOA_LIBRARY})
|
|
elseif(X11_FOUND)
|
|
set(SRCS ${SRCS}
|
|
ControllerInterface/Xlib/XInput2.cpp
|
|
)
|
|
set(LIBS ${LIBS} ${X11_LIBRARIES} ${X11_INPUT_LIBRARIES})
|
|
elseif(ANDROID)
|
|
add_definitions(-DCIFACE_USE_ANDROID)
|
|
set(SRCS ${SRCS}
|
|
ControllerInterface/Android/Android.cpp
|
|
)
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
set(SRCS ${SRCS} GCAdapter_Android.cpp)
|
|
else()
|
|
set(SRCS ${SRCS} GCAdapter.cpp)
|
|
set(LIBS ${LIBS} ${LIBUSB_LIBRARIES})
|
|
endif()
|
|
|
|
if(LIBEVDEV_FOUND AND LIBUDEV_FOUND)
|
|
set(SRCS ${SRCS} ControllerInterface/evdev/evdev.cpp)
|
|
set(LIBS ${LIBS} ${LIBEVDEV_LIBRARY} ${LIBUDEV_LIBRARY})
|
|
endif()
|
|
|
|
if(UNIX)
|
|
set(SRCS ${SRCS} 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})
|
|
set(SRCS ${SRCS} ControllerInterface/SDL/SDL.cpp)
|
|
set(LIBS ${LIBS} ${SDL_TARGET})
|
|
add_definitions(-DHAVE_SDL=1)
|
|
else()
|
|
message(STATUS "SDL NOT found, disabling SDL input")
|
|
endif()
|
|
endif()
|
|
|
|
add_dolphin_library(inputcommon "${SRCS}" "${LIBS}")
|