Files
kaizen/lib/CMakeLists.txt
Simone 4e42229bdd Squashed 'external/gainput/' content from commit 2be0a50
git-subtree-dir: external/gainput
git-subtree-split: 2be0a50089eafcc6fccb66142180082e48f27f4c
2024-01-22 08:51:55 +01:00

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"
)