cmake_minimum_required(VERSION 3.12...3.31) project( testzlib VERSION 1.0.0 LANGUAGES C DESCRIPTION "A little program to test zlib" HOMEPAGE_URL "https://www.zlib.net") # ============================================================================ # set options if build from zlib # ============================================================================ if(ZLIB_BUILD_TESTZLIB) set(ZLIB_TESTZLIB_BUILD_SHARED ${ZLIB_BUILD_SHARED} CACHE BOOL "") set(ZLIB_TESTZLIB_BUILD_STATIC ${ZLIB_BUILD_STATIC} CACHE BOOL "") endif(ZLIB_BUILD_TESTZLIB) option(ZLIB_TESTZLIB_BUILD_SHARED "Enable building testzlib" ON) option(ZLIB_TESTZLIB_BUILD_STATIC "Enable building static linked testzlib" ON) option(ZLIB_TESTZLIB_INSTALL "Enable installation of testzlib" ON) if(ZLIB_TESTZLIB_BUILD_SHARED) list(APPEND REQUIRED_COMPONENTS "shared") endif(ZLIB_TESTZLIB_BUILD_SHARED) if(ZLIB_TESTZLIB_BUILD_STATIC) list(APPEND REQUIRED_COMPONENTS "static") endif(ZLIB_TESTZLIB_BUILD_STATIC) if(NOT ZLIB_BUILD_TESTZLIB) find_package(ZLIB REQUIRED COMPONENTS ${REQUIRED_COMPONENTS} CONFIG) endif(NOT ZLIB_BUILD_TESTZLIB) if(ZLIB_TESTZLIB_BUILD_SHARED) add_executable(${ZLIB_CONTRIB_PREFIX}testzlib testzlib.c) target_link_libraries(${ZLIB_CONTRIB_PREFIX}testzlib PRIVATE ZLIB::ZLIB) set_target_properties(${ZLIB_CONTRIB_PREFIX}testzlib PROPERTIES OUTPUT_NAME testzlib) if(ZLIB_TESTZLIB_INSTALL) install( TARGETS ${ZLIB_CONTRIB_PREFIX}testzlib COMPONENT Runtime RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif(ZLIB_TESTZLIB_INSTALL) endif(ZLIB_TESTZLIB_BUILD_SHARED) if(ZLIB_TESTZLIB_BUILD_STATIC) add_executable(${ZLIB_CONTRIB_PREFIX}testzlibStatic testzlib.c) target_link_libraries(${ZLIB_CONTRIB_PREFIX}testzlibStatic PRIVATE ZLIB::ZLIBSTATIC) set_target_properties(${ZLIB_CONTRIB_PREFIX}testzlibStatic PROPERTIES OUTPUT_NAME testzlibStatic) if(ZLIB_TESTZLIB_INSTALL) install( TARGETS ${ZLIB_CONTRIB_PREFIX}testzlibStatic COMPONENT Runtime RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif(ZLIB_TESTZLIB_INSTALL) endif(ZLIB_TESTZLIB_BUILD_STATIC)