mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
90 lines
2.3 KiB
CMake
90 lines
2.3 KiB
CMake
#[=======================================================================[.rst:
|
|
FindLZO
|
|
-------
|
|
|
|
Finds the LZO library.
|
|
|
|
Result Variables
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This will define the following variables:
|
|
|
|
``LZO_FOUND``
|
|
True if the system has the LZO library.
|
|
``LZO_INCLUDE_DIRS``
|
|
Include directories needed to use LZO.
|
|
``LZO_LIBRARIES``
|
|
Libraries needed to link to LZO.
|
|
``LZO_VERSION``
|
|
The version of the LZO library which was found.
|
|
|
|
Cache Variables
|
|
^^^^^^^^^^^^^^^
|
|
|
|
The following cache variables may also be set:
|
|
|
|
``LZO_INCLUDE_DIR``
|
|
The directory containing ``lzo/lzo1x.h``.
|
|
``LZO_LIBRARY``
|
|
The path to the LZO library.
|
|
|
|
#]=======================================================================]
|
|
|
|
find_package(PkgConfig QUIET)
|
|
pkg_check_modules(PC_LZO QUIET lzo2)
|
|
|
|
find_path(LZO_INCLUDE_DIR
|
|
NAMES lzo/lzo1x.h
|
|
PATHS ${PC_LZO_INCLUDE_DIRS}
|
|
)
|
|
|
|
find_library(LZO_LIBRARY
|
|
NAMES lzo2
|
|
PATHS ${PC_LZO_LIBRARY_DIRS}
|
|
)
|
|
|
|
# With vcpkg, the library path should contain both 'debug' and 'optimized'
|
|
# entries (see target_link_libraries() documentation for more information)
|
|
#
|
|
# NOTE: we only patch up when using vcpkg; the same issue might happen
|
|
# when not using vcpkg, but this is non-trivial to fix, as we have no idea
|
|
# what the paths are. With vcpkg we do. And we only official support vcpkg
|
|
# with Windows.
|
|
#
|
|
# NOTE: this is based on the assumption that the debug file has the same
|
|
# name as the optimized file. This is not always the case, but so far
|
|
# experiences has shown that in those case vcpkg CMake files do the right
|
|
# thing.
|
|
if(VCPKG_TOOLCHAIN AND LZO_LIBRARY)
|
|
if(LZO_LIBRARY MATCHES "/debug/")
|
|
set(LZO_LIBRARY_DEBUG ${LZO_LIBRARY})
|
|
string(REPLACE "/debug/lib/" "/lib/" LZO_LIBRARY_RELEASE ${LZO_LIBRARY})
|
|
else()
|
|
set(LZO_LIBRARY_RELEASE ${LZO_LIBRARY})
|
|
string(REPLACE "/lib/" "/debug/lib/" LZO_LIBRARY_DEBUG ${LZO_LIBRARY})
|
|
endif()
|
|
include(SelectLibraryConfigurations)
|
|
select_library_configurations(LZO)
|
|
endif()
|
|
|
|
set(LZO_VERSION ${PC_LZO_VERSION})
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(LZO
|
|
FOUND_VAR LZO_FOUND
|
|
REQUIRED_VARS
|
|
LZO_LIBRARY
|
|
LZO_INCLUDE_DIR
|
|
VERSION_VAR LZO_VERSION
|
|
)
|
|
|
|
if(LZO_FOUND)
|
|
set(LZO_LIBRARIES ${LZO_LIBRARY})
|
|
set(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
|
|
endif()
|
|
|
|
mark_as_advanced(
|
|
LZO_INCLUDE_DIR
|
|
LZO_LIBRARY
|
|
)
|