diff options
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/Modules/FindPotrace.cmake | 65 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 8 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 7 |
3 files changed, 80 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindPotrace.cmake b/build_files/cmake/Modules/FindPotrace.cmake new file mode 100644 index 00000000000..5b6e68b7f5c --- /dev/null +++ b/build_files/cmake/Modules/FindPotrace.cmake @@ -0,0 +1,65 @@ +# - Find potrace library +# Find the potrace include and library +# This module defines +# POTRACE_INCLUDE_DIRS, where to find potracelib.h, Set when +# POTRACE is found. +# POTRACE_LIBRARIES, libraries to link against to use POTRACE. +# POTRACE_ROOT_DIR, The base directory to search for POTRACE. +# This can also be an environment variable. +# POTRACE_FOUND, If false, do not try to use POTRACE. +# +# also defined, but not for general use are +# POTRACE_LIBRARY, where to find the POTRACE library. + +#============================================================================= +# Copyright 2020 Blender Foundation. +# +# Distributed under the OSI-approved BSD 3-Clause License, +# see accompanying file BSD-3-Clause-license.txt for details. +#============================================================================= + +# If POTRACE_ROOT_DIR was defined in the environment, use it. +IF(NOT POTRACE_ROOT_DIR AND NOT $ENV{POTRACE_ROOT_DIR} STREQUAL "") + SET(POTRACE_ROOT_DIR $ENV{POTRACE_ROOT_DIR}) +ENDIF() + +SET(_potrace_SEARCH_DIRS + ${POTRACE_ROOT_DIR} + /opt/lib/potrace + /usr/include + /usr/local/include +) + +FIND_PATH(POTRACE_INCLUDE_DIR + NAMES + potracelib.h + HINTS + ${_potrace_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(POTRACE_LIBRARY + NAMES + potrace + HINTS + ${_potrace_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set POTRACE_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(POTRACE DEFAULT_MSG + POTRACE_LIBRARY POTRACE_INCLUDE_DIR) + +IF(POTRACE_FOUND) + SET(POTRACE_LIBRARIES ${POTRACE_LIBRARY}) + SET(POTRACE_INCLUDE_DIRS ${POTRACE_INCLUDE_DIR}) +ENDIF() + +MARK_AS_ADVANCED( + POTRACE_INCLUDE_DIR + POTRACE_LIBRARY +) diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index b2105a58a0a..bf611f56ce1 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -459,6 +459,14 @@ if(WITH_GMP) endif() endif() +if(WITH_POTRACE) + find_package_wrapper(Potrace) + if(NOT POTRACE_FOUND) + message(WARNING "potrace not found, disabling WITH_POTRACE") + set(WITH_POTRACE OFF) + endif() +endif() + if(EXISTS ${LIBDIR}) without_system_libs_end() endif() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 64e4b276610..d49b576ba1a 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -760,3 +760,10 @@ if(WITH_GMP) set(GMP_ROOT_DIR ${LIBDIR}/gmp) set(GMP_FOUND On) endif() + +if(WITH_POTRACE) + set(POTRACE_INCLUDE_DIRS ${LIBDIR}/potrace/include) + set(POTRACE_LIBRARIES ${LIBDIR}/potrace/lib/potrace.lib) + set(POTRACE_FOUND On) +endif() + |