mirror of
				https://github.com/eledio-devices/thirdparty-miniz.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Merge pull request #139 from andiwand/cmake-use-current-directories
use CMAKE_CURRENT_* directories
This commit is contained in:
		| @@ -27,7 +27,7 @@ option(AMALGAMATE_SOURCES "Amalgamate sources into miniz.h/c" OFF) | ||||
| option(BUILD_HEADER_ONLY "Build a header-only version" OFF) | ||||
| option(BUILD_SHARED_LIBS "Build shared library instead of static" ON) | ||||
|  | ||||
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) | ||||
| set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin) | ||||
|  | ||||
| if(BUILD_HEADER_ONLY) | ||||
|   set(AMALGAMATE_SOURCES ON CACHE BOOL "Build a header-only version" FORCE) | ||||
| @@ -35,24 +35,24 @@ endif(BUILD_HEADER_ONLY) | ||||
|  | ||||
| if(AMALGAMATE_SOURCES) | ||||
|   # Amalgamate | ||||
|   file(COPY miniz.h DESTINATION ${CMAKE_BINARY_DIR}/amalgamation/) | ||||
|   file(COPY miniz.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/) | ||||
|   file(READ miniz.h MINIZ_H) | ||||
|   file(READ miniz_common.h MINIZ_COMMON_H) | ||||
|   file(READ miniz_tdef.h MINIZ_TDEF_H) | ||||
|   file(READ miniz_tinfl.h MINIZ_TINFL_H) | ||||
|   file(READ miniz_zip.h MINIZ_ZIP_H) | ||||
|   file(APPEND ${CMAKE_BINARY_DIR}/amalgamation/miniz.h | ||||
|   file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h | ||||
|      "${MINIZ_COMMON_H} ${MINIZ_TDEF_H} ${MINIZ_TINFL_H} ${MINIZ_ZIP_H}") | ||||
|  | ||||
|   file(COPY miniz.c DESTINATION ${CMAKE_BINARY_DIR}/amalgamation/) | ||||
|   file(COPY miniz.c DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/) | ||||
|   file(READ miniz_tdef.c MINIZ_TDEF_C) | ||||
|   file(READ miniz_tinfl.c MINIZ_TINFL_C) | ||||
|   file(READ miniz_zip.c MINIZ_ZIP_C) | ||||
|   file(APPEND ${CMAKE_BINARY_DIR}/amalgamation/miniz.c | ||||
|   file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c | ||||
|      "${MINIZ_TDEF_C} ${MINIZ_TINFL_C} ${MINIZ_ZIP_C}") | ||||
|  | ||||
|   file(READ ${CMAKE_BINARY_DIR}/amalgamation/miniz.h AMAL_MINIZ_H) | ||||
|   file(READ ${CMAKE_BINARY_DIR}/amalgamation/miniz.c AMAL_MINIZ_C) | ||||
|   file(READ ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h AMAL_MINIZ_H) | ||||
|   file(READ ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c AMAL_MINIZ_C) | ||||
|   foreach(REPLACE_STRING miniz;miniz_common;miniz_tdef;miniz_tinfl;miniz_zip;miniz_export) | ||||
|     string(REPLACE "#include \"${REPLACE_STRING}.h\"" "" AMAL_MINIZ_H "${AMAL_MINIZ_H}") | ||||
|     string(REPLACE "#include \"${REPLACE_STRING}.h\"" "" AMAL_MINIZ_C "${AMAL_MINIZ_C}") | ||||
| @@ -61,7 +61,7 @@ if(AMALGAMATE_SOURCES) | ||||
|   if(BUILD_HEADER_ONLY) | ||||
|     string(CONCAT AMAL_MINIZ_H "${AMAL_MINIZ_H}" "\n#ifndef MINIZ_HEADER_FILE_ONLY\n" | ||||
|              "${AMAL_MINIZ_C}" "\n#endif // MINIZ_HEADER_FILE_ONLY\n") | ||||
|     file(WRITE ${CMAKE_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}") | ||||
|     file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}") | ||||
|     add_library(${PROJECT_NAME} INTERFACE) | ||||
|      | ||||
|     # Might not be a good idea to force this on the library user | ||||
| @@ -72,25 +72,24 @@ if(AMALGAMATE_SOURCES) | ||||
|      | ||||
|     set_property(TARGET ${PROJECT_NAME} APPEND  | ||||
|       PROPERTY INTERFACE_INCLUDE_DIRECTORIES | ||||
|       $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/amalgamation> | ||||
|       $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/amalgamation> | ||||
|       $<INSTALL_INTERFACE:include> | ||||
|     ) | ||||
|   else(BUILD_HEADER_ONLY) | ||||
|     string(CONCAT AMAL_MINIZ_C "#include \"miniz.h\"\n" "${AMAL_MINIZ_C}") | ||||
|     file(WRITE ${CMAKE_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}") | ||||
|     file(WRITE ${CMAKE_BINARY_DIR}/amalgamation/miniz.c "${AMAL_MINIZ_C}") | ||||
|     set(miniz_SOURCE ${CMAKE_BINARY_DIR}/amalgamation/miniz.h | ||||
|                      ${CMAKE_BINARY_DIR}/amalgamation/miniz.c) | ||||
|     file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h "${AMAL_MINIZ_H}") | ||||
|     file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c "${AMAL_MINIZ_C}") | ||||
|     set(miniz_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h | ||||
|                      ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.c) | ||||
|     add_library(${PROJECT_NAME} STATIC ${miniz_SOURCE}) | ||||
|     target_include_directories(${PROJECT_NAME} PUBLIC | ||||
|       $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/amalgamation> | ||||
|       $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/amalgamation> | ||||
|       $<INSTALL_INTERFACE:include> | ||||
|     ) | ||||
|   endif(BUILD_HEADER_ONLY) | ||||
|  | ||||
|   set(INSTALL_HEADERS ${CMAKE_BINARY_DIR}/amalgamation/miniz.h) | ||||
|   set(INSTALL_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/amalgamation/miniz.h) | ||||
| else(AMALGAMATE_SOURCES) | ||||
|  | ||||
|   include(GenerateExportHeader) | ||||
|   set(miniz_SOURCE miniz.c miniz_zip.c miniz_tinfl.c miniz_tdef.c) | ||||
|   add_library(${PROJECT_NAME} ${miniz_SOURCE}) | ||||
| @@ -116,7 +115,6 @@ else(AMALGAMATE_SOURCES) | ||||
|   file(GLOB INSTALL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) | ||||
|   list(APPEND | ||||
|        INSTALL_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_export.h) | ||||
|  | ||||
| endif(AMALGAMATE_SOURCES) | ||||
|  | ||||
| if(NOT BUILD_HEADER_ONLY) | ||||
| @@ -136,7 +134,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets | ||||
|   LIBRARY  DESTINATION lib | ||||
|   # users can use <miniz.h> or <miniz/miniz.h> | ||||
|   INCLUDES DESTINATION include include/${PROJECT_NAME} | ||||
|   ) | ||||
| ) | ||||
|  | ||||
| include(CMakePackageConfigHelpers) | ||||
| write_basic_package_version_file( | ||||
| @@ -208,3 +206,4 @@ set(INCLUDE_INSTALL_DIR "include") | ||||
|  | ||||
| install(FILES ${INSTALL_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}) | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user