mirror of
https://github.com/libSDL2pp/libSDL2pp.git
synced 2025-09-07 14:25:17 -04:00
Modernize CMake: remove duplicate loop/if args
This commit is contained in:
parent
051e2e24fa
commit
34329a72ef
@ -17,9 +17,9 @@ 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)
|
option(SDL2PP_WITH_MIXER "Enable SDL2_mixer support" ON)
|
||||||
else(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
else()
|
||||||
# please set SDL2PP_WITH_IMAGE, SDL2PP_WITH_TTF, SDL2PP_WITH_MIXER 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()
|
||||||
|
|
||||||
# depends
|
# depends
|
||||||
find_package(SDL2 REQUIRED)
|
find_package(SDL2 REQUIRED)
|
||||||
@ -33,39 +33,39 @@ if(MINGW)
|
|||||||
set(MINGW32_LIBRARY "mingw32" CACHE STRING "mingw32 library")
|
set(MINGW32_LIBRARY "mingw32" CACHE STRING "mingw32 library")
|
||||||
set(SDL2PP_EXTRA_LIBRARIES ${MINGW32_LIBRARY} ${SDL2PP_EXTRA_LIBRARIES})
|
set(SDL2PP_EXTRA_LIBRARIES ${MINGW32_LIBRARY} ${SDL2PP_EXTRA_LIBRARIES})
|
||||||
set(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES "-l${MINGW32_LIBRARY} ${SDL2PP_EXTRA_PKGCONFIG_LIBRARIES}")
|
set(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES "-l${MINGW32_LIBRARY} ${SDL2PP_EXTRA_PKGCONFIG_LIBRARIES}")
|
||||||
endif(MINGW)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_IMAGE)
|
if(SDL2PP_WITH_IMAGE)
|
||||||
find_package(SDL2_image REQUIRED)
|
find_package(SDL2_image REQUIRED)
|
||||||
set(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR})
|
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_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)
|
else()
|
||||||
message(STATUS "SDL2_image support disabled")
|
message(STATUS "SDL2_image support disabled")
|
||||||
endif(SDL2PP_WITH_IMAGE)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_TTF)
|
if(SDL2PP_WITH_TTF)
|
||||||
find_package(SDL2_ttf REQUIRED)
|
find_package(SDL2_ttf REQUIRED)
|
||||||
set(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIR})
|
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_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)
|
else()
|
||||||
message(STATUS "SDL2_ttf support disabled")
|
message(STATUS "SDL2_ttf support disabled")
|
||||||
endif(SDL2PP_WITH_TTF)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_MIXER)
|
if(SDL2PP_WITH_MIXER)
|
||||||
find_package(SDL2_mixer REQUIRED)
|
find_package(SDL2_mixer REQUIRED)
|
||||||
set(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIR})
|
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_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)
|
else()
|
||||||
message(STATUS "SDL2_mixer support disabled")
|
message(STATUS "SDL2_mixer support disabled")
|
||||||
endif(SDL2PP_WITH_MIXER)
|
endif()
|
||||||
|
|
||||||
# compiler flags & definitions
|
# compiler flags & definitions
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} /W3")
|
set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} /W3")
|
||||||
else(MSVC)
|
else()
|
||||||
set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
|
set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --coverage")
|
set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --coverage")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} --coverage")
|
set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} --coverage")
|
||||||
@ -79,7 +79,7 @@ else(MSVC)
|
|||||||
# For adventurous
|
# For adventurous
|
||||||
#set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} -Weverything -Wno-c++98-compat -Wno-padded")
|
#set(SDL2PP_WARNINGS "${SDL2PP_WARNINGS} -Weverything -Wno-c++98-compat -Wno-padded")
|
||||||
endif()
|
endif()
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
|
||||||
list(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS)
|
list(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS)
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ if(SDL2PP_WITH_TTF)
|
|||||||
SDL2pp/SDLTTF.hh
|
SDL2pp/SDLTTF.hh
|
||||||
SDL2pp/Font.hh
|
SDL2pp/Font.hh
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_TTF)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_IMAGE)
|
if(SDL2PP_WITH_IMAGE)
|
||||||
set(LIBRARY_SOURCES
|
set(LIBRARY_SOURCES
|
||||||
@ -170,7 +170,7 @@ if(SDL2PP_WITH_IMAGE)
|
|||||||
${LIBRARY_HEADERS}
|
${LIBRARY_HEADERS}
|
||||||
SDL2pp/SDLImage.hh
|
SDL2pp/SDLImage.hh
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_IMAGE)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_MIXER)
|
if(SDL2PP_WITH_MIXER)
|
||||||
set(LIBRARY_SOURCES
|
set(LIBRARY_SOURCES
|
||||||
@ -187,7 +187,7 @@ if(SDL2PP_WITH_MIXER)
|
|||||||
SDL2pp/Music.hh
|
SDL2pp/Music.hh
|
||||||
SDL2pp/SDLMixer.hh
|
SDL2pp/SDLMixer.hh
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_MIXER)
|
endif()
|
||||||
|
|
||||||
# targets
|
# targets
|
||||||
include(GenerateExportHeader)
|
include(GenerateExportHeader)
|
||||||
@ -202,11 +202,11 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
# library
|
# library
|
||||||
if(SDL2PP_STATIC)
|
if(SDL2PP_STATIC)
|
||||||
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
else(SDL2PP_STATIC)
|
else()
|
||||||
add_library(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
add_library(SDL2pp SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
target_link_libraries(SDL2pp ${SDL2_ALL_LIBRARIES})
|
target_link_libraries(SDL2pp ${SDL2_ALL_LIBRARIES})
|
||||||
set_target_properties(SDL2pp PROPERTIES VERSION 8.3.0 SOVERSION 8)
|
set_target_properties(SDL2pp PROPERTIES VERSION 8.3.0 SOVERSION 8)
|
||||||
endif(SDL2PP_STATIC)
|
endif()
|
||||||
|
|
||||||
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
||||||
|
|
||||||
@ -215,12 +215,12 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
# examples and tests
|
# examples and tests
|
||||||
if(SDL2PP_WITH_EXAMPLES)
|
if(SDL2PP_WITH_EXAMPLES)
|
||||||
add_subdirectory(examples)
|
add_subdirectory(examples)
|
||||||
endif(SDL2PP_WITH_EXAMPLES)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_TESTS)
|
if(SDL2PP_WITH_TESTS)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif(SDL2PP_WITH_TESTS)
|
endif()
|
||||||
|
|
||||||
# doxygen
|
# doxygen
|
||||||
find_package(Doxygen)
|
find_package(Doxygen)
|
||||||
@ -231,14 +231,14 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||||
)
|
)
|
||||||
endif(DOXYGEN_FOUND)
|
endif()
|
||||||
|
|
||||||
# pkgconfig and cmake modules
|
# pkgconfig and cmake modules
|
||||||
set(CMAKEMODDIR share/cmake/Modules CACHE STRING "directory where to install cmake module")
|
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")
|
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")
|
if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
||||||
set(PKGCONFIGDIR libdata/pkgconfig)
|
set(PKGCONFIGDIR libdata/pkgconfig)
|
||||||
endif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
endif()
|
||||||
|
|
||||||
include(Join)
|
include(Join)
|
||||||
|
|
||||||
@ -275,7 +275,7 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
install(FILES ${PROJECT_BINARY_DIR}/FindSDL2PP.cmake DESTINATION ${CMAKEMODDIR})
|
install(FILES ${PROJECT_BINARY_DIR}/FindSDL2PP.cmake DESTINATION ${CMAKEMODDIR})
|
||||||
|
|
||||||
message(STATUS "libSDL2pp ${SDL2PP_VERSION} standalone build")
|
message(STATUS "libSDL2pp ${SDL2PP_VERSION} standalone build")
|
||||||
else(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
else()
|
||||||
# library
|
# library
|
||||||
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
add_library(SDL2pp STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
generate_export_header(SDL2pp EXPORT_FILE_NAME SDL2pp/Export.hh)
|
||||||
@ -285,4 +285,4 @@ else(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
|||||||
set(SDL2PP_LIBRARIES ${SDL2PP_EXTRA_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")
|
message(STATUS "libSDL2pp ${SDL2PP_VERSION} bundled build")
|
||||||
endif(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
|
endif()
|
||||||
|
@ -13,7 +13,7 @@ if(SDL2PP_WITH_IMAGE)
|
|||||||
image
|
image
|
||||||
fill
|
fill
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_IMAGE)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_MIXER)
|
if(SDL2PP_WITH_MIXER)
|
||||||
set(EXAMPLES ${EXAMPLES}
|
set(EXAMPLES ${EXAMPLES}
|
||||||
@ -22,15 +22,15 @@ if(SDL2PP_WITH_MIXER)
|
|||||||
mixer_music_sine
|
mixer_music_sine
|
||||||
mixer_effects
|
mixer_effects
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_MIXER)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_TTF)
|
if(SDL2PP_WITH_TTF)
|
||||||
set(EXAMPLES ${EXAMPLES}
|
set(EXAMPLES ${EXAMPLES}
|
||||||
ttf
|
ttf
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_TTF)
|
endif()
|
||||||
|
|
||||||
foreach(EXAMPLE ${EXAMPLES})
|
foreach(EXAMPLE ${EXAMPLES})
|
||||||
add_executable(${EXAMPLE} ${EXAMPLE}.cc)
|
add_executable(${EXAMPLE} ${EXAMPLE}.cc)
|
||||||
target_link_libraries(${EXAMPLE} ${SDL2PP_LIBRARIES})
|
target_link_libraries(${EXAMPLE} ${SDL2PP_LIBRARIES})
|
||||||
endforeach(EXAMPLE)
|
endforeach()
|
||||||
|
@ -21,19 +21,19 @@ if(SDL2PP_WITH_MIXER)
|
|||||||
set(LIVE_TESTS ${LIVE_TESTS}
|
set(LIVE_TESTS ${LIVE_TESTS}
|
||||||
live_mixer
|
live_mixer
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_MIXER)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_IMAGE)
|
if(SDL2PP_WITH_IMAGE)
|
||||||
set(CLI_TESTS ${CLI_TESTS}
|
set(CLI_TESTS ${CLI_TESTS}
|
||||||
test_surface
|
test_surface
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_IMAGE)
|
endif()
|
||||||
|
|
||||||
if(SDL2PP_WITH_TTF)
|
if(SDL2PP_WITH_TTF)
|
||||||
set(CLI_TESTS ${CLI_TESTS}
|
set(CLI_TESTS ${CLI_TESTS}
|
||||||
test_font
|
test_font
|
||||||
)
|
)
|
||||||
endif(SDL2PP_WITH_TTF)
|
endif()
|
||||||
|
|
||||||
add_definitions(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
add_definitions(-DTESTDATA_DIR="${PROJECT_SOURCE_DIR}/testdata")
|
||||||
|
|
||||||
@ -45,18 +45,18 @@ foreach(HEADER ${LIBRARY_HEADERS})
|
|||||||
configure_file(header_test.cc.in ${HEADER_NORMALIZED}_test.cc)
|
configure_file(header_test.cc.in ${HEADER_NORMALIZED}_test.cc)
|
||||||
add_executable(${HEADER_NORMALIZED}_test ${HEADER_NORMALIZED}_test.cc)
|
add_executable(${HEADER_NORMALIZED}_test ${HEADER_NORMALIZED}_test.cc)
|
||||||
target_link_libraries(${HEADER_NORMALIZED}_test ${SDL2PP_LIBRARIES})
|
target_link_libraries(${HEADER_NORMALIZED}_test ${SDL2PP_LIBRARIES})
|
||||||
endforeach(HEADER ${TESTS})
|
endforeach()
|
||||||
|
|
||||||
foreach(TEST ${CLI_TESTS})
|
foreach(TEST ${CLI_TESTS})
|
||||||
add_executable(${TEST} ${TEST}.cc)
|
add_executable(${TEST} ${TEST}.cc)
|
||||||
target_link_libraries(${TEST} ${SDL2PP_LIBRARIES})
|
target_link_libraries(${TEST} ${SDL2PP_LIBRARIES})
|
||||||
add_test(${TEST} ${TEST})
|
add_test(${TEST} ${TEST})
|
||||||
endforeach(TEST ${TESTS})
|
endforeach()
|
||||||
|
|
||||||
foreach(TEST ${LIVE_TESTS})
|
foreach(TEST ${LIVE_TESTS})
|
||||||
add_executable(${TEST} ${TEST}.cc)
|
add_executable(${TEST} ${TEST}.cc)
|
||||||
target_link_libraries(${TEST} ${SDL2PP_LIBRARIES})
|
target_link_libraries(${TEST} ${SDL2PP_LIBRARIES})
|
||||||
if(SDL2PP_ENABLE_LIVE_TESTS)
|
if(SDL2PP_ENABLE_LIVE_TESTS)
|
||||||
add_test(${TEST} ${TEST})
|
add_test(${TEST} ${TEST})
|
||||||
endif(SDL2PP_ENABLE_LIVE_TESTS)
|
endif()
|
||||||
endforeach(TEST ${TESTS})
|
endforeach()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user