1 # Edit definitions below to specify paths to include files and libraries of all 3rd party libraries
3 # TODO: Make this work with find_package and/or get rid of it
5 # This example assumes all the libraries locate in directories under THIRDPARTY_HOME environment variable
6 # Set environment variable THIRDPARTY_HOME to point to your third party libraries home (Unix style dir separators)
7 # or change the paths below to reflect where the libraries actually reside
9 set (THIRDPARTY_LIBS "") # Initialization, don't touch
14 set(GFLAGS_HOME $ENV{THIRDPARTY_HOME}/Gflags.Library)
15 set(GFLAGS_INCLUDE ${GFLAGS_HOME}/inc/include)
16 set(GFLAGS_LIB_DEBUG ${GFLAGS_HOME}/bin/debug/amd64/gflags.lib)
17 set(GFLAGS_LIB_RELEASE ${GFLAGS_HOME}/bin/retail/amd64/gflags.lib)
19 # ================================================== GFLAGS ==================================================
26 message(STATUS "GFLAGS library is enabled")
28 if(DEFINED ENV{GFLAGS_INCLUDE})
29 set(GFLAGS_INCLUDE $ENV{GFLAGS_INCLUDE})
32 if(DEFINED ENV{GFLAGS_LIB_DEBUG})
33 set(GFLAGS_LIB_DEBUG $ENV{GFLAGS_LIB_DEBUG})
36 if(DEFINED ENV{GFLAGS_LIB_RELEASE})
37 set(GFLAGS_LIB_RELEASE $ENV{GFLAGS_LIB_RELEASE})
40 set(GFLAGS_CXX_FLAGS -DGFLAGS=gflags)
41 set(GFLAGS_LIBS debug ${GFLAGS_LIB_DEBUG} optimized ${GFLAGS_LIB_RELEASE})
43 add_definitions(${GFLAGS_CXX_FLAGS})
44 include_directories(${GFLAGS_INCLUDE})
45 set (THIRDPARTY_LIBS ${THIRDPARTY_LIBS} ${GFLAGS_LIBS})
47 message(STATUS "GFLAGS library is disabled")
50 # ================================================== SNAPPY ==================================================
52 # Edit these 4 lines to define paths to Snappy
54 set(SNAPPY_HOME $ENV{THIRDPARTY_HOME}/Snappy.Library)
55 set(SNAPPY_INCLUDE ${SNAPPY_HOME}/inc/inc)
56 set(SNAPPY_LIB_DEBUG ${SNAPPY_HOME}/bin/debug/amd64/snappy.lib)
57 set(SNAPPY_LIB_RELEASE ${SNAPPY_HOME}/bin/retail/amd64/snappy.lib)
65 message(STATUS "SNAPPY library is enabled")
67 if(DEFINED ENV{SNAPPY_INCLUDE})
68 set(SNAPPY_INCLUDE $ENV{SNAPPY_INCLUDE})
71 if(DEFINED ENV{SNAPPY_LIB_DEBUG})
72 set(SNAPPY_LIB_DEBUG $ENV{SNAPPY_LIB_DEBUG})
75 if(DEFINED ENV{SNAPPY_LIB_RELEASE})
76 set(SNAPPY_LIB_RELEASE $ENV{SNAPPY_LIB_RELEASE})
79 set(SNAPPY_CXX_FLAGS -DSNAPPY)
80 set(SNAPPY_LIBS debug ${SNAPPY_LIB_DEBUG} optimized ${SNAPPY_LIB_RELEASE})
82 add_definitions(${SNAPPY_CXX_FLAGS})
83 include_directories(${SNAPPY_INCLUDE})
84 set (THIRDPARTY_LIBS ${THIRDPARTY_LIBS} ${SNAPPY_LIBS})
86 message(STATUS "SNAPPY library is disabled")
89 # ================================================== LZ4 ==================================================
91 # Edit these 4 lines to define paths to LZ4
93 set(LZ4_HOME $ENV{THIRDPARTY_HOME}/LZ4.Library)
94 set(LZ4_INCLUDE ${LZ4_HOME}/inc/include)
95 set(LZ4_LIB_DEBUG ${LZ4_HOME}/bin/debug/amd64/lz4.lib)
96 set(LZ4_LIB_RELEASE ${LZ4_HOME}/bin/retail/amd64/lz4.lib)
99 # Don't touch these lines
106 message(STATUS "LZ4 library is enabled")
108 if(DEFINED ENV{LZ4_INCLUDE})
109 set(LZ4_INCLUDE $ENV{LZ4_INCLUDE})
112 if(DEFINED ENV{LZ4_LIB_DEBUG})
113 set(LZ4_LIB_DEBUG $ENV{LZ4_LIB_DEBUG})
116 if(DEFINED ENV{LZ4_LIB_RELEASE})
117 set(LZ4_LIB_RELEASE $ENV{LZ4_LIB_RELEASE})
120 set(LZ4_CXX_FLAGS -DLZ4)
121 set(LZ4_LIBS debug ${LZ4_LIB_DEBUG} optimized ${LZ4_LIB_RELEASE})
123 add_definitions(${LZ4_CXX_FLAGS})
124 include_directories(${LZ4_INCLUDE})
125 set (THIRDPARTY_LIBS ${THIRDPARTY_LIBS} ${LZ4_LIBS})
127 message(STATUS "LZ4 library is disabled")
130 # ================================================== ZLIB ==================================================
132 # Edit these 4 lines to define paths to ZLIB
134 set(ZLIB_HOME $ENV{THIRDPARTY_HOME}/ZLIB.Library)
135 set(ZLIB_INCLUDE ${ZLIB_HOME}/inc/include)
136 set(ZLIB_LIB_DEBUG ${ZLIB_HOME}/bin/debug/amd64/zlib.lib)
137 set(ZLIB_LIB_RELEASE ${ZLIB_HOME}/bin/retail/amd64/zlib.lib)
140 # Don't touch these lines
149 message(STATUS "ZLIB library is enabled")
151 if(DEFINED ENV{ZLIB_INCLUDE})
152 set(ZLIB_INCLUDE $ENV{ZLIB_INCLUDE})
155 if(DEFINED ENV{ZLIB_LIB_DEBUG})
156 set(ZLIB_LIB_DEBUG $ENV{ZLIB_LIB_DEBUG})
159 if(DEFINED ENV{ZLIB_LIB_RELEASE})
160 set(ZLIB_LIB_RELEASE $ENV{ZLIB_LIB_RELEASE})
163 set(ZLIB_CXX_FLAGS -DZLIB)
164 set(ZLIB_LIBS debug ${ZLIB_LIB_DEBUG} optimized ${ZLIB_LIB_RELEASE})
166 add_definitions(${ZLIB_CXX_FLAGS})
167 include_directories(${ZLIB_INCLUDE})
168 set (THIRDPARTY_LIBS ${THIRDPARTY_LIBS} ${ZLIB_LIBS})
170 message(STATUS "ZLIB library is disabled")
179 message(STATUS "XPRESS is enabled")
181 add_definitions(-DXPRESS)
183 # We are using the implementation provided by the system
184 set (SYSTEM_LIBS ${SYSTEM_LIBS} Cabinet.lib)
186 message(STATUS "XPRESS is disabled")
190 # Edit these 4 lines to define paths to Jemalloc
192 set(JEMALLOC_HOME $ENV{THIRDPARTY_HOME}/Jemalloc.Library)
193 set(JEMALLOC_INCLUDE ${JEMALLOC_HOME}/inc/include)
194 set(JEMALLOC_LIB_DEBUG ${JEMALLOC_HOME}/bin/debug/amd64/jemalloc.lib)
195 set(JEMALLOC_LIB_RELEASE ${JEMALLOC_HOME}/bin/retail/amd64/jemalloc.lib)
197 # ================================================== JEMALLOC ==================================================
199 # Don't touch these lines
204 set(WITH_JEMALLOC ON)
208 message(STATUS "JEMALLOC library is enabled")
209 set(JEMALLOC_CXX_FLAGS "-DROCKSDB_JEMALLOC -DJEMALLOC_EXPORT= ")
211 if(DEFINED ENV{JEMALLOC_INCLUDE})
212 set(JEMALLOC_INCLUDE $ENV{JEMALLOC_INCLUDE})
215 if(DEFINED ENV{JEMALLOC_LIB_DEBUG})
216 set(JEMALLOC_LIB_DEBUG $ENV{JEMALLOC_LIB_DEBUG})
219 if(DEFINED ENV{JEMALLOC_LIB_RELEASE})
220 set(JEMALLOC_LIB_RELEASE $ENV{JEMALLOC_LIB_RELEASE})
223 set(JEMALLOC_LIBS debug ${JEMALLOC_LIB_DEBUG} optimized ${JEMALLOC_LIB_RELEASE})
225 add_definitions(${JEMALLOC_CXX_FLAGS})
226 include_directories(${JEMALLOC_INCLUDE})
227 set (THIRDPARTY_LIBS ${THIRDPARTY_LIBS} ${JEMALLOC_LIBS})
228 set (ARTIFACT_SUFFIX "_je")
230 set(WITH_JEMALLOC ON)
233 set (ARTIFACT_SUFFIX "")
234 message(STATUS "JEMALLOC library is disabled")