aboutsummaryrefslogtreecommitdiff
path: root/ports/b64/CMakeLists.txt
blob: 274fc0788b30487a2595bb3418978e2f83602f3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
cmake_minimum_required(VERSION 3.20)
project(b64)

if (BUILD_SHARED_LIBS)
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/b64_dynamic_config.h ${CMAKE_CURRENT_BINARY_DIR}/b64_config.h)
else()
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/b64_static_config.h ${CMAKE_CURRENT_BINARY_DIR}/b64_config.h)
endif()

set(SRC_DIR src)
set(INC_DIR include/b64)
set(SOURCE_FILES ${SRC_DIR}/cdecode.c ${SRC_DIR}/cencode.c)
set(HEADER_FILES ${INC_DIR}/cdecode.h ${INC_DIR}/cencode.h ${INC_DIR}/decode.h ${INC_DIR}/encode.h ${INC_DIR}/ccommon.h ${CMAKE_CURRENT_BINARY_DIR}/b64_config.h)

add_library(b64 ${SOURCE_FILES} ${HEADER_FILES})

if (BUILD_SHARED_LIBS)
    target_compile_definitions(b64 PRIVATE LIBB64_EXPORTS=1)
endif()

target_include_directories(b64 PRIVATE include ${CMAKE_CURRENT_BINARY_DIR})

set_property(TARGET b64 
            PROPERTY PUBLIC_HEADER ${HEADER_FILES})

install(TARGETS b64
	EXPORT b64-targets
    LIBRARY DESTINATION lib
    PUBLIC_HEADER DESTINATION include/b64
)

install(EXPORT b64-targets 
	FILE b64-targets.cmake
	DESTINATION lib/cmake/b64)