]> git.cworth.org Git - apitrace/blobdiff - thirdparty/snappy/CMakeLists.txt
Fix mixed in/out of source builds.
[apitrace] / thirdparty / snappy / CMakeLists.txt
index b727854de4ffed72f2ca3ea62161105f20ebc446..bcacda7514a8acf632548d73fcff59e01d78d161 100644 (file)
@@ -6,6 +6,9 @@ include (CheckCXXSourceCompiles)
 include (TestBigEndian)
 
 check_include_file_cxx (sys/mman.h HAVE_SYS_MMAN_H)
+check_include_file_cxx (sys/byteorder.h HAVE_SYS_BYTEORDER_H)
+check_include_file_cxx (sys/endian.h HAVE_SYS_ENDIAN_H)
+check_include_file_cxx (byteswap.h HAVE_BYTESWAP_H)
 
 check_cxx_source_compiles (
     "main() { return __builtin_expect(1, 1) ? 1 : 0; }"
@@ -23,6 +26,11 @@ configure_file (config.h.in config.h)
 
 add_definitions (-DHAVE_CONFIG_H)
 
+# Adjust warnings
+if (CMAKE_COMPILER_IS_GNUCXX)
+    add_definitions (-Wno-unused-function)
+endif ()
+
 
 include_directories (${CMAKE_CURRENT_BINARY_DIR})
 
@@ -36,3 +44,12 @@ add_library (snappy_bundled STATIC
 set_target_properties (snappy_bundled PROPERTIES
     COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}"
 )
+
+# If we're doing an out of source build remove any config.h from the source tree.
+if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
+    add_custom_command (
+        TARGET snappy_bundled
+        PRE_BUILD
+        COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_SOURCE_DIR}/config.h
+    )
+endif()