66 lines
2.2 KiB
CMake
66 lines
2.2 KiB
CMake
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)
|