You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
cmake_minimum_required (VERSION 2.8.12)
|
|
|
|
include (utils.cmake)
|
|
|
|
disallow_intree_builds()
|
|
|
|
project (utf8proc C)
|
|
|
|
# This is the ABI version number, which may differ from the
|
|
# API version number (defined in utf8proc.h).
|
|
# Be sure to also update these in Makefile and MANIFEST!
|
|
set(SO_MAJOR 2)
|
|
set(SO_MINOR 3)
|
|
set(SO_PATCH 1)
|
|
|
|
option(UTF8PROC_INSTALL "Enable installation of utf8proc" On)
|
|
|
|
add_library (utf8proc
|
|
utf8proc.c
|
|
utf8proc.h
|
|
)
|
|
|
|
# expose header path, for when this is part of a larger cmake project
|
|
target_include_directories(utf8proc PUBLIC ../utf8proc)
|
|
|
|
if (BUILD_SHARED_LIBS)
|
|
# Building shared library
|
|
else()
|
|
# Building static library
|
|
target_compile_definitions(utf8proc PUBLIC "UTF8PROC_STATIC")
|
|
if (MSVC)
|
|
set_target_properties(utf8proc PROPERTIES OUTPUT_NAME "utf8proc_static")
|
|
endif()
|
|
endif()
|
|
|
|
target_compile_definitions(utf8proc PRIVATE "UTF8PROC_EXPORTS")
|
|
|
|
if (NOT MSVC)
|
|
set_target_properties(
|
|
utf8proc PROPERTIES
|
|
COMPILE_FLAGS "-O2 -std=c99 -pedantic -Wall"
|
|
)
|
|
endif ()
|
|
|
|
set_target_properties (utf8proc PROPERTIES
|
|
POSITION_INDEPENDENT_CODE ON
|
|
VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}"
|
|
SOVERSION ${SO_MAJOR}
|
|
)
|
|
|
|
if (UTF8PROC_INSTALL)
|
|
install(TARGETS utf8proc
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib)
|
|
|
|
install(
|
|
FILES
|
|
"${PROJECT_SOURCE_DIR}/utf8proc.h"
|
|
DESTINATION include)
|
|
endif()
|
|
|