From 06cc0221852027434483d96c8544ea1bf0490a79 Mon Sep 17 00:00:00 2001 From: Roman Fomin Date: Fri, 5 May 2023 08:42:12 +0700 Subject: [PATCH] cmake: use ALIAS instead of generator expressions, cosmetic changes (#1034) --- CMakeLists.txt | 11 +++++++++++ cmake/FindFluidSynth.cmake | 23 ++++++++--------------- cmake/FindSndFile.cmake | 19 +++++-------------- cmake/Findlibxmp.cmake | 24 +++++++++++++++++------- src/CMakeLists.txt | 10 +++------- 5 files changed, 44 insertions(+), 43 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 33f34d20..68dd36cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/cmake/FindFluidSynth.cmake b/cmake/FindFluidSynth.cmake index e8ea91a7..ca5a21f7 100644 --- a/cmake/FindFluidSynth.cmake +++ b/cmake/FindFluidSynth.cmake @@ -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() diff --git a/cmake/FindSndFile.cmake b/cmake/FindSndFile.cmake index fe74dc15..030e71b7 100644 --- a/cmake/FindSndFile.cmake +++ b/cmake/FindSndFile.cmake @@ -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 diff --git a/cmake/Findlibxmp.cmake b/cmake/Findlibxmp.cmake index 808ed568..8f6628b8 100644 --- a/cmake/Findlibxmp.cmake +++ b/cmake/Findlibxmp.cmake @@ -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) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 242fa783..803e021d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -144,10 +144,7 @@ endif() if(libxmp_FOUND) list(APPEND WOOF_SOURCES i_xmp.c) - list(APPEND WOOF_LIBRARIES - $,libxmp::xmp, - $,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 - $,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 "$/$"