# in the COPYING file in the root directory of this source tree).
# ################################################################
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
+cmake_minimum_required(VERSION 2.8.9)
-PROJECT(zstd)
-SET(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
+project(zstd)
+set(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "No build type selected, defaulting to Release")
set(CMAKE_BUILD_TYPE "Release")
endif()
-LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
-INCLUDE(GNUInstallDirs)
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
+include(GNUInstallDirs)
#-----------------------------------------------------------------------------
# Add extra compilation flags
#-----------------------------------------------------------------------------
-INCLUDE(AddZstdCompilationFlags)
+include(AddZstdCompilationFlags)
ADD_ZSTD_COMPILATION_FLAGS()
# Always hide XXHash symbols
-ADD_DEFINITIONS(-DXXH_NAMESPACE=ZSTD_)
+add_definitions(-DXXH_NAMESPACE=ZSTD_)
#-----------------------------------------------------------------------------
# Installation variables
#-----------------------------------------------------------------------------
-MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
-MESSAGE(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}")
+message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
+message(STATUS "CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}")
#-----------------------------------------------------------------------------
# Options
#-----------------------------------------------------------------------------
# Legacy support
-OPTION(ZSTD_LEGACY_SUPPORT "LEGACY SUPPORT" OFF)
+option(ZSTD_LEGACY_SUPPORT "LEGACY SUPPORT" OFF)
-IF (ZSTD_LEGACY_SUPPORT)
- MESSAGE(STATUS "ZSTD_LEGACY_SUPPORT defined!")
- ADD_DEFINITIONS(-DZSTD_LEGACY_SUPPORT=4)
-ELSE (ZSTD_LEGACY_SUPPORT)
- MESSAGE(STATUS "ZSTD_LEGACY_SUPPORT not defined!")
- ADD_DEFINITIONS(-DZSTD_LEGACY_SUPPORT=0)
-ENDIF (ZSTD_LEGACY_SUPPORT)
+if (ZSTD_LEGACY_SUPPORT)
+ message(STATUS "ZSTD_LEGACY_SUPPORT defined!")
+ add_definitions(-DZSTD_LEGACY_SUPPORT=4)
+else (ZSTD_LEGACY_SUPPORT)
+ message(STATUS "ZSTD_LEGACY_SUPPORT not defined!")
+ add_definitions(-DZSTD_LEGACY_SUPPORT=0)
+endif (ZSTD_LEGACY_SUPPORT)
# Multi-threading support
-OPTION(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON)
+option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON)
-IF (ZSTD_MULTITHREAD_SUPPORT)
- MESSAGE(STATUS "ZSTD_MULTITHREAD_SUPPORT is enabled")
-ELSE (ZSTD_MULTITHREAD_SUPPORT)
- MESSAGE(STATUS "ZSTD_MULTITHREAD_SUPPORT is disabled")
-ENDIF (ZSTD_MULTITHREAD_SUPPORT)
+if (ZSTD_MULTITHREAD_SUPPORT)
+ message(STATUS "ZSTD_MULTITHREAD_SUPPORT is enabled")
+else (ZSTD_MULTITHREAD_SUPPORT)
+ message(STATUS "ZSTD_MULTITHREAD_SUPPORT is disabled")
+endif (ZSTD_MULTITHREAD_SUPPORT)
-OPTION(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" ON)
-OPTION(ZSTD_BUILD_CONTRIB "BUILD CONTRIB" OFF)
-OPTION(ZSTD_BUILD_TESTS "BUILD TESTS" OFF)
+option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" ON)
+option(ZSTD_BUILD_CONTRIB "BUILD CONTRIB" OFF)
+option(ZSTD_BUILD_TESTS "BUILD TESTS" OFF)
if (MSVC)
- OPTION(ZSTD_USE_STATIC_RUNTIME "LINK TO STATIC RUN-TIME LIBRARIES" OFF)
+ option(ZSTD_USE_STATIC_RUNTIME "LINK TO STATIC RUN-TIME LIBRARIES" OFF)
endif ()
#-----------------------------------------------------------------------------
# External dependencies
#-----------------------------------------------------------------------------
-IF (ZSTD_MULTITHREAD_SUPPORT AND UNIX)
- SET(THREADS_PREFER_PTHREAD_FLAG ON)
- FIND_PACKAGE(Threads REQUIRED)
- IF(CMAKE_USE_PTHREADS_INIT)
- SET(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}")
- ELSE()
- MESSAGE(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
- ENDIF()
-ENDIF (ZSTD_MULTITHREAD_SUPPORT AND UNIX)
+if (ZSTD_MULTITHREAD_SUPPORT AND UNIX)
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+ if(CMAKE_USE_PTHREADS_INIT)
+ set(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}")
+ else()
+ message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
+ endif()
+endif (ZSTD_MULTITHREAD_SUPPORT AND UNIX)
#-----------------------------------------------------------------------------
# Add source directories
#-----------------------------------------------------------------------------
-ADD_SUBDIRECTORY(lib)
+add_subdirectory(lib)
-IF (ZSTD_BUILD_PROGRAMS)
- IF (NOT ZSTD_BUILD_STATIC)
- MESSAGE(SEND_ERROR "You need to build static library to build zstd CLI")
- ENDIF (NOT ZSTD_BUILD_STATIC)
+if (ZSTD_BUILD_PROGRAMS)
+ if (NOT ZSTD_BUILD_STATIC)
+ message(SEND_ERROR "You need to build static library to build zstd CLI")
+ endif (NOT ZSTD_BUILD_STATIC)
- ADD_SUBDIRECTORY(programs)
-ENDIF (ZSTD_BUILD_PROGRAMS)
+ add_subdirectory(programs)
+endif (ZSTD_BUILD_PROGRAMS)
-IF (ZSTD_BUILD_TESTS)
- IF (NOT ZSTD_BUILD_STATIC)
- MESSAGE(SEND_ERROR "You need to build static library to build tests")
- ENDIF (NOT ZSTD_BUILD_STATIC)
+if (ZSTD_BUILD_TESTS)
+ if (NOT ZSTD_BUILD_STATIC)
+ message(SEND_ERROR "You need to build static library to build tests")
+ endif (NOT ZSTD_BUILD_STATIC)
- ADD_SUBDIRECTORY(tests)
-ENDIF (ZSTD_BUILD_TESTS)
+ add_subdirectory(tests)
+endif (ZSTD_BUILD_TESTS)
-IF (ZSTD_BUILD_CONTRIB)
- ADD_SUBDIRECTORY(contrib)
-ENDIF (ZSTD_BUILD_CONTRIB)
+if (ZSTD_BUILD_CONTRIB)
+ add_subdirectory(contrib)
+endif (ZSTD_BUILD_CONTRIB)
#-----------------------------------------------------------------------------
# Add clean-all target
#-----------------------------------------------------------------------------
-ADD_CUSTOM_TARGET(clean-all
+add_custom_target(clean-all
COMMAND ${CMAKE_BUILD_TOOL} clean
COMMAND rm -rf ${CMAKE_BINARY_DIR}/
)
endif ()
endfunction()
-MACRO(ADD_ZSTD_COMPILATION_FLAGS)
+macro(ADD_ZSTD_COMPILATION_FLAGS)
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" OR MINGW) #Not only UNIX but also WIN32 for MinGW
#Set c++11 by default
EnableCompilerFlag("-std=c++11" false true)
endif ()
# Remove duplicates compilation flags
- FOREACH (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+ foreach (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
separate_arguments(${flag_var})
list(REMOVE_DUPLICATES ${flag_var})
string(REPLACE ";" " " ${flag_var} "${${flag_var}}")
- ENDFOREACH (flag_var)
+ endforeach (flag_var)
if (MSVC AND ZSTD_USE_STATIC_RUNTIME)
- FOREACH (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+ foreach (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
- ENDFOREACH (flag_var)
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ endforeach (flag_var)
endif ()
-ENDMACRO(ADD_ZSTD_COMPILATION_FLAGS)
+endmacro(ADD_ZSTD_COMPILATION_FLAGS)
function(GetZstdLibraryVersion _header _major _minor _release)
# Read file content
- FILE(READ ${_header} CONTENT)
+ file(READ ${_header} CONTENT)
string(REGEX MATCH ".*define ZSTD_VERSION_MAJOR *([0-9]+).*define ZSTD_VERSION_MINOR *([0-9]+).*define ZSTD_VERSION_RELEASE *([0-9]+)" VERSION_REGEX "${CONTENT}")
- SET(${_major} ${CMAKE_MATCH_1} PARENT_SCOPE)
- SET(${_minor} ${CMAKE_MATCH_2} PARENT_SCOPE)
- SET(${_release} ${CMAKE_MATCH_3} PARENT_SCOPE)
+ set(${_major} ${CMAKE_MATCH_1} PARENT_SCOPE)
+ set(${_minor} ${CMAKE_MATCH_2} PARENT_SCOPE)
+ set(${_release} ${CMAKE_MATCH_3} PARENT_SCOPE)
endfunction()
# in the COPYING file in the root directory of this source tree).
# ################################################################
-PROJECT(contrib)
+project(contrib)
-ADD_SUBDIRECTORY(pzstd)
-ADD_SUBDIRECTORY(gen_html)
+add_subdirectory(pzstd)
+add_subdirectory(gen_html)
# in the COPYING file in the root directory of this source tree).
# ################################################################
-PROJECT(gen_html)
-INCLUDE(GetZstdLibraryVersion)
+project(gen_html)
+include(GetZstdLibraryVersion)
-SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
# Define programs directory, where sources and header files are located
-SET(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
-SET(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
-SET(GENHTML_DIR ${ZSTD_SOURCE_DIR}/contrib/gen_html)
-SET(GENHTML_BINARY ${PROJECT_BINARY_DIR}/gen_html${CMAKE_EXECUTABLE_SUFFIX})
-INCLUDE_DIRECTORIES(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${GENHTML_DIR})
+set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
+set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
+set(GENHTML_DIR ${ZSTD_SOURCE_DIR}/contrib/gen_html)
+set(GENHTML_BINARY ${PROJECT_BINARY_DIR}/gen_html${CMAKE_EXECUTABLE_SUFFIX})
+include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${GENHTML_DIR})
-ADD_EXECUTABLE(gen_html ${GENHTML_DIR}/gen_html.cpp)
+add_executable(gen_html ${GENHTML_DIR}/gen_html.cpp)
GetZstdLibraryVersion(${LIBRARY_DIR}/zstd.h VMAJOR VMINOR VRELEASE)
-SET(LIBVERSION "${VMAJOR}.${VMINOR}.${VRELEASE}")
-ADD_CUSTOM_TARGET(zstd_manual.html ALL
+set(LIBVERSION "${VMAJOR}.${VMINOR}.${VRELEASE}")
+add_custom_target(zstd_manual.html ALL
${GENHTML_BINARY} "${LIBVERSION}" "${LIBRARY_DIR}/zstd.h" "${PROJECT_BINARY_DIR}/zstd_manual.html"
DEPENDS gen_html COMMENT "Update zstd manual")
-INSTALL(FILES "${PROJECT_BINARY_DIR}/zstd_manual.html" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+install(FILES "${PROJECT_BINARY_DIR}/zstd_manual.html" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
# in the COPYING file in the root directory of this source tree).
# ################################################################
-PROJECT(pzstd)
+project(pzstd)
-SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
# Define programs directory, where sources and header files are located
-SET(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
-SET(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
-SET(PZSTD_DIR ${ZSTD_SOURCE_DIR}/contrib/pzstd)
-INCLUDE_DIRECTORIES(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${PZSTD_DIR})
+set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
+set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
+set(PZSTD_DIR ${ZSTD_SOURCE_DIR}/contrib/pzstd)
+include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${PZSTD_DIR})
-ADD_EXECUTABLE(pzstd ${PROGRAMS_DIR}/util.c ${PZSTD_DIR}/main.cpp ${PZSTD_DIR}/Options.cpp ${PZSTD_DIR}/Pzstd.cpp ${PZSTD_DIR}/SkippableFrame.cpp)
-SET_PROPERTY(TARGET pzstd APPEND PROPERTY COMPILE_DEFINITIONS "NDEBUG")
-SET_PROPERTY(TARGET pzstd APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow")
+add_executable(pzstd ${PROGRAMS_DIR}/util.c ${PZSTD_DIR}/main.cpp ${PZSTD_DIR}/Options.cpp ${PZSTD_DIR}/Pzstd.cpp ${PZSTD_DIR}/SkippableFrame.cpp)
+set_property(TARGET pzstd APPEND PROPERTY COMPILE_DEFINITIONS "NDEBUG")
+set_property(TARGET pzstd APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow")
-SET(THREADS_PREFER_PTHREAD_FLAG ON)
-FIND_PACKAGE(Threads REQUIRED)
-IF (CMAKE_USE_PTHREADS_INIT)
- TARGET_LINK_LIBRARIES(pzstd libzstd_shared ${CMAKE_THREAD_LIBS_INIT})
-ELSE()
- MESSAGE(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
-ENDIF()
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
+if (CMAKE_USE_PTHREADS_INIT)
+ target_link_libraries(pzstd libzstd_shared ${CMAKE_THREAD_LIBS_INIT})
+else()
+ message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads")
+endif()
-INSTALL(TARGETS pzstd RUNTIME DESTINATION "bin")
+install(TARGETS pzstd RUNTIME DESTINATION "bin")
# in the COPYING file in the root directory of this source tree).
# ################################################################
-PROJECT(libzstd)
+project(libzstd)
-SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
-OPTION(ZSTD_BUILD_STATIC "BUILD STATIC LIBRARIES" ON)
-OPTION(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" ON)
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+option(ZSTD_BUILD_STATIC "BUILD STATIC LIBRARIES" ON)
+option(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" ON)
-IF(NOT ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC)
- MESSAGE(SEND_ERROR "You need to build at least one flavor of libzstd")
-ENDIF()
+if(NOT ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC)
+ message(SEND_ERROR "You need to build at least one flavor of libzstd")
+endif()
# Define library directory, where sources and header files are located
-SET(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
-INCLUDE_DIRECTORIES(${LIBRARY_DIR} ${LIBRARY_DIR}/common)
+set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
+include_directories(${LIBRARY_DIR} ${LIBRARY_DIR}/common)
# Parse version
-INCLUDE(GetZstdLibraryVersion)
+include(GetZstdLibraryVersion)
GetZstdLibraryVersion(${LIBRARY_DIR}/zstd.h LIBVER_MAJOR LIBVER_MINOR LIBVER_RELEASE)
-MESSAGE(STATUS "ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}")
+message(STATUS "ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}")
-SET(Sources
+set(Sources
${LIBRARY_DIR}/common/entropy_common.c
${LIBRARY_DIR}/common/fse_decompress.c
${LIBRARY_DIR}/common/threading.c
${LIBRARY_DIR}/deprecated/zbuff_compress.c
${LIBRARY_DIR}/deprecated/zbuff_decompress.c)
-SET(Headers
+set(Headers
${LIBRARY_DIR}/zstd.h
${LIBRARY_DIR}/common/debug.h
${LIBRARY_DIR}/common/pool.h
${LIBRARY_DIR}/dictBuilder/cover.h
${LIBRARY_DIR}/deprecated/zbuff.h)
-IF (ZSTD_LEGACY_SUPPORT)
- SET(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy)
- INCLUDE_DIRECTORIES(${LIBRARY_LEGACY_DIR})
+if (ZSTD_LEGACY_SUPPORT)
+ set(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy)
+ include_directories(${LIBRARY_LEGACY_DIR})
- SET(Sources ${Sources}
+ set(Sources ${Sources}
${LIBRARY_LEGACY_DIR}/zstd_v01.c
${LIBRARY_LEGACY_DIR}/zstd_v02.c
${LIBRARY_LEGACY_DIR}/zstd_v03.c
${LIBRARY_LEGACY_DIR}/zstd_v06.c
${LIBRARY_LEGACY_DIR}/zstd_v07.c)
- SET(Headers ${Headers}
+ set(Headers ${Headers}
${LIBRARY_LEGACY_DIR}/zstd_legacy.h
${LIBRARY_LEGACY_DIR}/zstd_v01.h
${LIBRARY_LEGACY_DIR}/zstd_v02.h
${LIBRARY_LEGACY_DIR}/zstd_v05.h
${LIBRARY_LEGACY_DIR}/zstd_v06.h
${LIBRARY_LEGACY_DIR}/zstd_v07.h)
-ENDIF (ZSTD_LEGACY_SUPPORT)
+endif (ZSTD_LEGACY_SUPPORT)
-IF (MSVC)
- SET(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll)
- SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc)
-ENDIF (MSVC)
+if (MSVC)
+ set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll)
+ set(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc)
+endif (MSVC)
# Split project to static and shared libraries build
-IF (ZSTD_BUILD_SHARED)
- ADD_LIBRARY(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
- IF (ZSTD_MULTITHREAD_SUPPORT)
- SET_PROPERTY(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
- IF (UNIX)
- TARGET_LINK_LIBRARIES(libzstd_shared ${THREADS_LIBS})
- ENDIF ()
- ENDIF()
-ENDIF (ZSTD_BUILD_SHARED)
-IF (ZSTD_BUILD_STATIC)
- ADD_LIBRARY(libzstd_static STATIC ${Sources} ${Headers})
- IF (ZSTD_MULTITHREAD_SUPPORT)
- SET_PROPERTY(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
- IF (UNIX)
- TARGET_LINK_LIBRARIES(libzstd_static ${THREADS_LIBS})
- ENDIF ()
- ENDIF ()
-ENDIF (ZSTD_BUILD_STATIC)
+if (ZSTD_BUILD_SHARED)
+ add_library(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
+ if (ZSTD_MULTITHREAD_SUPPORT)
+ set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
+ if (UNIX)
+ target_link_libraries(libzstd_shared ${THREADS_LIBS})
+ endif ()
+ endif()
+endif (ZSTD_BUILD_SHARED)
+if (ZSTD_BUILD_STATIC)
+ add_library(libzstd_static STATIC ${Sources} ${Headers})
+ if (ZSTD_MULTITHREAD_SUPPORT)
+ set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
+ if (UNIX)
+ target_link_libraries(libzstd_static ${THREADS_LIBS})
+ endif ()
+ endif ()
+endif (ZSTD_BUILD_STATIC)
# Add specific compile definitions for MSVC project
-IF (MSVC)
- IF (ZSTD_BUILD_SHARED)
- SET_PROPERTY(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
- ENDIF (ZSTD_BUILD_SHARED)
- IF (ZSTD_BUILD_STATIC)
- SET_PROPERTY(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
- ENDIF (ZSTD_BUILD_STATIC)
-ENDIF (MSVC)
+if (MSVC)
+ if (ZSTD_BUILD_SHARED)
+ set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
+ endif (ZSTD_BUILD_SHARED)
+ if (ZSTD_BUILD_STATIC)
+ set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
+ endif (ZSTD_BUILD_STATIC)
+endif (MSVC)
# With MSVC static library needs to be renamed to avoid conflict with import library
-IF (MSVC)
- SET(STATIC_LIBRARY_BASE_NAME zstd_static)
-ELSE ()
- SET(STATIC_LIBRARY_BASE_NAME zstd)
-ENDIF (MSVC)
+if (MSVC)
+ set(STATIC_LIBRARY_BASE_NAME zstd_static)
+else ()
+ set(STATIC_LIBRARY_BASE_NAME zstd)
+endif (MSVC)
# Define static and shared library names
-IF (ZSTD_BUILD_SHARED)
- SET_TARGET_PROPERTIES(
+if (ZSTD_BUILD_SHARED)
+ set_target_properties(
libzstd_shared
PROPERTIES
OUTPUT_NAME zstd
SOVERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE})
-ENDIF (ZSTD_BUILD_SHARED)
+endif (ZSTD_BUILD_SHARED)
-IF (ZSTD_BUILD_STATIC)
- SET_TARGET_PROPERTIES(
+if (ZSTD_BUILD_STATIC)
+ set_target_properties(
libzstd_static
PROPERTIES
OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
-ENDIF (ZSTD_BUILD_STATIC)
+endif (ZSTD_BUILD_STATIC)
-IF (UNIX)
+if (UNIX)
# pkg-config
- SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
- SET(LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
- SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include")
- SET(VERSION "${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}")
- ADD_CUSTOM_TARGET(libzstd.pc ALL
+ set(PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include")
+ set(VERSION "${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}")
+ add_custom_target(libzstd.pc ALL
${CMAKE_COMMAND} -DIN="${LIBRARY_DIR}/libzstd.pc.in" -DOUT="libzstd.pc"
-DPREFIX="${PREFIX}" -DLIBDIR="${LIBDIR}" -DINCLUDEDIR="${INCLUDEDIR}" -DVERSION="${VERSION}"
-P "${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig.cmake"
COMMENT "Creating pkg-config file")
- INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${LIBDIR}/pkgconfig")
-ENDIF (UNIX)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${LIBDIR}/pkgconfig")
+endif (UNIX)
# install target
-INSTALL(FILES
+install(FILES
${LIBRARY_DIR}/zstd.h
${LIBRARY_DIR}/deprecated/zbuff.h
${LIBRARY_DIR}/dictBuilder/zdict.h
${LIBRARY_DIR}/common/zstd_errors.h
DESTINATION "include")
-IF (ZSTD_BUILD_SHARED)
- INSTALL(TARGETS libzstd_shared RUNTIME DESTINATION "bin"
+if (ZSTD_BUILD_SHARED)
+ install(TARGETS libzstd_shared RUNTIME DESTINATION "bin"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-ENDIF()
-IF (ZSTD_BUILD_STATIC)
- INSTALL(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-ENDIF (ZSTD_BUILD_STATIC)
+endif()
+if (ZSTD_BUILD_STATIC)
+ install(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+endif (ZSTD_BUILD_STATIC)
# uninstall target
-CONFIGURE_FILE(
+configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
-ADD_CUSTOM_TARGET(uninstall
+add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
-CONFIGURE_FILE("${IN}" "${OUT}" @ONLY)
+configure_file("${IN}" "${OUT}" @ONLY)
# in the COPYING file in the root directory of this source tree).
# ################################################################
-PROJECT(programs)
+project(programs)
-SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
# Define programs directory, where sources and header files are located
-SET(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
-SET(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
-INCLUDE_DIRECTORIES(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
-
-IF (ZSTD_LEGACY_SUPPORT)
- SET(PROGRAMS_LEGACY_DIR ${PROGRAMS_DIR}/legacy)
- INCLUDE_DIRECTORIES(${PROGRAMS_LEGACY_DIR} ${LIBRARY_DIR}/legacy)
-ENDIF (ZSTD_LEGACY_SUPPORT)
-
-IF (MSVC)
- SET(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/zstd)
- SET(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstd.rc)
-ENDIF (MSVC)
-
-ADD_EXECUTABLE(zstd ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/dibio.c ${PlatformDependResources})
-TARGET_LINK_LIBRARIES(zstd libzstd_static)
-IF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
- TARGET_LINK_LIBRARIES(zstd rt)
-ENDIF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
-INSTALL(TARGETS zstd RUNTIME DESTINATION "bin")
-
-IF (UNIX)
- ADD_CUSTOM_TARGET(zstdcat ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdcat DEPENDS zstd COMMENT "Creating zstdcat symlink")
- ADD_CUSTOM_TARGET(unzstd ALL ${CMAKE_COMMAND} -E create_symlink zstd unzstd DEPENDS zstd COMMENT "Creating unzstd symlink")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat DESTINATION "bin")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/unzstd DESTINATION "bin")
-
- ADD_CUSTOM_TARGET(zstd.1 ALL
+set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
+set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
+include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
+
+if (ZSTD_LEGACY_SUPPORT)
+ set(PROGRAMS_LEGACY_DIR ${PROGRAMS_DIR}/legacy)
+ include_directories(${PROGRAMS_LEGACY_DIR} ${LIBRARY_DIR}/legacy)
+endif (ZSTD_LEGACY_SUPPORT)
+
+if (MSVC)
+ set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/zstd)
+ set(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstd.rc)
+endif (MSVC)
+
+add_executable(zstd ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/fileio.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/dibio.c ${PlatformDependResources})
+target_link_libraries(zstd libzstd_static)
+if (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
+ target_link_libraries(zstd rt)
+endif (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
+install(TARGETS zstd RUNTIME DESTINATION "bin")
+
+if (UNIX)
+ add_custom_target(zstdcat ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdcat DEPENDS zstd COMMENT "Creating zstdcat symlink")
+ add_custom_target(unzstd ALL ${CMAKE_COMMAND} -E create_symlink zstd unzstd DEPENDS zstd COMMENT "Creating unzstd symlink")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat DESTINATION "bin")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unzstd DESTINATION "bin")
+
+ add_custom_target(zstd.1 ALL
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstd.1 .
COMMENT "Copying manpage zstd.1")
- ADD_CUSTOM_TARGET(zstdgrep.1 ALL
+ add_custom_target(zstdgrep.1 ALL
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstdgrep.1 .
COMMENT "Copying manpage zstdgrep.1")
- ADD_CUSTOM_TARGET(zstdless.1 ALL
+ add_custom_target(zstdless.1 ALL
${CMAKE_COMMAND} -E copy ${PROGRAMS_DIR}/zstdless.1 .
COMMENT "Copying manpage zstdless.1")
- ADD_CUSTOM_TARGET(zstdcat.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 zstdcat.1 DEPENDS zstd.1 COMMENT "Creating zstdcat.1 symlink")
- ADD_CUSTOM_TARGET(unzstd.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 unzstd.1 DEPENDS zstd.1 COMMENT "Creating unzstd.1 symlink")
+ add_custom_target(zstdcat.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 zstdcat.1 DEPENDS zstd.1 COMMENT "Creating zstdcat.1 symlink")
+ add_custom_target(unzstd.1 ALL ${CMAKE_COMMAND} -E create_symlink zstd.1 unzstd.1 DEPENDS zstd.1 COMMENT "Creating unzstd.1 symlink")
# Define MAN_INSTALL_DIR if necessary
- IF (MAN_INSTALL_DIR)
- ELSE (MAN_INSTALL_DIR)
- SET(MAN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/man/man1)
- ENDIF (MAN_INSTALL_DIR)
-
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstd.1 DESTINATION "${MAN_INSTALL_DIR}")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat.1 DESTINATION "${MAN_INSTALL_DIR}")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/unzstd.1 DESTINATION "${MAN_INSTALL_DIR}")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdgrep.1 DESTINATION "${MAN_INSTALL_DIR}")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdless.1 DESTINATION "${MAN_INSTALL_DIR}")
-
- ADD_EXECUTABLE(zstd-frugal ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/fileio.c)
- TARGET_LINK_LIBRARIES(zstd-frugal libzstd_static)
- SET_PROPERTY(TARGET zstd-frugal APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_NOBENCH;ZSTD_NODICT")
-ENDIF (UNIX)
+ if (MAN_INSTALL_DIR)
+ else (MAN_INSTALL_DIR)
+ set(MAN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/man/man1)
+ endif (MAN_INSTALL_DIR)
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstd.1 DESTINATION "${MAN_INSTALL_DIR}")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat.1 DESTINATION "${MAN_INSTALL_DIR}")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unzstd.1 DESTINATION "${MAN_INSTALL_DIR}")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdgrep.1 DESTINATION "${MAN_INSTALL_DIR}")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdless.1 DESTINATION "${MAN_INSTALL_DIR}")
+
+ add_executable(zstd-frugal ${PROGRAMS_DIR}/zstdcli.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/fileio.c)
+ target_link_libraries(zstd-frugal libzstd_static)
+ set_property(TARGET zstd-frugal APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_NOBENCH;ZSTD_NODICT")
+endif (UNIX)
# Add multi-threading support definitions
-IF (ZSTD_MULTITHREAD_SUPPORT)
- SET_PROPERTY(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
-
- IF (UNIX)
- TARGET_LINK_LIBRARIES(zstd ${THREADS_LIBS})
-
- ADD_CUSTOM_TARGET(zstdmt ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdmt DEPENDS zstd COMMENT "Creating zstdmt symlink")
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdmt DESTINATION "bin")
- ENDIF (UNIX)
-ENDIF (ZSTD_MULTITHREAD_SUPPORT)
-
-OPTION(ZSTD_ZLIB_SUPPORT "ZLIB SUPPORT" OFF)
-OPTION(ZSTD_LZMA_SUPPORT "LZMA SUPPORT" OFF)
-
-IF (ZSTD_ZLIB_SUPPORT)
- FIND_PACKAGE(ZLIB REQUIRED)
-
- IF (ZLIB_FOUND)
- INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
- TARGET_LINK_LIBRARIES(zstd ${ZLIB_LIBRARIES})
- SET_PROPERTY(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_GZCOMPRESS;ZSTD_GZDECOMPRESS")
- ELSE ()
- MESSAGE(SEND_ERROR "zlib library is missing")
- ENDIF ()
-ENDIF ()
-
-IF (ZSTD_LZMA_SUPPORT)
- FIND_PACKAGE(LibLZMA REQUIRED)
-
- IF (LIBLZMA_FOUND)
- INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
- TARGET_LINK_LIBRARIES(zstd ${LIBLZMA_LIBRARIES})
- SET_PROPERTY(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_LZMACOMPRESS;ZSTD_LZMADECOMPRESS")
- ELSE ()
- MESSAGE(SEND_ERROR "lzma library is missing")
- ENDIF ()
-ENDIF ()
+if (ZSTD_MULTITHREAD_SUPPORT)
+ set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD")
+
+ if (UNIX)
+ target_link_libraries(zstd ${THREADS_LIBS})
+
+ add_custom_target(zstdmt ALL ${CMAKE_COMMAND} -E create_symlink zstd zstdmt DEPENDS zstd COMMENT "Creating zstdmt symlink")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdmt DESTINATION "bin")
+ endif (UNIX)
+endif (ZSTD_MULTITHREAD_SUPPORT)
+
+option(ZSTD_ZLIB_SUPPORT "ZLIB SUPPORT" OFF)
+option(ZSTD_LZMA_SUPPORT "LZMA SUPPORT" OFF)
+
+if (ZSTD_ZLIB_SUPPORT)
+ find_package(ZLIB REQUIRED)
+
+ if (ZLIB_FOUND)
+ include_directories(${ZLIB_INCLUDE_DIRS})
+ target_link_libraries(zstd ${ZLIB_LIBRARIES})
+ set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_GZCOMPRESS;ZSTD_GZDECOMPRESS")
+ else ()
+ message(SEND_ERROR "zlib library is missing")
+ endif ()
+endif ()
+
+if (ZSTD_LZMA_SUPPORT)
+ find_package(LibLZMA REQUIRED)
+
+ if (LIBLZMA_FOUND)
+ include_directories(${LIBLZMA_INCLUDE_DIRS})
+ target_link_libraries(zstd ${LIBLZMA_LIBRARIES})
+ set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_LZMACOMPRESS;ZSTD_LZMADECOMPRESS")
+ else ()
+ message(SEND_ERROR "lzma library is missing")
+ endif ()
+endif ()
# - zstd homepage : http://www.zstd.net/
# ################################################################
-PROJECT(tests)
+project(tests)
-SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
# Define programs directory, where sources and header files are located
-SET(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
-SET(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
-SET(TESTS_DIR ${ZSTD_SOURCE_DIR}/tests)
-INCLUDE_DIRECTORIES(${TESTS_DIR} ${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
+set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
+set(PROGRAMS_DIR ${ZSTD_SOURCE_DIR}/programs)
+set(TESTS_DIR ${ZSTD_SOURCE_DIR}/tests)
+include_directories(${TESTS_DIR} ${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRARY_DIR}/compress ${LIBRARY_DIR}/dictBuilder)
-ADD_EXECUTABLE(datagen ${PROGRAMS_DIR}/datagen.c ${TESTS_DIR}/datagencli.c)
-TARGET_LINK_LIBRARIES(datagen libzstd_static)
+add_executable(datagen ${PROGRAMS_DIR}/datagen.c ${TESTS_DIR}/datagencli.c)
+target_link_libraries(datagen libzstd_static)
-ADD_EXECUTABLE(fullbench ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${TESTS_DIR}/fullbench.c)
-TARGET_LINK_LIBRARIES(fullbench libzstd_static)
+add_executable(fullbench ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${TESTS_DIR}/fullbench.c)
+target_link_libraries(fullbench libzstd_static)
-ADD_EXECUTABLE(fuzzer ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${TESTS_DIR}/fuzzer.c)
-TARGET_LINK_LIBRARIES(fuzzer libzstd_static)
+add_executable(fuzzer ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${TESTS_DIR}/fuzzer.c)
+target_link_libraries(fuzzer libzstd_static)
-IF (UNIX)
- ADD_EXECUTABLE(paramgrill ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${TESTS_DIR}/paramgrill.c)
- TARGET_LINK_LIBRARIES(paramgrill libzstd_static m) #m is math library
-ENDIF (UNIX)
+if (UNIX)
+ add_executable(paramgrill ${PROGRAMS_DIR}/benchfn.c ${PROGRAMS_DIR}/benchzstd.c ${PROGRAMS_DIR}/datagen.c ${PROGRAMS_DIR}/util.c ${TESTS_DIR}/paramgrill.c)
+ target_link_libraries(paramgrill libzstd_static m) #m is math library
+endif (UNIX)