pcsx2/plugins/onepad/CMakeLists.txt

100 lines
2.0 KiB
CMake

# Check that people use the good file
if(NOT TOP_CMAKE_WAS_SOURCED)
message(FATAL_ERROR "
You did not 'cmake' the good CMakeLists.txt file. Use the one in the top dir.
It is advice to delete all wrongly generated cmake stuff => CMakeFiles & CMakeCache.txt")
endif(NOT TOP_CMAKE_WAS_SOURCED)
# plugin name
set(onepadName onepad)
set(CommonFlags
-Wall
-m32
)
set(OptimizationFlags
-O2
-DNDEBUG
)
# Debug - Build
if(CMAKE_BUILD_TYPE STREQUAL Debug)
# add defines
add_definitions(${CommonFlags} -g)
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
# Devel - Build
if(CMAKE_BUILD_TYPE STREQUAL Devel)
# add defines
add_definitions(${CommonFlags} ${OptimizationFlags})
endif(CMAKE_BUILD_TYPE STREQUAL Devel)
# Release - Build
if(CMAKE_BUILD_TYPE STREQUAL Release)
# add defines
add_definitions(${CommonFlags} ${OptimizationFlags})
endif(CMAKE_BUILD_TYPE STREQUAL Release)
# onepad sources
set(onepadSources
analog.cpp
controller.cpp
joystick.cpp
keyboard.cpp
onepad.cpp)
# onepad headers
set(onepadHeaders
analog.h
bitwise.h
controller.h
joystick.h
keyboard.h
onepad.h)
# onepad Linux sources
set(onepadLinuxSources
Linux/ini.cpp
Linux/dialog.cpp
Linux/linux.cpp)
# onepad Linux headers
set(onepadLinuxHeaders
Linux/linux.h)
# onepad Windows sources
set(onepadWindowsSources
)
# onepad Windows headers
set(onepadWindowsHeaders
)
# add additional include directories
include_directories(.)
# add library
add_library(${onepadName} SHARED
${onepadSources}
${onepadHeaders}
${onepadLinuxSources}
${onepadLinuxHeaders})
# Force the linker into 32 bits mode
target_link_libraries(${onepadName} -m32)
# Linker strip option
if (CMAKE_BUILD_STRIP)
target_link_libraries(${onepadName} -s)
endif (CMAKE_BUILD_STRIP)
# set output directory
set_target_properties(${onepadName} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/plugins)
# link target with SDL
target_link_libraries(${onepadName} ${SDL_LIBRARY})