diff --git a/CMakeLists.txt b/CMakeLists.txt index e25050ef7a..b3dcda0c5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,40 +186,29 @@ if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) endif() # Adds a library to the liblist if COND is true and the lib is found -# When REQ is true the lib is required -function(find_lib_int LIBNAME COND REQ) +# When COND is REQUIRED the lib is required +function(find_lib LIBNAME COND) + set(REQ OFF) + if(${COND} MATCHES "REQUIRED") + set(COND ON) + set(REQ ON) + endif() + if(${COND}) - list(APPEND EASYRPG_LIB_LIST ${LIBNAME}) - if(${REQ}) find_package(${LIBNAME} REQUIRED) else() find_package(${LIBNAME}) endif() - string(TOUPPER ${LIBNAME} LIBNAMEUP) - include_directories(${${LIBNAMEUP}_INCLUDE_DIR} ${${LIBNAMEUP}_INCLUDE_DIRS}) - set(NEW_LIBS ${${LIBNAMEUP}_LIBRARY} ${${LIBNAMEUP}_LIBRARIES} PARENT_SCOPE) - endif() - - # Export _FOUND variable to parent scope - set(${LIBNAME}_FOUND ${${LIBNAME}_FOUND} PARENT_SCOPE) -endfunction() - -function(find_lib_req LIBNAME COND) - find_lib_int(${LIBNAME} ${COND} ON) - - # Export _FOUND variable to parent scope which is global scope - set(${LIBNAME}_FOUND ${${LIBNAME}_FOUND} PARENT_SCOPE) - set(EASYRPG_PLAYER_LIBRARIES ${EASYRPG_PLAYER_LIBRARIES} ${NEW_LIBS} PARENT_SCOPE) -endfunction() + if(${${LIBNAME}_FOUND}) + string(TOUPPER ${LIBNAME} LIBNAMEUP) + include_directories(${${LIBNAMEUP}_INCLUDE_DIRS}) + set(EASYRPG_PLAYER_LIBRARIES ${EASYRPG_PLAYER_LIBRARIES} ${${LIBNAMEUP}_LIBRARIES} PARENT_SCOPE) + endif() -function(find_lib LIBNAME COND) - find_lib_int(${LIBNAME} ${COND} OFF) - - # Export _FOUND variable to parent scope which is global scope - set(${LIBNAME}_FOUND ${${LIBNAME}_FOUND} PARENT_SCOPE) - set(EASYRPG_PLAYER_LIBRARIES ${EASYRPG_PLAYER_LIBRARIES} ${NEW_LIBS} PARENT_SCOPE) + set(${LIBNAME}_FOUND ${${LIBNAME}_FOUND} PARENT_SCOPE) + endif() endfunction() # liblcf @@ -242,12 +231,12 @@ if(PLAYER_BUILD_LIBLCF) ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/liblcf) else() # Use system package - find_lib_req(liblcf ON) + find_lib(liblcf REQUIRED) endif() # Detect all required libraries foreach(i Pixman ZLIB PNG SDL2) - find_lib_req(${i} ON) + find_lib(${i} REQUIRED) endforeach() # Always enable Wine registry support on non-Windows @@ -274,7 +263,7 @@ set_property(CACHE PLAYER_AUDIO_BACKEND PROPERTY STRINGS SDL2 OpenAL OFF) # Configure Audio backends if(${PLAYER_AUDIO_BACKEND} MATCHES "SDL2_mixer") # SDL2_mixer Audio - find_lib_req(SDL2_mixer ON) + find_lib(SDL2_mixer REQUIRED) add_definitions(-DHAVE_SDL_MIXER=1) # speexdsp diff --git a/builds/cmake/Modules/FindFluidSynth.cmake b/builds/cmake/Modules/FindFluidSynth.cmake index b65bb2e5d4..1dda99749f 100644 --- a/builds/cmake/Modules/FindFluidSynth.cmake +++ b/builds/cmake/Modules/FindFluidSynth.cmake @@ -3,3 +3,8 @@ find_path(FLUIDSYNTH_INCLUDE_DIR "fluidsynth.h") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FluidSynth DEFAULT_MSG FLUIDSYNTH_LIBRARY FLUIDSYNTH_INCLUDE_DIR) + +set(FLUIDSYNTH_INCLUDE_DIRS ${FLUIDSYNTH_INCLUDE_DIR}) +set(FLUIDSYNTH_LIBRARIES ${FLUIDSYNTH_LIBRARY}) + +mark_as_advanced(FLUIDSYNTH_INCLUDE_DIR FLUIDSYNTH_LIBRARY) diff --git a/builds/cmake/Modules/FindHarfbuzz.cmake b/builds/cmake/Modules/FindHarfbuzz.cmake index 4d4aed49ed..45956c80e6 100644 --- a/builds/cmake/Modules/FindHarfbuzz.cmake +++ b/builds/cmake/Modules/FindHarfbuzz.cmake @@ -12,3 +12,8 @@ endif() find_package_handle_standard_args(Harfbuzz REQUIRED_VARS HARFBUZZ_INCLUDE_DIR HARFBUZZ_LIBRARY) + +set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR}) +set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY}) + +mark_as_advanced(HARFBUZZ_INCLUDE_DIR HARFBUZZ_LIBRARY) diff --git a/builds/cmake/Modules/FindPixman.cmake b/builds/cmake/Modules/FindPixman.cmake index d07390fdf8..f6bc031063 100644 --- a/builds/cmake/Modules/FindPixman.cmake +++ b/builds/cmake/Modules/FindPixman.cmake @@ -12,3 +12,8 @@ endif() find_package_handle_standard_args(Pixman REQUIRED_VARS PIXMAN_INCLUDE_DIR PIXMAN_LIBRARY) + +set(PIXMAN_INCLUDE_DIRS ${PIXMAN_INCLUDE_DIR}) +set(PIXMAN_LIBRARIES ${PIXMAN_LIBRARY}) + +mark_as_advanced(PIXMAN_INCLUDE_DIR PIXMAN_LIBRARY) diff --git a/builds/cmake/Modules/FindSDL2.cmake b/builds/cmake/Modules/FindSDL2.cmake index 7f52d0448d..66bdd339b6 100644 --- a/builds/cmake/Modules/FindSDL2.cmake +++ b/builds/cmake/Modules/FindSDL2.cmake @@ -228,3 +228,8 @@ include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR VERSION_VAR SDL2_VERSION_STRING) + +set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR}) +set(SDL2_LIBRARIES ${SDL2_LIBRARY}) + +mark_as_advanced(SDL2_INCLUDE_DIR SDL2_LIBRARY) diff --git a/builds/cmake/Modules/FindXMP.cmake b/builds/cmake/Modules/FindXMP.cmake index 7776e4fe37..5e4127e02c 100644 --- a/builds/cmake/Modules/FindXMP.cmake +++ b/builds/cmake/Modules/FindXMP.cmake @@ -17,3 +17,8 @@ else() endif() find_package_handle_standard_args(XMP REQUIRED_VARS XMP_INCLUDE_DIR XMP_LIBRARY) + +set(XMP_INCLUDE_DIRS ${XMP_INCLUDE_DIR}) +set(XMP_LIBRARIES ${XMP_LIBRARY}) + +mark_as_advanced(XMP_INCLUDE_DIR XMP_LIBRARY) diff --git a/builds/cmake/Modules/Findliblcf.cmake b/builds/cmake/Modules/Findliblcf.cmake index d78fa500c0..8932c9ae1e 100644 --- a/builds/cmake/Modules/Findliblcf.cmake +++ b/builds/cmake/Modules/Findliblcf.cmake @@ -5,7 +5,7 @@ if(EXISTS "${LIBLCF_INCLUDE_DIR_INTERNAL}") endif() include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(LIBLCF DEFAULT_MSG LIBLCF_INCLUDE_DIR LIBLCF_LIBRARY) +find_package_handle_standard_args(liblcf DEFAULT_MSG LIBLCF_INCLUDE_DIR LIBLCF_LIBRARY) set(LIBLCF_INCLUDE_DIRS ${LIBLCF_INCLUDE_DIR}) set(LIBLCF_LIBRARIES ${LIBLCF_LIBRARY})