Changeset View
Changeset View
Standalone View
Standalone View
build_files/cmake/platform/platform_unix.cmake
| Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
| macro(find_package_wrapper) | macro(find_package_wrapper) | ||||
| if(WITH_STATIC_LIBS) | if(WITH_STATIC_LIBS) | ||||
| find_package_static(${ARGV}) | find_package_static(${ARGV}) | ||||
| else() | else() | ||||
| find_package(${ARGV}) | find_package(${ARGV}) | ||||
| endif() | endif() | ||||
| endmacro() | endmacro() | ||||
| # ---------------------------------------------------------------------------- | |||||
| # Precompiled Libraries | |||||
| # | |||||
| # These are libraries that may be precompiled. For this we disable searching in | |||||
| # the system directories so that we don't accidentally use them instead. | |||||
| if(EXISTS ${LIBDIR}) | |||||
| without_system_libs_begin() | |||||
| endif() | |||||
| find_package_wrapper(JPEG REQUIRED) | find_package_wrapper(JPEG REQUIRED) | ||||
| find_package_wrapper(PNG REQUIRED) | find_package_wrapper(PNG REQUIRED) | ||||
| find_package_wrapper(ZLIB REQUIRED) | find_package_wrapper(ZLIB REQUIRED) | ||||
| find_package_wrapper(Freetype REQUIRED) | find_package_wrapper(Freetype REQUIRED) | ||||
| if(WITH_LZO AND WITH_SYSTEM_LZO) | |||||
| find_package_wrapper(LZO) | |||||
| if(NOT LZO_FOUND) | |||||
| message(FATAL_ERROR "Failed finding system LZO version!") | |||||
| endif() | |||||
| endif() | |||||
| if(WITH_SYSTEM_EIGEN3) | |||||
| find_package_wrapper(Eigen3) | |||||
| if(NOT EIGEN3_FOUND) | |||||
| message(FATAL_ERROR "Failed finding system Eigen3 version!") | |||||
| endif() | |||||
| endif() | |||||
| # else values are set below for all platforms | |||||
| if(WITH_PYTHON) | if(WITH_PYTHON) | ||||
| # No way to set py35, remove for now. | # No way to set py35, remove for now. | ||||
| # find_package(PythonLibs) | # find_package(PythonLibs) | ||||
| # Use our own instead, since without py is such a rare case, | # Use our own instead, since without py is such a rare case, | ||||
| # require this package | # require this package | ||||
| # XXX Linking errors with debian static python :/ | # XXX Linking errors with debian static python :/ | ||||
| # find_package_wrapper(PythonLibsUnix REQUIRED) | # find_package_wrapper(PythonLibsUnix REQUIRED) | ||||
| Show All 18 Lines | if(WITH_IMAGE_TIFF) | ||||
| # XXX Linking errors with debian static tiff :/ | # XXX Linking errors with debian static tiff :/ | ||||
| # find_package_wrapper(TIFF) | # find_package_wrapper(TIFF) | ||||
| find_package(TIFF) | find_package(TIFF) | ||||
| if(NOT TIFF_FOUND) | if(NOT TIFF_FOUND) | ||||
| set(WITH_IMAGE_TIFF OFF) | set(WITH_IMAGE_TIFF OFF) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| # Audio IO | |||||
| if(WITH_SYSTEM_AUDASPACE) | |||||
| find_package_wrapper(Audaspace) | |||||
| if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND) | |||||
| message(FATAL_ERROR "Audaspace external library not found!") | |||||
| endif() | |||||
| endif() | |||||
| if(WITH_OPENAL) | if(WITH_OPENAL) | ||||
| find_package_wrapper(OpenAL) | find_package_wrapper(OpenAL) | ||||
| if(NOT OPENAL_FOUND) | if(NOT OPENAL_FOUND) | ||||
| set(WITH_OPENAL OFF) | set(WITH_OPENAL OFF) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| if(WITH_SDL) | if(WITH_SDL) | ||||
| Show All 16 Lines | else() | ||||
| ) | ) | ||||
| # unset(SDLMAIN_LIBRARY CACHE) | # unset(SDLMAIN_LIBRARY CACHE) | ||||
| if(NOT SDL_FOUND) | if(NOT SDL_FOUND) | ||||
| set(WITH_SDL OFF) | set(WITH_SDL OFF) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| if(WITH_JACK) | |||||
| find_package_wrapper(Jack) | |||||
| if(NOT JACK_FOUND) | |||||
| set(WITH_JACK OFF) | |||||
| endif() | |||||
| endif() | |||||
| # Codecs | # Codecs | ||||
| if(WITH_CODEC_SNDFILE) | if(WITH_CODEC_SNDFILE) | ||||
| find_package_wrapper(SndFile) | find_package_wrapper(SndFile) | ||||
| if(NOT SNDFILE_FOUND) | if(NOT SNDFILE_FOUND) | ||||
| set(WITH_CODEC_SNDFILE OFF) | set(WITH_CODEC_SNDFILE OFF) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| ▲ Show 20 Lines • Show All 259 Lines • ▼ Show 20 Lines | if(NOT OPENSUBDIV_FOUND) | ||||
| message(STATUS "OpenSubdiv not found") | message(STATUS "OpenSubdiv not found") | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| if(WITH_TBB) | if(WITH_TBB) | ||||
| find_package_wrapper(TBB) | find_package_wrapper(TBB) | ||||
| endif() | endif() | ||||
| if(EXISTS ${LIBDIR}) | |||||
| without_system_libs_end() | |||||
| endif() | |||||
| # ---------------------------------------------------------------------------- | |||||
| # Build and Link Flags | |||||
| # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed | # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed | ||||
| if(HAIKU) | if(HAIKU) | ||||
| list(APPEND PLATFORM_LINKLIBS -lnetwork) | list(APPEND PLATFORM_LINKLIBS -lnetwork) | ||||
| else() | else() | ||||
| list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm) | list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm) | ||||
| endif() | endif() | ||||
| find_package(Threads REQUIRED) | find_package(Threads REQUIRED) | ||||
| Show All 16 Lines | |||||
| # lfs on glibc, all compilers should use | # lfs on glibc, all compilers should use | ||||
| add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) | add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) | ||||
| # ---------------------------------------------------------------------------- | # ---------------------------------------------------------------------------- | ||||
| # System Libraries | # System Libraries | ||||
| # | # | ||||
| # Keep last, so indirectly linked libraries don't override our own pre-compiled libs. | # Keep last, so indirectly linked libraries don't override our own pre-compiled libs. | ||||
| if(WITH_LZO AND WITH_SYSTEM_LZO) | |||||
| find_package_wrapper(LZO) | |||||
| if(NOT LZO_FOUND) | |||||
| message(FATAL_ERROR "Failed finding system LZO version!") | |||||
| endif() | |||||
| endif() | |||||
| if(WITH_SYSTEM_EIGEN3) | |||||
| find_package_wrapper(Eigen3) | |||||
| if(NOT EIGEN3_FOUND) | |||||
| message(FATAL_ERROR "Failed finding system Eigen3 version!") | |||||
| endif() | |||||
| endif() | |||||
| # Jack is intended to use the system library. | |||||
| if(WITH_JACK) | |||||
| find_package_wrapper(Jack) | |||||
| if(NOT JACK_FOUND) | |||||
| set(WITH_JACK OFF) | |||||
| endif() | |||||
| endif() | |||||
| # Audio IO | |||||
| if(WITH_SYSTEM_AUDASPACE) | |||||
| find_package_wrapper(Audaspace) | |||||
| if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND) | |||||
| message(FATAL_ERROR "Audaspace external library not found!") | |||||
| endif() | |||||
| endif() | |||||
| if(WITH_X11) | if(WITH_X11) | ||||
| find_package(X11 REQUIRED) | find_package(X11 REQUIRED) | ||||
| find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH}) | find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH}) | ||||
| mark_as_advanced(X11_XF86keysym_INCLUDE_PATH) | mark_as_advanced(X11_XF86keysym_INCLUDE_PATH) | ||||
| list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB}) | list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB}) | ||||
| ▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines | |||||