mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-08-03 19:05:59 -04:00
Rework and modernize all CMake code
This commit is contained in:
parent
d9f649438d
commit
9b2896c88a
32
.travis.yml
32
.travis.yml
@ -6,26 +6,16 @@ matrix:
|
||||
- compiler: gcc
|
||||
env: COVERAGE=yes CXXFLAGS="--coverage" LDFLAGS"=--coverage"
|
||||
- compiler: clang
|
||||
env: NOOPTLIBS=yes
|
||||
env: CMAKE_ARGS="-DSDL2PP_WITH_IMAGE=NO -DSDL2PP_WITH_MIXER=NO -DSDL2PP_WITH_TTF=NO" NOOPTLIBS=yes
|
||||
- compiler: clang
|
||||
env: STATIC=yes
|
||||
env: CMAKE_ARGS="-DSDL2PP_STATIC=YES"
|
||||
before_install:
|
||||
- sudo add-apt-repository --yes ppa:zoogie/sdl2-snapshots
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq cmake libsdl2-dev cppcheck doxygen pulseaudio
|
||||
- sudo sed -i -e '/using ::gets/ d' /usr/include/c++/4.8/cstdio # build failure with clang/c++1y
|
||||
- |-
|
||||
if [ -n "${COVERAGE}" ]; then
|
||||
pip install --user pyyaml cpp-coveralls
|
||||
fi
|
||||
if [ -n "${NOOPTLIBS}" ]; then
|
||||
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DSDL2PP_WITH_IMAGE=NO -DSDL2PP_WITH_MIXER=NO -DSDL2PP_WITH_TTF=NO"
|
||||
else
|
||||
sudo apt-get install -qq libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev
|
||||
fi
|
||||
if [ -n "${STATIC}" ]; then
|
||||
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DSDL2PP_STATIC=YES"
|
||||
fi
|
||||
- if [ -n "${COVERAGE}" ]; then pip install --user pyyaml cpp-coveralls; fi
|
||||
- if [ -z "${NOOPTLIBS}" ]; then sudo apt-get install -qq libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev; fi
|
||||
|
||||
# evironment for live tests
|
||||
- dbus-launch pulseaudio --start
|
||||
@ -37,18 +27,20 @@ before_install:
|
||||
|
||||
script:
|
||||
- export PREFIX=`pwd`.prefix
|
||||
- cmake . -DCMAKE_INSTALL_PREFIX=${PREFIX} -DSDL2PP_WITH_WERROR=YES ${CMAKE_EXTRA_ARGS}
|
||||
- VERBOSE=1 make && make ARGS=-V test && make install
|
||||
- cppcheck -I . --enable=performance,portability,information,missingInclude --error-exitcode=2 SDL2pp # `style' gives false positive in cppcheck 1.61 which comes with trusty
|
||||
- cmake . -DCMAKE_VERBOSE_MAKEFILE=yes -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ${CMAKE_ARGS}
|
||||
- cmake --build .
|
||||
- ctest -V
|
||||
# `style' gives false positive in cppcheck 1.61 which comes with trusty
|
||||
- cppcheck -I . --enable=performance,portability,information,missingInclude --error-exitcode=2 SDL2pp
|
||||
- sudo make install
|
||||
- make doxygen
|
||||
# - "if make doxygen 2>&1 | grep 'warning:'; then echo 'FATAL: doxygen warnings!'; false; fi"
|
||||
- "if git ls-files --others --exclude-standard | grep ''; then echo 'FATAL: incomplete .gitignore'; false; fi"
|
||||
|
||||
- cat ${TRAVIS_BUILD_DIR}/sdl2pp.pc
|
||||
- cd ${TRAVIS_BUILD_DIR}/exttests/pkg-config && PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig make
|
||||
- cd ${TRAVIS_BUILD_DIR}/exttests/pkg-config && make
|
||||
|
||||
- cat ${TRAVIS_BUILD_DIR}/FindSDL2PP.cmake
|
||||
- cd ${TRAVIS_BUILD_DIR}/exttests/cmake && cmake -DCMAKE_MODULE_PATH=${PREFIX}/share/cmake/Modules . && make
|
||||
- cd ${TRAVIS_BUILD_DIR}/exttests/cmake && cmake . && make
|
||||
|
||||
- cd ${TRAVIS_BUILD_DIR}
|
||||
|
||||
|
172
CMakeLists.txt
172
CMakeLists.txt
@ -5,35 +5,43 @@ project(libSDL2pp)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||
|
||||
set(SDL2PP_MAJOR_VERSION 0)
|
||||
set(SDL2PP_MINOR_VERSION 16)
|
||||
set(SDL2PP_PATCH_VERSION 0)
|
||||
set(SDL2PP_VERSION_MAJOR 0)
|
||||
set(SDL2PP_VERSION_MINOR 17)
|
||||
set(SDL2PP_VERSION_PATCH 0)
|
||||
|
||||
set(SDL2PP_VERSION "${SDL2PP_MAJOR_VERSION}.${SDL2PP_MINOR_VERSION}.${SDL2PP_PATCH_VERSION}")
|
||||
set(SDL2PP_VERSION "${SDL2PP_VERSION_MAJOR}.${SDL2PP_VERSION_MINOR}.${SDL2PP_VERSION_PATCH}")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
||||
set(CMAKE_CXX_EXTENSIONS NO)
|
||||
|
||||
# there are functions present on wiki, but not yet in stable SDL2 releases;
|
||||
# we hide these under following options
|
||||
option(SDL2PP_WITH_WERROR "Make warnings fatal" OFF)
|
||||
|
||||
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
OPTION(SDL2PP_WITH_IMAGE "Enable SDL2_image support" ON)
|
||||
OPTION(SDL2PP_WITH_TTF "Enable SDL2_ttf support" ON)
|
||||
OPTION(SDL2PP_WITH_MIXER "Enable SDL2_mixer support" ON)
|
||||
set(SDL2PP_BUNDLED OFF)
|
||||
set(SDL2PP_STANDALONE ON)
|
||||
else()
|
||||
set(SDL2PP_BUNDLED ON)
|
||||
set(SDL2PP_STANDALONE OFF)
|
||||
endif()
|
||||
|
||||
|
||||
if(SDL2PP_STANDALONE)
|
||||
option(SDL2PP_WITH_IMAGE "Enable SDL2_image support" ON)
|
||||
option(SDL2PP_WITH_TTF "Enable SDL2_ttf support" ON)
|
||||
option(SDL2PP_WITH_MIXER "Enable SDL2_mixer support" ON)
|
||||
|
||||
option(SDL2PP_WITH_EXAMPLES "Build examples" ON)
|
||||
option(SDL2PP_WITH_TESTS "Build tests" ON)
|
||||
option(SDL2PP_ENABLE_LIVE_TESTS "Enable live tests (require X11 display and audio device)" ON)
|
||||
option(SDL2PP_STATIC "Build static library instead of shared one" OFF)
|
||||
else()
|
||||
set(SDL2PP_STATIC ON CACHE BOOL "Build static library instead of shared one")
|
||||
# please set SDL2PP_WITH_IMAGE, SDL2PP_WITH_TTF, SDL2PP_WITH_MIXER in parent project as needed
|
||||
endif()
|
||||
|
||||
# depends
|
||||
find_package(SDL2 REQUIRED)
|
||||
set(SDL2_ALL_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
|
||||
set(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY})
|
||||
set(SDL2_ALL_LIBRARIES SDL2::SDL2)
|
||||
set(SDL2_ALL_PKGCONFIG_MODULES sdl2)
|
||||
set(SDL2PP_EXTRA_LIBRARIES ${SDL2MAIN_LIBRARY})
|
||||
set(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES ${SDL2MAIN_LIBRARY})
|
||||
|
||||
if(MINGW)
|
||||
set(MINGW32_LIBRARY "mingw32" CACHE STRING "mingw32 library")
|
||||
@ -43,8 +51,7 @@ endif()
|
||||
|
||||
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_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_image)
|
||||
set(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_image")
|
||||
else()
|
||||
message(STATUS "SDL2_image support disabled")
|
||||
@ -52,8 +59,7 @@ endif()
|
||||
|
||||
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_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_ttf)
|
||||
set(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_ttf")
|
||||
else()
|
||||
message(STATUS "SDL2_ttf support disabled")
|
||||
@ -61,53 +67,26 @@ endif()
|
||||
|
||||
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_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_mixer)
|
||||
set(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_mixer")
|
||||
else()
|
||||
message(STATUS "SDL2_mixer support disabled")
|
||||
endif()
|
||||
|
||||
# compiler flags & definitions
|
||||
if(MSVC)
|
||||
set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} /W3")
|
||||
set(SDL2PP_WERROR_FLAG "/WX")
|
||||
else()
|
||||
set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} -Wall -Wextra -pedantic")
|
||||
set(SDL2PP_WERROR_FLAG "-Werror")
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
include(AppendCXXFlagIfSupported)
|
||||
set(CMAKE_REQUIRED_FLAGS -std=c++11) # hack, as CMAKE_CXX_STANDARD is not propagated
|
||||
|
||||
# enable for more cleanups
|
||||
#APPEND_CXX_FLAG_IF_SUPPORTED(-Weverything SDL2PP_WARNINGS)
|
||||
|
||||
# always enables some -Weverything warnings
|
||||
APPEND_CXX_FLAG_IF_SUPPORTED(-Wmissing-prototypes SDL2PP_WARNINGS)
|
||||
APPEND_CXX_FLAG_IF_SUPPORTED(-Wtautological-compare SDL2PP_WARNINGS)
|
||||
APPEND_CXX_FLAG_IF_SUPPORTED(-Wshorten-64-to-32 SDL2PP_WARNINGS)
|
||||
|
||||
# disable some -Weverything warnings
|
||||
#APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-c++98-compat SDL2PP_WARNINGS)
|
||||
#APPEND_CXX_FLAG_IF_SUPPORTED(-Wno-padded SDL2PP_WARNINGS)
|
||||
endif()
|
||||
|
||||
list(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS)
|
||||
|
||||
include_directories(BEFORE ${PROJECT_SOURCE_DIR})
|
||||
include_directories(SYSTEM ${SDL2_ALL_INCLUDE_DIRS})
|
||||
|
||||
include(CheckCompile)
|
||||
check_compile(
|
||||
SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
|
||||
"#include <experimental/optional>\nint main() { std::experimental::optional<int> o; return !o; }"
|
||||
"experimental/optional header"
|
||||
check_cxx_source_compiles(
|
||||
"#include <optional>\nint main() { std::optional<int> o; return !o; }"
|
||||
SDL2PP_WITH_STD_OPTIONAL
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SDL2PP_WARNINGS}")
|
||||
|
||||
if(SDL2PP_WITH_WERROR)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SDL2PP_WERROR_FLAG}")
|
||||
endif()
|
||||
check_cxx_source_compiles(
|
||||
"#include <experimental/optional>\nint main() { std::experimental::optional<int> o; return !o; }"
|
||||
SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
|
||||
)
|
||||
|
||||
# config.h
|
||||
configure_file(
|
||||
@ -115,8 +94,6 @@ configure_file(
|
||||
SDL2pp/Config.hh
|
||||
)
|
||||
|
||||
include_directories(BEFORE ${PROJECT_BINARY_DIR})
|
||||
|
||||
# sources
|
||||
set(LIBRARY_SOURCES
|
||||
SDL2pp/AudioDevice.cc
|
||||
@ -206,26 +183,30 @@ endif()
|
||||
# targets
|
||||
include(GenerateExportHeader)
|
||||
|
||||
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
# options
|
||||
option(SDL2PP_WITH_EXAMPLES "Build examples" ON)
|
||||
option(SDL2PP_WITH_TESTS "Build tests" ON)
|
||||
option(SDL2PP_ENABLE_LIVE_TESTS "Enable live tests (require X11 display and audio device)" ON)
|
||||
option(SDL2PP_STATIC "Build static library instead of shared one" OFF)
|
||||
if(SDL2PP_STATIC)
|
||||
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||
set_target_properties(SDL2pp PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
else()
|
||||
add_library(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||
set_target_properties(SDL2pp PROPERTIES
|
||||
VERSION 8.3.0
|
||||
SOVERSION 8
|
||||
C_VISIBILITY_PRESET hidden
|
||||
)
|
||||
endif()
|
||||
target_include_directories(SDL2pp PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
target_link_libraries(SDL2pp PUBLIC ${SDL2_ALL_LIBRARIES})
|
||||
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
||||
|
||||
# library
|
||||
if(SDL2PP_STATIC)
|
||||
ADD_LIBRARY(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||
else()
|
||||
ADD_LIBRARY(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||
TARGET_LINK_LIBRARIES(SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||
SET_TARGET_PROPERTIES(SDL2pp PROPERTIES VERSION 8.3.0 SOVERSION 8)
|
||||
endif()
|
||||
|
||||
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
||||
|
||||
set(SDL2PP_LIBRARIES ${SDL2PP_EXTRA_LIBRARIES} SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||
add_library(SDL2pp::SDL2pp ALIAS SDL2pp)
|
||||
|
||||
if(SDL2PP_STANDALONE)
|
||||
# examples and tests
|
||||
if(SDL2PP_WITH_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
@ -247,32 +228,15 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
)
|
||||
endif()
|
||||
|
||||
# pkgconfig and cmake modules
|
||||
set(CMAKEMODDIR share/cmake/Modules CACHE STRING "directory where to install cmake module")
|
||||
# pkgconfig module
|
||||
configure_file(sdl2pp.pc.in sdl2pp.pc @ONLY)
|
||||
|
||||
# install
|
||||
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()
|
||||
|
||||
include(Join)
|
||||
|
||||
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)
|
||||
|
||||
configure_file(
|
||||
sdl2pp.pc.in
|
||||
sdl2pp.pc
|
||||
@ONLY
|
||||
)
|
||||
|
||||
configure_file(
|
||||
FindSDL2PP.cmake.in
|
||||
FindSDL2PP.cmake
|
||||
@ONLY
|
||||
)
|
||||
|
||||
# install
|
||||
install(FILES
|
||||
${LIBRARY_HEADERS}
|
||||
${PROJECT_BINARY_DIR}/SDL2pp/Config.hh
|
||||
@ -281,22 +245,12 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
||||
)
|
||||
install(FILES ${LIBRARY_EXTERNAL_HEADERS} DESTINATION include/SDL2pp/external)
|
||||
install(TARGETS SDL2pp
|
||||
EXPORT SDL2pp
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
install(FILES ${PROJECT_BINARY_DIR}/sdl2pp.pc DESTINATION ${PKGCONFIGDIR})
|
||||
install(FILES ${PROJECT_BINARY_DIR}/FindSDL2PP.cmake DESTINATION ${CMAKEMODDIR})
|
||||
|
||||
message(STATUS "libSDL2pp ${SDL2PP_VERSION} standalone build")
|
||||
else()
|
||||
# library
|
||||
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
||||
|
||||
# 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_EXTRA_LIBRARIES} SDL2pp ${SDL2_ALL_LIBRARIES} PARENT_SCOPE)
|
||||
|
||||
message(STATUS "libSDL2pp ${SDL2PP_VERSION} bundled build")
|
||||
install(EXPORT SDL2pp NAMESPACE SDL2pp:: DESTINATION lib/cmake/SDL2pp FILE SDL2ppConfig.cmake)
|
||||
endif()
|
||||
|
@ -1,7 +1,6 @@
|
||||
|
||||
libSDL2pp - C++11 bindings/wrapper for SDL2
|
||||
Copyright (C) 2013-2015 Dmitry Marakasov <amdmi3@amdmi3.ru>
|
||||
|
||||
Copyright (C) 2013-2019 Dmitry Marakasov <amdmi3@amdmi3.ru>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
@ -9,7 +8,7 @@ arising from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
@ -17,4 +16,3 @@ freely, subject to the following restrictions:
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
# - Try to find SDL2pp library
|
||||
#
|
||||
# Once done this will define
|
||||
#
|
||||
# SDL2PP_FOUND
|
||||
# SDL2PP_INCLUDE_DIRS
|
||||
# SDL2PP_LIBRARIES
|
||||
|
||||
IF(SDL2PP_INCLUDE_DIR AND SDL2PP_LIBRARY)
|
||||
# in cache already
|
||||
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_LIBRARY(SDL2PP_LIBRARY NAMES SDL2pp HINTS "@CMAKE_INSTALL_PREFIX@/lib")
|
||||
|
||||
MARK_AS_ADVANCED(SDL2PP_INCLUDE_DIR SDL2PP_LIBRARY)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2PP
|
||||
REQUIRED_VARS SDL2PP_INCLUDE_DIR SDL2PP_LIBRARY
|
||||
)
|
||||
|
||||
IF(SDL2PP_FOUND)
|
||||
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)
|
@ -22,15 +22,16 @@
|
||||
#ifndef SDL2PP_CONFIG_HH
|
||||
#define SDL2PP_CONFIG_HH
|
||||
|
||||
#define SDL2PP_MAJOR_VERSION @SDL2PP_MAJOR_VERSION@
|
||||
#define SDL2PP_MINOR_VERSION @SDL2PP_MINOR_VERSION@
|
||||
#define SDL2PP_PATCH_VERSION @SDL2PP_PATCH_VERSION@
|
||||
#define SDL2PP_VERSION_MAJOR @SDL2PP_VERSION_MAJOR@
|
||||
#define SDL2PP_VERSION_MINOR @SDL2PP_VERSION_MINOR@
|
||||
#define SDL2PP_VERSION_PATCH @SDL2PP_VERSION_PATCH@
|
||||
|
||||
#define SDL2PP_VERSION "@SDL2PP_VERSION@"
|
||||
|
||||
#cmakedefine SDL2PP_WITH_IMAGE
|
||||
#cmakedefine SDL2PP_WITH_TTF
|
||||
#cmakedefine SDL2PP_WITH_MIXER
|
||||
#cmakedefine SDL2PP_WITH_STD_OPTIONAL
|
||||
#cmakedefine SDL2PP_WITH_EXPERIMENTAL_OPTIONAL
|
||||
|
||||
#endif
|
||||
|
@ -66,7 +66,22 @@
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
#if defined(SDL2PP_WITH_EXPERIMENTAL_OPTIONAL)
|
||||
#if defined(SDL2PP_WITH_STD_OPTIONAL)
|
||||
|
||||
# include <optional>
|
||||
|
||||
namespace SDL2pp {
|
||||
|
||||
template<typename T>
|
||||
using Optional = std:::optional<T>;
|
||||
|
||||
using BadOptionalAccess = std::bad_optional_access;
|
||||
|
||||
constexpr std::nullopt_t NullOpt = std::nullopt;
|
||||
|
||||
}
|
||||
|
||||
#elif defined(SDL2PP_WITH_EXPERIMENTAL_OPTIONAL)
|
||||
|
||||
# include <experimental/optional>
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
INCLUDE(CheckCXXCompilerFlag)
|
||||
|
||||
MACRO(APPEND_CXX_FLAG_IF_SUPPORTED FLAG VARIABLE)
|
||||
UNSET(HAS_FLAG CACHE)
|
||||
SET(SAVED_CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET})
|
||||
SET(CMAKE_REQUIRED_QUIET YES)
|
||||
CHECK_CXX_COMPILER_FLAG(${FLAG} HAS_FLAG)
|
||||
SET(CMAKE_REQUIRED_QUIET ${SAVED_CMAKE_REQUIRED_QUIET})
|
||||
IF(HAS_FLAG)
|
||||
SET(${VARIABLE} "${${VARIABLE}} ${FLAG}")
|
||||
MESSAGE(STATUS "Checking for ${FLAG}: yes")
|
||||
ELSE(HAS_FLAG)
|
||||
MESSAGE(STATUS "Checking for ${FLAG}: no")
|
||||
ENDIF(HAS_FLAG)
|
||||
ENDMACRO(APPEND_CXX_FLAG_IF_SUPPORTED)
|
@ -1,16 +0,0 @@
|
||||
INCLUDE(CheckCXXSourceCompiles)
|
||||
|
||||
MACRO(CHECK_COMPILE RESULT_VAR CODE DESCRIPTION)
|
||||
SET(SAVED_CMAKE_REQUIRED_QUIET "${CMAKE_REQUIRED_QUIET}")
|
||||
SET(SAVED_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||
SET(CMAKE_REQUIRED_QUIET YES)
|
||||
SET(CMAKE_REQUIRED_FLAGS "${SDL2PP_WERROR_FLAG}")
|
||||
CHECK_CXX_SOURCE_COMPILES("${CODE}" ${RESULT_VAR})
|
||||
SET(CMAKE_REQUIRED_QUIET "${SAVED_CMAKE_REQUIRED_QUIET}")
|
||||
SET(CMAKE_REQUIRED_FLAGS "${SAVED_CMAKE_REQUIRED_FLAGS}")
|
||||
IF(${RESULT_VAR})
|
||||
MESSAGE(STATUS "Checking for ${DESCRIPTION}: yes")
|
||||
ELSE(${RESULT_VAR})
|
||||
MESSAGE(STATUS "Checking for ${DESCRIPTION}: no")
|
||||
ENDIF(${RESULT_VAR})
|
||||
ENDMACRO(CHECK_COMPILE)
|
@ -1,23 +1,23 @@
|
||||
# - Try to locate SDL2
|
||||
# This module defines:
|
||||
#
|
||||
# SDL2_INCLUDE_DIR
|
||||
# SDL2_LIBRARY, SDL2MAIN_LIBRARY
|
||||
# SDL2_FOUND
|
||||
#
|
||||
# SDL2::SDL2, SDL2::SDL2main SDL2MAIN_LIBRARY
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL.h PATH_SUFFIXES SDL2)
|
||||
find_path(SDL2_INCLUDE_DIR NAMES SDL.h PATH_SUFFIXES SDL2)
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2)
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY NAMES SDL2main)
|
||||
find_library(SDL2_LIBRARY NAMES SDL2)
|
||||
find_library(SDL2MAIN_LIBRARY NAMES SDL2main)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
if(SDL2_INCLUDE_DIR AND SDL2_LIBRARY)
|
||||
add_library(SDL2::SDL2 UNKNOWN IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2 PROPERTY IMPORTED_LOCATION ${SDL2_LIBRARY})
|
||||
set_target_properties(SDL2::SDL2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SDL2_INCLUDE_DIR})
|
||||
|
||||
IF (UNIX)
|
||||
# Fedora has reportedly dropped SDLmain, so don't treat it as mandatory on *nix
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
||||
ELSE (UNIX)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2MAIN_LIBRARY SDL2_INCLUDE_DIR)
|
||||
ENDIF (UNIX)
|
||||
message(STATUS "Found SDL2: ${SDL2_LIBRARY}")
|
||||
|
||||
MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY SDL2MAIN_LIBRARY)
|
||||
if(SDL2MAIN_LIBRARY)
|
||||
add_library(SDL2::SDL2main UNKNOWN IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2main PROPERTY IMPORTED_LOCATION ${SDL2MAIN_LIBRARY})
|
||||
|
||||
message(STATUS "Found SDL2main: ${SDL2MAIN_LIBRARY}")
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find SDL2")
|
||||
endif()
|
||||
|
@ -1,17 +1,14 @@
|
||||
# - Try to locate SDL2_image
|
||||
# This module defines:
|
||||
#
|
||||
# SDL2_IMAGE_INCLUDE_DIR
|
||||
# SDL2_IMAGE_LIBRARY
|
||||
# SDL2_IMAGE_FOUND
|
||||
#
|
||||
# SDL2::SDL2_image
|
||||
|
||||
FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL_image.h PATH_SUFFIXES SDL2)
|
||||
find_path(SDL2_IMAGE_INCLUDE_DIR NAMES SDL_image.h PATH_SUFFIXES SDL2)
|
||||
find_library(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
|
||||
|
||||
FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
|
||||
if(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY)
|
||||
add_library(SDL2::SDL2_image UNKNOWN IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2_image PROPERTY IMPORTED_LOCATION ${SDL2_IMAGE_LIBRARY})
|
||||
set_target_properties(SDL2::SDL2_image PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SDL2_IMAGE_INCLUDE_DIR})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image REQUIRED_VARS SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY)
|
||||
message(STATUS "Found SDL2_image: ${SDL2_IMAGE_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find SDL2_image")
|
||||
endif()
|
||||
|
@ -1,17 +1,14 @@
|
||||
# - Try to locate SDL2_mixer
|
||||
# This module defines:
|
||||
#
|
||||
# SDL2_MIXER_INCLUDE_DIR
|
||||
# SDL2_MIXER_LIBRARY
|
||||
# SDL2_MIXER_FOUND
|
||||
#
|
||||
# SDL2::SDL2_mixer
|
||||
|
||||
FIND_PATH(SDL2_MIXER_INCLUDE_DIR NAMES SDL_mixer.h PATH_SUFFIXES SDL2)
|
||||
find_path(SDL2_MIXER_INCLUDE_DIR NAMES SDL_mixer.h PATH_SUFFIXES SDL2)
|
||||
find_library(SDL2_MIXER_LIBRARY NAMES SDL2_mixer)
|
||||
|
||||
FIND_LIBRARY(SDL2_MIXER_LIBRARY NAMES SDL2_mixer)
|
||||
if(SDL2_MIXER_INCLUDE_DIR AND SDL2_MIXER_LIBRARY)
|
||||
add_library(SDL2::SDL2_mixer UNKNOWN IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2_mixer PROPERTY IMPORTED_LOCATION ${SDL2_MIXER_LIBRARY})
|
||||
set_target_properties(SDL2::SDL2_mixer PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SDL2_MIXER_INCLUDE_DIR})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_mixer REQUIRED_VARS SDL2_MIXER_LIBRARY SDL2_MIXER_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(SDL2_MIXER_INCLUDE_DIR SDL2_MIXER_LIBRARY)
|
||||
message(STATUS "Found SDL2_mixer: ${SDL2_MIXER_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find SDL2_mixer")
|
||||
endif()
|
||||
|
@ -1,17 +1,14 @@
|
||||
# - Try to locate SDL2_ttf
|
||||
# This module defines:
|
||||
#
|
||||
# SDL2_TTF_INCLUDE_DIR
|
||||
# SDL2_TTF_LIBRARY
|
||||
# SDL2_TTF_FOUND
|
||||
#
|
||||
# SDL2::SDL2_ttf
|
||||
|
||||
FIND_PATH(SDL2_TTF_INCLUDE_DIR NAMES SDL_ttf.h PATH_SUFFIXES SDL2)
|
||||
find_path(SDL2_TTF_INCLUDE_DIR NAMES SDL_ttf.h PATH_SUFFIXES SDL2)
|
||||
find_library(SDL2_TTF_LIBRARY NAMES SDL2_ttf)
|
||||
|
||||
FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf)
|
||||
if(SDL2_TTF_INCLUDE_DIR AND SDL2_TTF_LIBRARY)
|
||||
add_library(SDL2::SDL2_ttf UNKNOWN IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2_ttf PROPERTY IMPORTED_LOCATION ${SDL2_TTF_LIBRARY})
|
||||
set_target_properties(SDL2::SDL2_ttf PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${SDL2_TTF_INCLUDE_DIR})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf REQUIRED_VARS SDL2_TTF_LIBRARY SDL2_TTF_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY)
|
||||
message(STATUS "Found SDL2_ttf: ${SDL2_TTF_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find SDL2_ttf")
|
||||
endif()
|
||||
|
@ -1,23 +0,0 @@
|
||||
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,6 +1,4 @@
|
||||
ADD_DEFINITIONS(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
||||
|
||||
SET(EXAMPLES
|
||||
set(EXAMPLES
|
||||
audio_sine
|
||||
audio_wav
|
||||
lines
|
||||
@ -8,29 +6,30 @@ SET(EXAMPLES
|
||||
sprites
|
||||
)
|
||||
|
||||
IF(SDL2PP_WITH_IMAGE)
|
||||
SET(EXAMPLES ${EXAMPLES}
|
||||
if(SDL2PP_WITH_IMAGE)
|
||||
set(EXAMPLES ${EXAMPLES}
|
||||
image
|
||||
fill
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_IMAGE)
|
||||
endif(SDL2PP_WITH_IMAGE)
|
||||
|
||||
IF(SDL2PP_WITH_MIXER)
|
||||
SET(EXAMPLES ${EXAMPLES}
|
||||
if(SDL2PP_WITH_MIXER)
|
||||
set(EXAMPLES ${EXAMPLES}
|
||||
mixer
|
||||
mixer_music
|
||||
mixer_music_sine
|
||||
mixer_effects
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_MIXER)
|
||||
endif(SDL2PP_WITH_MIXER)
|
||||
|
||||
IF(SDL2PP_WITH_TTF)
|
||||
SET(EXAMPLES ${EXAMPLES}
|
||||
ttf
|
||||
if(SDL2PP_WITH_TTF)
|
||||
set(EXAMPLES ${EXAMPLES} ttf)
|
||||
endif(SDL2PP_WITH_TTF)
|
||||
|
||||
foreach(EXAMPLE ${EXAMPLES})
|
||||
add_executable(${EXAMPLE} ${EXAMPLE}.cc)
|
||||
target_compile_definitions(${EXAMPLE} PRIVATE
|
||||
TESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata"
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_TTF)
|
||||
|
||||
FOREACH(EXAMPLE ${EXAMPLES})
|
||||
ADD_EXECUTABLE(${EXAMPLE} ${EXAMPLE}.cc)
|
||||
TARGET_LINK_LIBRARIES(${EXAMPLE} ${SDL2PP_LIBRARIES})
|
||||
ENDFOREACH(EXAMPLE)
|
||||
target_link_libraries(${EXAMPLE} SDL2pp::SDL2pp)
|
||||
endforeach(EXAMPLE)
|
||||
|
@ -1,10 +1,9 @@
|
||||
PROJECT(libSDL2pp)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||
project(libSDL2pp)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
FIND_PACKAGE(SDL2PP REQUIRED)
|
||||
find_package(SDL2PP REQUIRED)
|
||||
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
INCLUDE_DIRECTORIES(${SDL2PP_INCLUDE_DIRS})
|
||||
ADD_EXECUTABLE(cmake-ext-test ../../examples/sprites.cc)
|
||||
TARGET_LINK_LIBRARIES(cmake-ext-test ${SDL2PP_LIBRARIES})
|
||||
add_executable(cmake-ext-test ../../examples/sprites.cc)
|
||||
target_link_libraries(cmake-ext-test SDL2pp::SDL2pp)
|
||||
|
@ -2,12 +2,9 @@ CXX?= g++
|
||||
|
||||
CXXFLAGS+= -std=c++11
|
||||
|
||||
SDL2PP_CFLAGS= `pkg-config --cflags sdl2pp`
|
||||
SDL2PP_LIBS= `pkg-config --libs sdl2pp`
|
||||
|
||||
all: make-ext-test
|
||||
|
||||
make-ext-test:
|
||||
@echo "SDL2PP_CFLAGS=${SDL2PP_CFLAGS}"
|
||||
@echo "SDL2PP_LIBS=${SDL2PP_LIBS}"
|
||||
${CXX} ${CXXFLAGS} ../../examples/sprites.cc -o make-ext-test ${SDL2PP_CFLAGS} ${SDL2PP_LIBS}
|
||||
${CXX} -o make-ext-test ../../examples/sprites.cc ${CXXFLAGS} `pkg-config --cflags --libs sdl2pp`
|
||||
|
@ -1,5 +1,5 @@
|
||||
# simple command-line tests
|
||||
SET(CLI_TESTS
|
||||
set(CLI_TESTS
|
||||
test_color
|
||||
test_color_constexpr
|
||||
test_error
|
||||
@ -11,52 +11,52 @@ SET(CLI_TESTS
|
||||
)
|
||||
|
||||
# live tests require X11 display and/or audio output
|
||||
SET(LIVE_TESTS
|
||||
set(LIVE_TESTS
|
||||
live_audiodevice
|
||||
live_rendering
|
||||
live_window
|
||||
)
|
||||
|
||||
IF(SDL2PP_WITH_MIXER)
|
||||
SET(LIVE_TESTS ${LIVE_TESTS}
|
||||
if(SDL2PP_WITH_MIXER)
|
||||
set(LIVE_TESTS ${LIVE_TESTS}
|
||||
live_mixer
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_MIXER)
|
||||
endif()
|
||||
|
||||
IF(SDL2PP_WITH_IMAGE)
|
||||
SET(CLI_TESTS ${CLI_TESTS}
|
||||
if(SDL2PP_WITH_IMAGE)
|
||||
set(CLI_TESTS ${CLI_TESTS}
|
||||
test_surface
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_IMAGE)
|
||||
endif()
|
||||
|
||||
IF(SDL2PP_WITH_TTF)
|
||||
SET(CLI_TESTS ${CLI_TESTS}
|
||||
if(SDL2PP_WITH_TTF)
|
||||
set(CLI_TESTS ${CLI_TESTS}
|
||||
test_font
|
||||
)
|
||||
ENDIF(SDL2PP_WITH_TTF)
|
||||
endif()
|
||||
|
||||
ADD_DEFINITIONS(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
||||
add_definitions(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
||||
|
||||
# header tests: these just include specific headers to check if
|
||||
# they are compilable (e.g., includes and forward declarations are
|
||||
# complete and do not require extra includes)
|
||||
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_LIBRARIES})
|
||||
ENDFOREACH(HEADER ${TESTS})
|
||||
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::SDL2pp)
|
||||
endforeach()
|
||||
|
||||
FOREACH(TEST ${CLI_TESTS})
|
||||
ADD_EXECUTABLE(${TEST} ${TEST}.cc)
|
||||
TARGET_LINK_LIBRARIES(${TEST} ${SDL2PP_LIBRARIES})
|
||||
ADD_TEST(${TEST} ${TEST})
|
||||
ENDFOREACH(TEST ${TESTS})
|
||||
foreach(TEST ${CLI_TESTS})
|
||||
add_executable(${TEST} ${TEST}.cc)
|
||||
target_link_libraries(${TEST} SDL2pp::SDL2pp)
|
||||
add_test(${TEST} ${TEST})
|
||||
endforeach()
|
||||
|
||||
FOREACH(TEST ${LIVE_TESTS})
|
||||
ADD_EXECUTABLE(${TEST} ${TEST}.cc)
|
||||
TARGET_LINK_LIBRARIES(${TEST} ${SDL2PP_LIBRARIES})
|
||||
IF(SDL2PP_ENABLE_LIVE_TESTS)
|
||||
ADD_TEST(${TEST} ${TEST})
|
||||
ENDIF(SDL2PP_ENABLE_LIVE_TESTS)
|
||||
ENDFOREACH(TEST ${TESTS})
|
||||
foreach(TEST ${LIVE_TESTS})
|
||||
add_executable(${TEST} ${TEST}.cc)
|
||||
target_link_libraries(${TEST} SDL2pp::SDL2pp)
|
||||
if(SDL2PP_ENABLE_LIVE_TESTS)
|
||||
add_test(${TEST} ${TEST})
|
||||
endif()
|
||||
endforeach()
|
||||
|
Loading…
x
Reference in New Issue
Block a user