diff --git a/CMakeLists.txt b/CMakeLists.txt index 20eb1c6..e32fdd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,7 @@ 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(SDL2PP_WITH_IMAGE) FIND_PACKAGE(SDL2_image REQUIRED) @@ -209,6 +210,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) @@ -272,7 +275,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) diff --git a/FindSDL2PP.cmake.in b/FindSDL2PP.cmake.in index 2fda34d..8baa353 100644 --- a/FindSDL2PP.cmake.in +++ b/FindSDL2PP.cmake.in @@ -24,5 +24,5 @@ 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_LIBRARIES @SDL2PP_EXTRA_LIBRARIES@ ${SDL2PP_LIBRARY} @SDL2_ALL_LIBRARIES@) ENDIF(SDL2PP_FOUND) diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake index 58456fe..7514f34 100644 --- a/cmake/FindSDL2.cmake +++ b/cmake/FindSDL2.cmake @@ -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) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 12b1dfb..824e2de 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -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) diff --git a/sdl2pp.pc.in b/sdl2pp.pc.in index 1915aa4..02e2e20 100644 --- a/sdl2pp.pc.in +++ b/sdl2pp.pc.in @@ -8,5 +8,5 @@ Description: C++11 bindings/wrappers for SDL2 Version: @SDL2PP_VERSION@ Requires: @SDL2_ALL_PKGCONFIG_MODULES@ Conflicts: -Libs: -L${libdir} -lSDL2pp +Libs: @SDL2PP_EXTRA_LIBRARIES@ -L${libdir} -lSDL2pp Cflags: -I${includedir} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7424787..e69b257 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -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)