From 2f1ff84119f1de97fdd5f5198e80b6375d1e2063 Mon Sep 17 00:00:00 2001 From: Hans Johnson Date: Sat, 22 Dec 2018 19:31:59 -0600 Subject: [PATCH 1/3] STYLE: Convert CMake-language commands to lower case Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. --- build/cmake/CMakeLists.txt | 106 ++++++------ .../AddZstdCompilationFlags.cmake | 14 +- .../CMakeModules/GetZstdLibraryVersion.cmake | 8 +- build/cmake/contrib/CMakeLists.txt | 6 +- build/cmake/contrib/gen_html/CMakeLists.txt | 24 +-- build/cmake/contrib/pzstd/CMakeLists.txt | 34 ++-- build/cmake/lib/CMakeLists.txt | 154 +++++++++--------- build/cmake/lib/pkgconfig.cmake | 2 +- build/cmake/programs/CMakeLists.txt | 144 ++++++++-------- build/cmake/tests/CMakeLists.txt | 32 ++-- 10 files changed, 262 insertions(+), 262 deletions(-) diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index 56ae67bb..02a81b3c 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -7,107 +7,107 @@ # 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}/ ) diff --git a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake index a7dc08ea..8d464c06 100644 --- a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +++ b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake @@ -20,7 +20,7 @@ function(EnableCompilerFlag _flag _C _CXX) 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) @@ -46,22 +46,22 @@ MACRO(ADD_ZSTD_COMPILATION_FLAGS) 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) diff --git a/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake b/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake index 8b6f394d..af07723a 100644 --- a/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +++ b/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake @@ -1,9 +1,9 @@ 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() diff --git a/build/cmake/contrib/CMakeLists.txt b/build/cmake/contrib/CMakeLists.txt index 8c7bc78a..f7631d08 100644 --- a/build/cmake/contrib/CMakeLists.txt +++ b/build/cmake/contrib/CMakeLists.txt @@ -7,7 +7,7 @@ # 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) diff --git a/build/cmake/contrib/gen_html/CMakeLists.txt b/build/cmake/contrib/gen_html/CMakeLists.txt index c4062d47..8fdd6113 100644 --- a/build/cmake/contrib/gen_html/CMakeLists.txt +++ b/build/cmake/contrib/gen_html/CMakeLists.txt @@ -7,24 +7,24 @@ # 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}") diff --git a/build/cmake/contrib/pzstd/CMakeLists.txt b/build/cmake/contrib/pzstd/CMakeLists.txt index 2edebf84..5c30a91b 100644 --- a/build/cmake/contrib/pzstd/CMakeLists.txt +++ b/build/cmake/contrib/pzstd/CMakeLists.txt @@ -7,26 +7,26 @@ # 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") diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index ef3389e2..53f72d1e 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -7,26 +7,26 @@ # 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 @@ -56,7 +56,7 @@ SET(Sources ${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 @@ -83,11 +83,11 @@ SET(Headers ${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 @@ -96,7 +96,7 @@ IF (ZSTD_LEGACY_SUPPORT) ${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 @@ -105,83 +105,83 @@ IF (ZSTD_LEGACY_SUPPORT) ${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 @@ -189,20 +189,20 @@ INSTALL(FILES ${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) diff --git a/build/cmake/lib/pkgconfig.cmake b/build/cmake/lib/pkgconfig.cmake index 5434ff75..8f805a19 100644 --- a/build/cmake/lib/pkgconfig.cmake +++ b/build/cmake/lib/pkgconfig.cmake @@ -1 +1 @@ -CONFIGURE_FILE("${IN}" "${OUT}" @ONLY) +configure_file("${IN}" "${OUT}" @ONLY) diff --git a/build/cmake/programs/CMakeLists.txt b/build/cmake/programs/CMakeLists.txt index a54d49d9..9f4e9bef 100644 --- a/build/cmake/programs/CMakeLists.txt +++ b/build/cmake/programs/CMakeLists.txt @@ -7,103 +7,103 @@ # 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) +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 (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) +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") +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") +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 + 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) + 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}") + 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_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 (ZSTD_MULTITHREAD_SUPPORT) + set_property(TARGET zstd APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") - IF (UNIX) - TARGET_LINK_LIBRARIES(zstd ${THREADS_LIBS}) + 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) + 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) +option(ZSTD_ZLIB_SUPPORT "ZLIB SUPPORT" OFF) +option(ZSTD_LZMA_SUPPORT "LZMA SUPPORT" OFF) -IF (ZSTD_ZLIB_SUPPORT) - FIND_PACKAGE(ZLIB REQUIRED) +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 (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 (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 (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 () diff --git a/build/cmake/tests/CMakeLists.txt b/build/cmake/tests/CMakeLists.txt index d5e48277..703e7c01 100644 --- a/build/cmake/tests/CMakeLists.txt +++ b/build/cmake/tests/CMakeLists.txt @@ -30,26 +30,26 @@ # - 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) From d3fc848ddd90c238abdec13c8bd1049555ebd33c Mon Sep 17 00:00:00 2001 From: Hans Johnson Date: Sat, 22 Dec 2018 19:31:50 -0600 Subject: [PATCH 2/3] STYLE: Remove CMake-language block-end command arguments Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. --- build/cmake/CMakeLists.txt | 20 ++++++++-------- .../AddZstdCompilationFlags.cmake | 6 ++--- build/cmake/lib/CMakeLists.txt | 24 +++++++++---------- build/cmake/lib/cmake_uninstall.cmake.in | 10 ++++---- build/cmake/programs/CMakeLists.txt | 16 ++++++------- build/cmake/tests/CMakeLists.txt | 2 +- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index 02a81b3c..c9dab0d5 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -45,19 +45,19 @@ 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) +else () message(STATUS "ZSTD_LEGACY_SUPPORT not defined!") add_definitions(-DZSTD_LEGACY_SUPPORT=0) -endif (ZSTD_LEGACY_SUPPORT) +endif () # Multi-threading support option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON) if (ZSTD_MULTITHREAD_SUPPORT) message(STATUS "ZSTD_MULTITHREAD_SUPPORT is enabled") -else (ZSTD_MULTITHREAD_SUPPORT) +else () message(STATUS "ZSTD_MULTITHREAD_SUPPORT is disabled") -endif (ZSTD_MULTITHREAD_SUPPORT) +endif () option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" ON) option(ZSTD_BUILD_CONTRIB "BUILD CONTRIB" OFF) @@ -77,7 +77,7 @@ if (ZSTD_MULTITHREAD_SUPPORT AND UNIX) else() message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads") endif() -endif (ZSTD_MULTITHREAD_SUPPORT AND UNIX) +endif () #----------------------------------------------------------------------------- # Add source directories @@ -87,22 +87,22 @@ 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) + endif () add_subdirectory(programs) -endif (ZSTD_BUILD_PROGRAMS) +endif () 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) + endif () add_subdirectory(tests) -endif (ZSTD_BUILD_TESTS) +endif () if (ZSTD_BUILD_CONTRIB) add_subdirectory(contrib) -endif (ZSTD_BUILD_CONTRIB) +endif () #----------------------------------------------------------------------------- # Add clean-all target diff --git a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake index 8d464c06..5e65cedb 100644 --- a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +++ b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake @@ -53,7 +53,7 @@ macro(ADD_ZSTD_COMPILATION_FLAGS) separate_arguments(${flag_var}) list(REMOVE_DUPLICATES ${flag_var}) string(REPLACE ";" " " ${flag_var} "${${flag_var}}") - endforeach (flag_var) + endforeach () if (MSVC AND ZSTD_USE_STATIC_RUNTIME) foreach (flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE @@ -61,7 +61,7 @@ macro(ADD_ZSTD_COMPILATION_FLAGS) 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) + endforeach () endif () -endmacro(ADD_ZSTD_COMPILATION_FLAGS) +endmacro() diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 53f72d1e..6ed6c305 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -105,12 +105,12 @@ if (ZSTD_LEGACY_SUPPORT) ${LIBRARY_LEGACY_DIR}/zstd_v05.h ${LIBRARY_LEGACY_DIR}/zstd_v06.h ${LIBRARY_LEGACY_DIR}/zstd_v07.h) -endif (ZSTD_LEGACY_SUPPORT) +endif () if (MSVC) set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll) set(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc) -endif (MSVC) +endif () # Split project to static and shared libraries build if (ZSTD_BUILD_SHARED) @@ -121,7 +121,7 @@ if (ZSTD_BUILD_SHARED) target_link_libraries(libzstd_shared ${THREADS_LIBS}) endif () endif() -endif (ZSTD_BUILD_SHARED) +endif () if (ZSTD_BUILD_STATIC) add_library(libzstd_static STATIC ${Sources} ${Headers}) if (ZSTD_MULTITHREAD_SUPPORT) @@ -130,24 +130,24 @@ if (ZSTD_BUILD_STATIC) target_link_libraries(libzstd_static ${THREADS_LIBS}) endif () endif () -endif (ZSTD_BUILD_STATIC) +endif () # 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) + endif () 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) + endif () +endif () # 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) +endif () # Define static and shared library names if (ZSTD_BUILD_SHARED) @@ -156,14 +156,14 @@ if (ZSTD_BUILD_SHARED) PROPERTIES OUTPUT_NAME zstd SOVERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}) -endif (ZSTD_BUILD_SHARED) +endif () if (ZSTD_BUILD_STATIC) set_target_properties( libzstd_static PROPERTIES OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME}) -endif (ZSTD_BUILD_STATIC) +endif () if (UNIX) # pkg-config @@ -178,7 +178,7 @@ if (UNIX) COMMENT "Creating pkg-config file") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "${LIBDIR}/pkgconfig") -endif (UNIX) +endif () # install target install(FILES @@ -196,7 +196,7 @@ if (ZSTD_BUILD_SHARED) endif() if (ZSTD_BUILD_STATIC) install(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") -endif (ZSTD_BUILD_STATIC) +endif () # uninstall target configure_file( diff --git a/build/cmake/lib/cmake_uninstall.cmake.in b/build/cmake/lib/cmake_uninstall.cmake.in index e3774dc1..9f1d045d 100644 --- a/build/cmake/lib/cmake_uninstall.cmake.in +++ b/build/cmake/lib/cmake_uninstall.cmake.in @@ -1,7 +1,7 @@ if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") -endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") +endif() file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) string(REGEX REPLACE "\n" ";" files "${files}") @@ -15,8 +15,8 @@ foreach(file ${files}) ) if(NOT "${rm_retval}" STREQUAL 0) message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") - endif(NOT "${rm_retval}" STREQUAL 0) - else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") + endif() + else() message(STATUS "File $ENV{DESTDIR}${file} does not exist.") - endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") -endforeach(file) + endif() +endforeach() diff --git a/build/cmake/programs/CMakeLists.txt b/build/cmake/programs/CMakeLists.txt index 9f4e9bef..4c5146f8 100644 --- a/build/cmake/programs/CMakeLists.txt +++ b/build/cmake/programs/CMakeLists.txt @@ -19,18 +19,18 @@ include_directories(${PROGRAMS_DIR} ${LIBRARY_DIR} ${LIBRARY_DIR}/common ${LIBRA if (ZSTD_LEGACY_SUPPORT) set(PROGRAMS_LEGACY_DIR ${PROGRAMS_DIR}/legacy) include_directories(${PROGRAMS_LEGACY_DIR} ${LIBRARY_DIR}/legacy) -endif (ZSTD_LEGACY_SUPPORT) +endif () if (MSVC) set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/zstd) set(PlatformDependResources ${MSVC_RESOURCE_DIR}/zstd.rc) -endif (MSVC) +endif () 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)") +endif () install(TARGETS zstd RUNTIME DESTINATION "bin") if (UNIX) @@ -53,9 +53,9 @@ if (UNIX) # Define MAN_INSTALL_DIR if necessary if (MAN_INSTALL_DIR) - else (MAN_INSTALL_DIR) + else () set(MAN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/man/man1) - endif (MAN_INSTALL_DIR) + endif () install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstd.1 DESTINATION "${MAN_INSTALL_DIR}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zstdcat.1 DESTINATION "${MAN_INSTALL_DIR}") @@ -66,7 +66,7 @@ if (UNIX) 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) +endif () # Add multi-threading support definitions @@ -78,8 +78,8 @@ if (ZSTD_MULTITHREAD_SUPPORT) 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) + endif () +endif () option(ZSTD_ZLIB_SUPPORT "ZLIB SUPPORT" OFF) option(ZSTD_LZMA_SUPPORT "LZMA SUPPORT" OFF) diff --git a/build/cmake/tests/CMakeLists.txt b/build/cmake/tests/CMakeLists.txt index 703e7c01..69316e28 100644 --- a/build/cmake/tests/CMakeLists.txt +++ b/build/cmake/tests/CMakeLists.txt @@ -52,4 +52,4 @@ 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) +endif () From 443b5c40e4104099b75d36a2ba2a1d1a65aaf7aa Mon Sep 17 00:00:00 2001 From: Hans Johnson Date: Mon, 24 Dec 2018 07:06:31 -0600 Subject: [PATCH 3/3] DOC: Provide documentation for cmake best practices. --- build/cmake/README.md | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 build/cmake/README.md diff --git a/build/cmake/README.md b/build/cmake/README.md new file mode 100644 index 00000000..0c71a54a --- /dev/null +++ b/build/cmake/README.md @@ -0,0 +1,65 @@ +# Cmake contributions + +Contributions to the cmake build configurations are welcome. Please +use case sensitivity that matches modern (ie. cmake version 2.6 and above) +conventions of using lower-case for commands, and upper-case for +varibles. + +# CMake Style Recommendations + +## Indent all code correctly, i.e. the body of + + * if/else/endif + * foreach/endforeach + * while/endwhile + * macro/endmacro + * function/endfunction + +Use spaces for indenting, 2, 3 or 4 spaces preferably. Use the same amount of +spaces for indenting as is used in the rest of the file. Do not use tabs. + +## Upper/lower casing + +Most important: use consistent upper- or lowercasing within one file ! + +In general, the all-lowercase style is preferred. + +So, this is recommended: + +``` +add_executable(foo foo.c) +``` + +These forms are discouraged + +``` +ADD_EXECUTABLE(bar bar.c) +Add_Executable(hello hello.c) +aDd_ExEcUtAbLe(blub blub.c) +``` + +## End commands +To make the code easier to read, use empty commands for endforeach(), endif(), +endfunction(), endmacro() and endwhile(). Also, use empty else() commands. + +For example, do this: + +``` +if(FOOVAR) + some_command(...) +else() + another_command(...) +endif() +``` + +and not this: + +``` +if(BARVAR) + some_other_command(...) +endif(BARVAR) +``` + +## Other resources for best practices + +`https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#modules`