diff options
Diffstat (limited to 'storage/oqgraph/cmake')
-rw-r--r-- | storage/oqgraph/cmake/FindJudy.cmake | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/storage/oqgraph/cmake/FindJudy.cmake b/storage/oqgraph/cmake/FindJudy.cmake new file mode 100644 index 00000000..37aed8b6 --- /dev/null +++ b/storage/oqgraph/cmake/FindJudy.cmake @@ -0,0 +1,67 @@ +# - Try to find Judy. +# +# Additionally, on Windows, this module reads hints about search locations from variables: +# JUDY_ROOT - Preferred installation prefix +# +# To build Judy on Windows: (Tested with judy-1.0.5) +# +# * Download the sources tarball from http://sourceforge.net/projects/judy/ +# * Extract the source +# * Win32: open the Visual Studio C++ Express 2010 command prompt and navigate to the src/ directory. +# Then execute: build.bat +# * Win64: open the Windows SDK 7.1 Command Prompt and navigate to the src/ directory +# Then execute: build.bat +# * Run the mariadb build with JUDY_ROOT=path\to\judy +# +# Once done this will define +# +# Judy_FOUND - system has Judy +# Judy_INCLUDE_DIRS - the Judy include directory +# Judy_LIBRARIES - Link these to use Judy +# Judy_DEFINITIONS - Compiler switches required for using Judy + +IF(MSVC) + # For now, assume Judy built according to the above instructions + if (NOT "$ENV{JUDY_ROOT}" STREQUAL "") + # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing. + string(REPLACE "\\" "/" Judy_INCLUDE_DIRS_search $ENV{JUDY_ROOT}/src) + string(REPLACE "\\" "/" Judy_LIBRARIES_search $ENV{JUDY_ROOT}/src) + endif() +ELSE(MSVC) + IF (Judy_INCLUDE_DIRS AND Judy_LIBRARIES) + SET(Judy_FIND_QUIETLY TRUE) + ENDIF (Judy_INCLUDE_DIRS AND Judy_LIBRARIES) +ENDIF(MSVC) + +FIND_PATH(Judy_INCLUDE_DIRS Judy.h PATHS ${Judy_INCLUDE_DIRS_search}) +FIND_LIBRARY(Judy_LIBRARIES Judy PATHS ${Judy_LIBRARIES_search}) + +IF (Judy_INCLUDE_DIRS AND Judy_LIBRARIES) + SET(Judy_FOUND TRUE) +ELSE (Judy_INCLUDE_DIRS AND Judy_LIBRARIES) + SET(Judy_FOUND FALSE) + if (MSVC) + MESSAGE(STATUS "How to build Judy on Windows:") + MESSAGE(STATUS "1. Download the source tarball from http://sourceforge.net/projects/judy/") + IF (CMAKE_SIZEOF_VOID_P EQUAL 8) + MESSAGE(STATUS "2. Extract the source, open the Visual Studio command prompt and navigate to the src/ directory.") + ELSE (CMAKE_SIZEOF_VOID_P EQUAL 8) + MESSAGE(STATUS "2. Extract the source, open the Windows SDK 7.1 Command Prompt and navigate to the src/ directory.") + ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 8) + MESSAGE(STATUS "3. Execute the command: 'build'") + MESSAGE(STATUS "4. Rerun this cmake with the environment variable: 'set JUDY_ROOT=x:\\path\\to\\judy'") + endif(MSVC) +ENDIF (Judy_INCLUDE_DIRS AND Judy_LIBRARIES) + +IF (Judy_FOUND) + IF (NOT Judy_FIND_QUIETLY) + MESSAGE(STATUS "Found libjudy: ${Judy_LIBRARIES}") + ENDIF (NOT Judy_FIND_QUIETLY) +ELSE (Judy_FOUND) + IF (Judy_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find libjudy") + ENDIF (Judy_FIND_REQUIRED) +ENDIF (Judy_FOUND) + +MARK_AS_ADVANCED(Judy_INCLUDE_DIRS Judy_LIBRARIES) + |