CMakeLists.txt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # ################################################################
  2. # Copyright (c) 2016-present, Facebook, Inc.
  3. # All rights reserved.
  4. #
  5. # This source code is licensed under both the BSD-style license (found in the
  6. # LICENSE file in the root directory of this source tree) and the GPLv2 (found
  7. # in the COPYING file in the root directory of this source tree).
  8. # ################################################################
  9. project(pzstd)
  10. set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
  11. # Define programs directory, where sources and header files are located
  12. set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
  13. set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
  14. set(PZSTD_DIR ${ZSTD_SOURCE_DIR}/contrib/pzstd)
  15. include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${PZSTD_DIR})
  16. add_executable(pzstd ${PROGRAMS_DIR}/util.c ${PZSTD_DIR}/main.cpp ${PZSTD_DIR}/Options.cpp ${PZSTD_DIR}/Pzstd.cpp ${PZSTD_DIR}/SkippableFrame.cpp)
  17. set_property(TARGET pzstd APPEND PROPERTY COMPILE_DEFINITIONS "NDEBUG")
  18. set_property(TARGET pzstd APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow")
  19. if (ZSTD_BUILD_SHARED)
  20. set(ZSTD_LIB libzstd_shared)
  21. else()
  22. set(ZSTD_LIB libzstd_static)
  23. endif()
  24. set(THREADS_PREFER_PTHREAD_FLAG ON)
  25. find_package(Threads REQUIRED)
  26. if (CMAKE_USE_PTHREADS_INIT)
  27. target_link_libraries(pzstd ${ZSTD_LIB} ${CMAKE_THREAD_LIBS_INIT})
  28. else()
  29. message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
  30. endif()
  31. install(TARGETS pzstd RUNTIME DESTINATION "bin")