# 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 -fPIC ) 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})