cmake: use ALIAS instead of generator expressions, cosmetic changes (#1034)

This commit is contained in:
Roman Fomin 2023-05-05 08:42:12 +07:00 committed by GitHub
parent 8553ae2beb
commit 06cc022185
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 44 additions and 43 deletions

View File

@ -67,6 +67,10 @@ find_package(SDL2_net REQUIRED)
find_package(OpenAL REQUIRED)
find_package(SndFile 1.0.29 REQUIRED)
if(NOT TARGET SDL2_net::SDL2_net)
add_library(SDL2_net::SDL2_net ALIAS SDL2_net::SDL2_net-static)
endif()
if(SndFile_VERSION VERSION_GREATER_EQUAL "1.1.0")
set(HAVE_SNDFILE_MPEG TRUE)
endif()
@ -80,6 +84,13 @@ endif()
if(libxmp_FOUND)
set(HAVE_LIBXMP TRUE)
if(NOT TARGET libxmp::xmp)
if(TARGET libxmp::xmp_shared)
add_library(libxmp::xmp ALIAS libxmp::xmp_shared)
else()
add_library(libxmp::xmp ALIAS libxmp::xmp_static)
endif()
endif()
endif()
# Python 3

View File

@ -37,34 +37,27 @@ The following cache variables may also be set:
#]=======================================================================]
find_package(PkgConfig QUIET)
pkg_check_modules(PC_FLUIDSYNTH QUIET fluidsynth)
pkg_check_modules(PC_FluidSynth QUIET fluidsynth)
find_path(
FluidSynth_INCLUDE_DIR
find_path(FluidSynth_INCLUDE_DIR
NAMES fluidsynth.h
HINTS "${PC_FLUIDSYNTH_INCLUDEDIR}"
)
HINTS "${PC_FluidSynth_INCLUDEDIR}")
find_library(
FluidSynth_LIBRARY
find_library(FluidSynth_LIBRARY
NAMES fluidsynth libfluidsynth
HINTS "${PC_FLUIDSYNTH_LIBDIR}"
)
HINTS "${PC_FluidSynth_LIBDIR}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
FluidSynth
find_package_handle_standard_args(FluidSynth
REQUIRED_VARS "FluidSynth_LIBRARY" "FluidSynth_INCLUDE_DIR"
VERSION_VAR "FluidSynth_VERSION")
if(FluidSynth_FOUND)
if(NOT TARGET FluidSynth::libfluidsynth)
add_library(FluidSynth::libfluidsynth UNKNOWN IMPORTED)
set_target_properties(
FluidSynth::libfluidsynth
set_target_properties(FluidSynth::libfluidsynth
PROPERTIES IMPORTED_LOCATION "${FluidSynth_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FluidSynth_INCLUDE_DIR}"
)
INTERFACE_INCLUDE_DIRECTORIES "${FluidSynth_INCLUDE_DIR}")
endif()
endif()

View File

@ -1,26 +1,17 @@
# Variables defined:
# SNDFILE_FOUND
# SNDFILE_INCLUDE_DIR
# SNDFILE_LIBRARY
#
# Environment variables used:
# SNDFILE_DIR
# SndFile_FOUND
# SndFile_INCLUDE_DIR
# SndFile_LIBRARY
find_package(PkgConfig QUIET)
pkg_check_modules(PC_SndFile QUIET sndfile)
find_path(SndFile_INCLUDE_DIR sndfile.h
HINTS
${PC_SndFile_INCLUDEDIR}
${PC_SndFile_INCLUDE_DIRS}
${SNDFILE_DIR})
HINTS "${PC_SndFile_INCLUDEDIR}")
find_library(SndFile_LIBRARY
NAMES sndfile libsndfile
HINTS
${PC_SndFile_LIBDIR}
${PC_SndFile_LIBRARY_DIRS}
${SNDFILE_DIR})
HINTS "${PC_SndFile_LIBDIR}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SndFile

View File

@ -1,20 +1,30 @@
include(FindPackageHandleStandardArgs)
# Variables defined:
# libxmp_FOUND
# libxmp_INCLUDE_DIR
# libxmp_LIBRARY
find_package(PkgConfig QUIET)
pkg_check_modules(PC_libxmp QUIET libxmp)
find_library(libxmp_LIBRARY
NAMES xmp)
NAMES xmp
HINTS "${PC_libxmp_LIBDIR}")
find_path(libxmp_INCLUDE_PATH
NAMES xmp.h)
find_path(libxmp_INCLUDE_DIR
NAMES xmp.h
HINTS "${PC_libxmp_INCLUDEDIR}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(libxmp
REQUIRED_VARS libxmp_LIBRARY libxmp_INCLUDE_PATH
)
REQUIRED_VARS libxmp_LIBRARY libxmp_INCLUDE_DIR)
if(libxmp_FOUND)
if(NOT TARGET libxmp::xmp)
add_library(libxmp::xmp UNKNOWN IMPORTED)
set_target_properties(libxmp::xmp PROPERTIES
IMPORTED_LOCATION "${libxmp_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${libxmp_INCLUDE_PATH}")
INTERFACE_INCLUDE_DIRECTORIES "${libxmp_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(libxmp_LIBRARY libxmp_INCLUDE_DIR)

View File

@ -144,10 +144,7 @@ endif()
if(libxmp_FOUND)
list(APPEND WOOF_SOURCES i_xmp.c)
list(APPEND WOOF_LIBRARIES
$<IF:$<TARGET_EXISTS:libxmp::xmp>,libxmp::xmp,
$<IF:$<TARGET_EXISTS:libxmp::xmp_shared>,libxmp::xmp_shared,
libxmp::xmp_static>>)
list(APPEND WOOF_LIBRARIES libxmp::xmp)
endif()
# Standard target definition
@ -187,8 +184,7 @@ endif()
target_woof_settings(woof)
target_include_directories(woof PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
list(APPEND SDL2_LIBRARIES
$<IF:$<TARGET_EXISTS:SDL2_net::SDL2_net>,SDL2_net::SDL2_net,SDL2_net::SDL2_net-static>)
list(APPEND SDL2_LIBRARIES SDL2_net::SDL2_net)
target_link_libraries(woof PRIVATE ${WOOF_LIBRARIES}
${SDL2_LIBRARIES}
@ -248,7 +244,7 @@ endif()
# Install
#
# Rename woof-com and woof-exe executables.
if (WIN32)
if(WIN32)
add_custom_command(TARGET woof-com POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"$<TARGET_FILE_DIR:woof-com>/$<TARGET_FILE_NAME:woof-com>"