git-subtree-dir: external/gainput git-subtree-split: 2be0a50089eafcc6fccb66142180082e48f27f4c
80 lines
2.4 KiB
CMake
80 lines
2.4 KiB
CMake
project(gainput)
|
|
message(STATUS "GAINPUT version ${GAINPUT_VERSION}")
|
|
|
|
set(CMAKE_MACOSX_RPATH 1)
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra -pedantic -Wshadow -Wno-variadic-macros")
|
|
endif()
|
|
|
|
include_directories (include/)
|
|
|
|
file(GLOB_RECURSE sources source/*.cpp source/*.h include/*.h)
|
|
|
|
if(APPLE)
|
|
file(GLOB_RECURSE mmsources source/*.mm)
|
|
endif()
|
|
|
|
## build STATIC *or* SHARED
|
|
if (GAINPUT_BUILD_SHARED)
|
|
message(STATUS "..Building shared libraries (-DGAINPUT_BUILD_SHARED=OFF to disable)")
|
|
add_library(gainput SHARED ${sources} ${mmsources})
|
|
set_target_properties(gainput PROPERTIES
|
|
OUTPUT_NAME gainput
|
|
DEBUG_POSTFIX -d
|
|
VERSION ${GAINPUT_VERSION}
|
|
SOVERSION ${GAINPUT_MAJOR_VERSION}
|
|
FOLDER gainput
|
|
)
|
|
set(install_libs ${install_libs} gainput)
|
|
endif (GAINPUT_BUILD_SHARED)
|
|
|
|
if (GAINPUT_BUILD_STATIC)
|
|
message(STATUS "..Building static libraries (-DGAINPUT_BUILD_STATIC=OFF to disable)")
|
|
add_library(gainputstatic STATIC ${sources} ${mmsources})
|
|
set_target_properties(gainputstatic PROPERTIES DEBUG_POSTFIX -d FOLDER gainput)
|
|
set(install_libs ${install_libs} gainputstatic)
|
|
endif (GAINPUT_BUILD_STATIC)
|
|
|
|
if(WIN32)
|
|
target_link_libraries(gainput ${XINPUT} ws2_32)
|
|
target_link_libraries(gainputstatic ${XINPUT} ws2_32)
|
|
add_definitions(-DGAINPUT_LIB_DYNAMIC=1)
|
|
elseif(ANDROID)
|
|
target_link_libraries(gainputstatic native_app_glue log android)
|
|
target_link_libraries(gainput native_app_glue log android)
|
|
elseif(APPLE)
|
|
find_library(FOUNDATION Foundation)
|
|
find_library(IOKIT IOKit)
|
|
find_library(GAME_CONTROLLER GameController)
|
|
target_link_libraries(gainput ${FOUNDATION} ${IOKIT} ${GAME_CONTROLLER})
|
|
if(IOS)
|
|
find_library(UIKIT UIKit)
|
|
find_library(COREMOTION CoreMotion)
|
|
find_library(QUARTZCORE QuartzCore)
|
|
target_link_libraries(gainput ${UIKIT} ${COREMOTION})
|
|
else()
|
|
find_library(APPKIT AppKit)
|
|
target_link_libraries(gainput ${APPKIT})
|
|
endif()
|
|
endif()
|
|
|
|
# Library installation directory
|
|
if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
|
set(CMAKE_INSTALL_LIBDIR lib)
|
|
endif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
|
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
|
|
|
install(
|
|
DIRECTORY "include/gainput"
|
|
DESTINATION "include"
|
|
FILES_MATCHING PATTERN "*.h"
|
|
)
|
|
|
|
install(
|
|
TARGETS ${install_libs}
|
|
LIBRARY DESTINATION "${libdir}"
|
|
ARCHIVE DESTINATION "${libdir}"
|
|
RUNTIME DESTINATION "bin"
|
|
)
|