Update cmake infrastructure for SDL2_mixer

This commit is contained in:
Vladimir Gamalian 2015-08-11 17:58:30 +07:00 committed by Dmitry Marakasov
parent 5078b44ec8
commit b5561e9b30
3 changed files with 36 additions and 1 deletions

View File

@ -21,8 +21,9 @@ SET(SDL2PP_CXXSTD "c++11" CACHE STRING "Used c++ standard")
IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
OPTION(SDL2PP_WITH_IMAGE "Enable SDL2_image support" ON) OPTION(SDL2PP_WITH_IMAGE "Enable SDL2_image support" ON)
OPTION(SDL2PP_WITH_TTF "Enable SDL2_ttf support" ON) OPTION(SDL2PP_WITH_TTF "Enable SDL2_ttf support" ON)
OPTION(SDL2PP_WITH_MIXER "Enable SDL2_mixer support" ON)
ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
# please set SDL2PP_WITH_IMAGE, SDL2PP_WITH_TTF in parent project as needed # please set SDL2PP_WITH_IMAGE, SDL2PP_WITH_TTF, SDL2PP_WITH_MIXER in parent project as needed
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
# depends # depends
@ -43,6 +44,13 @@ IF(SDL2PP_WITH_TTF)
ELSE(SDL2PP_WITH_TTF) ELSE(SDL2PP_WITH_TTF)
MESSAGE(STATUS "SDL2_ttf support disabled") MESSAGE(STATUS "SDL2_ttf support disabled")
ENDIF(SDL2PP_WITH_TTF) ENDIF(SDL2PP_WITH_TTF)
IF(SDL2PP_WITH_MIXER)
FIND_PACKAGE(SDL2_mixer REQUIRED)
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIR})
SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_MIXER_LIBRARY})
ELSE(SDL2PP_WITH_MIXER)
MESSAGE(STATUS "SDL2_mixer support disabled")
ENDIF(SDL2PP_WITH_MIXER)
FIND_PACKAGE(Doxygen) FIND_PACKAGE(Doxygen)
@ -162,6 +170,15 @@ IF(SDL2PP_WITH_IMAGE)
) )
ENDIF(SDL2PP_WITH_IMAGE) ENDIF(SDL2PP_WITH_IMAGE)
IF(SDL2PP_WITH_MIXER)
SET(LIBRARY_SOURCES
${LIBRARY_SOURCES}
)
SET(LIBRARY_HEADERS
${LIBRARY_HEADERS}
)
ENDIF(SDL2PP_WITH_MIXER)
# targets # targets
IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
MESSAGE(STATUS "libSDL2pp ${SDL2PP_VERSION} standalone build") MESSAGE(STATUS "libSDL2pp ${SDL2PP_VERSION} standalone build")

View File

@ -30,6 +30,7 @@
#cmakedefine SDL2PP_WITH_IMAGE #cmakedefine SDL2PP_WITH_IMAGE
#cmakedefine SDL2PP_WITH_TTF #cmakedefine SDL2PP_WITH_TTF
#cmakedefine SDL2PP_WITH_MIXER
#cmakedefine SDL2PP_WITH_2_0_4 #cmakedefine SDL2PP_WITH_2_0_4
#cmakedefine SDL2PP_WITH_EXPERIMENTAL_OPTIONAL #cmakedefine SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
#cmakedefine SDL2PP_WITH_DEPRECATED #cmakedefine SDL2PP_WITH_DEPRECATED

View File

@ -0,0 +1,17 @@
# - Try to locate SDL2_mixer
# This module defines:
#
# SDL2_MIXER_INCLUDE_DIR
# SDL2_MIXER_LIBRARY
# SDL2_MIXER_FOUND
#
FIND_PATH(SDL2_MIXER_INCLUDE_DIR NAMES SDL2/SDL_mixer.h)
FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixer)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_mixer REQUIRED_VARS SDL2_MIXER_INCLUDE_DIR SDL2_MIXER_LIBRARY)
MARK_AS_ADVANCED(SDL2_MIXER_INCLUDE_DIR SDL2_MIXER_LIBRARY)