|
@@ -50,12 +50,41 @@ function(dual_output_directory TGT DIR)
|
|
|
output_directory(${TGT}_static "${DIR}")
|
|
|
endfunction(dual_output_directory TGT DIR)
|
|
|
|
|
|
+#
|
|
|
+# This macro alters the behavior of find_package and find_library.
|
|
|
+# It does this by setting the CMAKE_FIND_LIBRARY_SUFFIXES global variable.
|
|
|
+# You should save that variable before calling this function and restore it
|
|
|
+# after you have accomplished your goal.
|
|
|
+#
|
|
|
+# The behavior is altered in two ways:
|
|
|
+# 1. We always find shared libraries, never static;
|
|
|
+# 2. We find shared libraries with the given version number.
|
|
|
+#
|
|
|
+# On Windows this function is a no-op. Windows does not encode
|
|
|
+# version number information information into library path names.
|
|
|
+#
|
|
|
+macro(set_find_shared_library_version LVERS)
|
|
|
+ IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
+ # Mac OS uses .dylib
|
|
|
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".${LVERS}.dylib")
|
|
|
+ ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
|
+ # Windows doesn't support finding shared libraries by version.
|
|
|
+ ELSE()
|
|
|
+ # Most UNIX variants use .so
|
|
|
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so.${LVERS}")
|
|
|
+ ENDIF()
|
|
|
+endmacro(set_find_shared_library_version LVERS)
|
|
|
+
|
|
|
if (NOT GENERATED_JAVAH)
|
|
|
# Must identify where the generated headers have been placed
|
|
|
MESSAGE(FATAL_ERROR "You must set the cmake variable GENERATED_JAVAH")
|
|
|
endif (NOT GENERATED_JAVAH)
|
|
|
find_package(JNI REQUIRED)
|
|
|
+
|
|
|
+SET(STORED_CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
|
+set_find_shared_library_version("1")
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
+SET(CMAKE_FIND_LIBRARY_SUFFIXES STORED_CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -O2")
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_REENTRANT -D_FILE_OFFSET_BITS=64")
|
|
@@ -69,10 +98,13 @@ INCLUDE(CheckCSourceCompiles)
|
|
|
CHECK_FUNCTION_EXISTS(sync_file_range HAVE_SYNC_FILE_RANGE)
|
|
|
CHECK_FUNCTION_EXISTS(posix_fadvise HAVE_POSIX_FADVISE)
|
|
|
|
|
|
+SET(STORED_CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
|
+set_find_shared_library_version("1")
|
|
|
find_library(SNAPPY_LIBRARY
|
|
|
NAMES snappy
|
|
|
PATHS ${CUSTOM_SNAPPY_PREFIX} ${CUSTOM_SNAPPY_PREFIX}/lib
|
|
|
${CUSTOM_SNAPPY_PREFIX}/lib64 ${CUSTOM_SNAPPY_LIB})
|
|
|
+SET(CMAKE_FIND_LIBRARY_SUFFIXES STORED_CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
|
find_path(SNAPPY_INCLUDE_DIR
|
|
|
NAMES snappy.h
|
|
|
PATHS ${CUSTOM_SNAPPY_PREFIX} ${CUSTOM_SNAPPY_PREFIX}/include
|