mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-03 19:05:59 -04:00
Merge branch 'libmingw32'
This commit is contained in:
commit
1e87f20864
@ -13,7 +13,7 @@ environment:
|
||||
PREFIX: c:\usr_msvc
|
||||
MSVC:
|
||||
MINGW32: rem
|
||||
- CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-cc -DCMAKE_CXX_COMPILER=mingw32-c++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_EXE_LINKER_FLAGS="-lmingw32" -DSDL2PP_ENABLE_LIVE_TESTS=OFF -G "MinGW Makefiles"
|
||||
- CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-cc -DCMAKE_CXX_COMPILER=mingw32-c++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DSDL2PP_ENABLE_LIVE_TESTS=OFF -G "MinGW Makefiles"
|
||||
PREFIX: c:\usr_mingw32
|
||||
MINGW32:
|
||||
MSVC: rem
|
||||
@ -103,6 +103,8 @@ build_script:
|
||||
cmake -DCMAKE_PREFIX_PATH=%PREFIX% %CMAKE_ARGS%
|
||||
%MSVC% msbuild "libSDL2pp.sln" /verbosity:normal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
%MINGW32% mingw32-make
|
||||
%MINGW32% type FindSDL2PP.cmake
|
||||
%MINGW32% type sdl2pp.pc
|
||||
|
||||
# tests; PATH here lists library search paths
|
||||
- |-
|
||||
|
@ -31,12 +31,18 @@ FIND_PACKAGE(SDL2 REQUIRED)
|
||||
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
|
||||
SET(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY})
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES sdl2)
|
||||
SET(SDL2PP_EXTRA_LIBRARIES ${SDL2MAIN_LIBRARY})
|
||||
|
||||
IF(MINGW)
|
||||
FIND_LIBRARY(MINGW32_LIBRARY NAMES mingw32)
|
||||
SET(SDL2PP_EXTRA_LIBRARIES ${MINGW32_LIBRARY} ${SDL2PP_EXTRA_LIBRARIES})
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(SDL2PP_WITH_IMAGE)
|
||||
FIND_PACKAGE(SDL2_image REQUIRED)
|
||||
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR})
|
||||
SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_IMAGE_LIBRARY})
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_image")
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES ${SDL2_ALL_PKGCONFIG_MODULES} SDL2_image)
|
||||
ELSE(SDL2PP_WITH_IMAGE)
|
||||
MESSAGE(STATUS "SDL2_image support disabled")
|
||||
ENDIF(SDL2PP_WITH_IMAGE)
|
||||
@ -45,7 +51,7 @@ IF(SDL2PP_WITH_TTF)
|
||||
FIND_PACKAGE(SDL2_ttf REQUIRED)
|
||||
SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIR})
|
||||
SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_TTF_LIBRARY})
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_ttf")
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES ${SDL2_ALL_PKGCONFIG_MODULES} SDL2_ttf)
|
||||
ELSE(SDL2PP_WITH_TTF)
|
||||
MESSAGE(STATUS "SDL2_ttf support disabled")
|
||||
ENDIF(SDL2PP_WITH_TTF)
|
||||
@ -54,7 +60,7 @@ 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})
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_mixer")
|
||||
SET(SDL2_ALL_PKGCONFIG_MODULES ${SDL2_ALL_PKGCONFIG_MODULES} SDL2_mixer)
|
||||
ELSE(SDL2PP_WITH_MIXER)
|
||||
MESSAGE(STATUS "SDL2_mixer support disabled")
|
||||
ENDIF(SDL2PP_WITH_MIXER)
|
||||
@ -209,6 +215,8 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||
SET_TARGET_PROPERTIES(SDL2pp PROPERTIES VERSION 7.0.0 SOVERSION 7)
|
||||
|
||||
SET(SDL2PP_LIBRARIES ${SDL2PP_EXTRA_LIBRARIES} SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||
|
||||
# examples and tests
|
||||
OPTION(SDL2PP_WITH_EXAMPLES "Build examples" ON)
|
||||
OPTION(SDL2PP_WITH_TESTS "Build tests" ON)
|
||||
@ -234,21 +242,19 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
)
|
||||
ENDIF(DOXYGEN_FOUND)
|
||||
|
||||
# pkgconfig
|
||||
# pkgconfig and cmake modules
|
||||
SET(CMAKEMODDIR share/cmake/Modules CACHE STRING "directory where to install cmake module")
|
||||
SET(PKGCONFIGDIR lib/pkgconfig CACHE STRING "directory where to install pkg-config files")
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
||||
SET(PKGCONFIGDIR libdata/pkgconfig)
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
||||
|
||||
SET(SDL2_PKGCONFIG_CFLAGS "")
|
||||
FOREACH(INCDIR IN LISTS SDL2_ALL_INCLUDE_DIRS)
|
||||
SET(SDL2_PKGCONFIG_CFLAGS "${SDL2_PKGCONFIG_CFLAGS} -I${INCDIR}")
|
||||
ENDFOREACH(INCDIR IN SDL2_ALL_INCLUDE_DIRS)
|
||||
INCLUDE(Join)
|
||||
|
||||
SET(SDL2_PKGCONFIG_LIBS "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2pp${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
FOREACH(LIB IN LISTS SDL2_ALL_LIBRARIES)
|
||||
SET(SDL2_PKGCONFIG_LIBS "${SDL2_PKGCONFIG_LIBS} ${LIB}")
|
||||
ENDFOREACH(LIB IN SDL2_LIBRARIES)
|
||||
JOIN_QUOTED("${SDL2PP_EXTRA_LIBRARIES}" SDL2PP_EXTRA_LIBRARIES_STR)
|
||||
JOIN_QUOTED("${SDL2_ALL_LIBRARIES}" SDL2_ALL_LIBRARIES_STR)
|
||||
JOIN_QUOTED("${SDL2_ALL_INCLUDE_DIRS}" SDL2_ALL_INCLUDE_DIRS_STR)
|
||||
JOIN_SIMPLE("${SDL2_ALL_PKGCONFIG_MODULES}" SDL2_ALL_PKGCONFIG_MODULES_STR)
|
||||
|
||||
CONFIGURE_FILE(
|
||||
sdl2pp.pc.in
|
||||
@ -256,8 +262,6 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
@ONLY
|
||||
)
|
||||
|
||||
# cmake file
|
||||
SET(CMAKEMODDIR share/cmake/Modules CACHE STRING "directory where to install cmake module")
|
||||
CONFIGURE_FILE(
|
||||
FindSDL2PP.cmake.in
|
||||
FindSDL2PP.cmake
|
||||
@ -282,7 +286,7 @@ ELSE(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
|
||||
# provide variables to parent
|
||||
SET(SDL2PP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${SDL2_ALL_INCLUDE_DIRS} PARENT_SCOPE)
|
||||
SET(SDL2PP_LIBRARIES SDL2pp ${SDL2_ALL_LIBRARIES} PARENT_SCOPE)
|
||||
SET(SDL2PP_LIBRARIES ${SDL2PP_EXTRA_LIBRARIES} SDL2pp ${SDL2_ALL_LIBRARIES} PARENT_SCOPE)
|
||||
|
||||
MESSAGE(STATUS "libSDL2pp ${SDL2PP_VERSION} bundled build")
|
||||
ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
|
@ -11,9 +11,9 @@ IF(SDL2PP_INCLUDE_DIR AND SDL2PP_LIBRARY)
|
||||
SET(SDL2PP_FIND_QUIETLY TRUE)
|
||||
ENDIF(SDL2PP_INCLUDE_DIR AND SDL2PP_LIBRARY)
|
||||
|
||||
FIND_PATH(SDL2PP_INCLUDE_DIR SDL2pp/SDL2pp.hh HINTS @CMAKE_INSTALL_PREFIX@/include)
|
||||
FIND_PATH(SDL2PP_INCLUDE_DIR SDL2pp/SDL2pp.hh HINTS "@CMAKE_INSTALL_PREFIX@/include")
|
||||
|
||||
FIND_LIBRARY(SDL2PP_LIBRARY NAMES SDL2pp HINTS @CMAKE_INSTALL_PREFIX@/lib)
|
||||
FIND_LIBRARY(SDL2PP_LIBRARY NAMES SDL2pp HINTS "@CMAKE_INSTALL_PREFIX@/lib")
|
||||
|
||||
MARK_AS_ADVANCED(SDL2PP_INCLUDE_DIR SDL2PP_LIBRARY)
|
||||
|
||||
@ -23,6 +23,6 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2PP
|
||||
)
|
||||
|
||||
IF(SDL2PP_FOUND)
|
||||
SET(SDL2PP_INCLUDE_DIRS ${SDL2PP_INCLUDE_DIR} @SDL2_ALL_INCLUDE_DIRS@)
|
||||
SET(SDL2PP_LIBRARIES ${SDL2PP_LIBRARY} @SDL2_ALL_LIBRARIES@)
|
||||
SET(SDL2PP_INCLUDE_DIRS ${SDL2PP_INCLUDE_DIR} @SDL2_ALL_INCLUDE_DIRS_STR@)
|
||||
SET(SDL2PP_LIBRARIES @SDL2PP_EXTRA_LIBRARIES_STR@ ${SDL2PP_LIBRARY} @SDL2_ALL_LIBRARIES_STR@)
|
||||
ENDIF(SDL2PP_FOUND)
|
||||
|
@ -11,10 +11,8 @@ FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL2/SDL.h)
|
||||
FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2)
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2main)
|
||||
|
||||
SET(SDL2_LIBRARY ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_INCLUDE_DIR SDL2_LIBRARY)
|
||||
|
||||
MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY)
|
||||
MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY SDL2MAIN_LIBRARY)
|
||||
|
23
cmake/Join.cmake
Normal file
23
cmake/Join.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
FUNCTION(JOIN_SIMPLE VALUES OUTPUT)
|
||||
FOREACH(_VAL ${VALUES})
|
||||
IF(DEFINED _TMP)
|
||||
SET(_TMP "${_TMP} ${_VAL}")
|
||||
ELSE(DEFINED _TMP)
|
||||
SET(_TMP "${_VAL}")
|
||||
ENDIF(DEFINED _TMP)
|
||||
ENDFOREACH(_VAL)
|
||||
SET(${OUTPUT} "${_TMP}" PARENT_SCOPE)
|
||||
ENDFUNCTION()
|
||||
|
||||
FUNCTION(JOIN_QUOTED VALUES OUTPUT)
|
||||
FOREACH(_VAL ${VALUES})
|
||||
STRING(REPLACE "\\" "\\\\" _VAL "${_VAL}")
|
||||
STRING(REPLACE "\"" "\\\"" _VAL "${_VAL}")
|
||||
IF(DEFINED _TMP)
|
||||
SET(_TMP "${_TMP} \"${_VAL}\"")
|
||||
ELSE(DEFINED _TMP)
|
||||
SET(_TMP "\"${_VAL}\"")
|
||||
ENDIF(DEFINED _TMP)
|
||||
ENDFOREACH(_VAL)
|
||||
SET(${OUTPUT} "${_TMP}" PARENT_SCOPE)
|
||||
ENDFUNCTION()
|
@ -1,43 +1,43 @@
|
||||
ADD_DEFINITIONS(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
||||
|
||||
ADD_EXECUTABLE(sprites sprites.cc)
|
||||
TARGET_LINK_LIBRARIES(sprites SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(sprites ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(lines lines.cc)
|
||||
TARGET_LINK_LIBRARIES(lines SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(lines ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(rendertarget rendertarget.cc)
|
||||
TARGET_LINK_LIBRARIES(rendertarget SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(rendertarget ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(audio_sine audio_sine.cc)
|
||||
TARGET_LINK_LIBRARIES(audio_sine SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(audio_sine ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(audio_wav audio_wav.cc)
|
||||
TARGET_LINK_LIBRARIES(audio_wav SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(audio_wav ${SDL2PP_LIBRARIES})
|
||||
|
||||
IF(SDL2PP_WITH_IMAGE)
|
||||
ADD_EXECUTABLE(image image.cc)
|
||||
TARGET_LINK_LIBRARIES(image SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(image ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(fill fill.cc)
|
||||
TARGET_LINK_LIBRARIES(fill SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(fill ${SDL2PP_LIBRARIES})
|
||||
ENDIF(SDL2PP_WITH_IMAGE)
|
||||
|
||||
IF(SDL2PP_WITH_TTF)
|
||||
ADD_EXECUTABLE(ttf ttf.cc)
|
||||
TARGET_LINK_LIBRARIES(ttf SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(ttf ${SDL2PP_LIBRARIES})
|
||||
ENDIF(SDL2PP_WITH_TTF)
|
||||
|
||||
IF(SDL2PP_WITH_MIXER)
|
||||
ADD_EXECUTABLE(mixer mixer.cc)
|
||||
TARGET_LINK_LIBRARIES(mixer SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(mixer ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(mixer_music mixer_music.cc)
|
||||
TARGET_LINK_LIBRARIES(mixer_music SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(mixer_music ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(mixer_music_sine mixer_music_sine.cc)
|
||||
TARGET_LINK_LIBRARIES(mixer_music_sine SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(mixer_music_sine ${SDL2PP_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(mixer_effects mixer_effects.cc)
|
||||
TARGET_LINK_LIBRARIES(mixer_effects SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(mixer_effects ${SDL2PP_LIBRARIES})
|
||||
ENDIF(SDL2PP_WITH_MIXER)
|
||||
|
@ -6,7 +6,7 @@ includedir=${prefix}/include
|
||||
Name: sdl2pp
|
||||
Description: C++11 bindings/wrappers for SDL2
|
||||
Version: @SDL2PP_VERSION@
|
||||
Requires: @SDL2_ALL_PKGCONFIG_MODULES@
|
||||
Requires: @SDL2_ALL_PKGCONFIG_MODULES_STR@
|
||||
Conflicts:
|
||||
Libs: -L${libdir} -lSDL2pp
|
||||
Libs: @SDL2PP_EXTRA_LIBRARIES_STR@ -L${libdir} -lSDL2pp
|
||||
Cflags: -I${includedir}
|
||||
|
@ -29,18 +29,18 @@ FOREACH(HEADER ${LIBRARY_HEADERS})
|
||||
STRING(REGEX REPLACE [^a-zA-Z0-9] _ HEADER_NORMALIZED ${HEADER})
|
||||
CONFIGURE_FILE(header_test.cc.in ${HEADER_NORMALIZED}_test.cc)
|
||||
ADD_EXECUTABLE(${HEADER_NORMALIZED}_test ${HEADER_NORMALIZED}_test.cc)
|
||||
TARGET_LINK_LIBRARIES(${HEADER_NORMALIZED}_test SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(${HEADER_NORMALIZED}_test ${SDL2PP_LIBRARIES})
|
||||
ENDFOREACH(HEADER ${TESTS})
|
||||
|
||||
FOREACH(TEST ${CLI_TESTS})
|
||||
ADD_EXECUTABLE(${TEST} ${TEST}.cc)
|
||||
TARGET_LINK_LIBRARIES(${TEST} SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(${TEST} ${SDL2PP_LIBRARIES})
|
||||
ADD_TEST(${TEST} ${TEST})
|
||||
ENDFOREACH(TEST ${TESTS})
|
||||
|
||||
FOREACH(TEST ${LIVE_TESTS})
|
||||
ADD_EXECUTABLE(${TEST} ${TEST}.cc)
|
||||
TARGET_LINK_LIBRARIES(${TEST} SDL2pp)
|
||||
TARGET_LINK_LIBRARIES(${TEST} ${SDL2PP_LIBRARIES})
|
||||
IF(SDL2PP_ENABLE_LIVE_TESTS)
|
||||
ADD_TEST(${TEST} ${TEST})
|
||||
ENDIF(SDL2PP_ENABLE_LIVE_TESTS)
|
||||
|
Loading…
x
Reference in New Issue
Block a user