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.
42 lines
1.3 KiB
42 lines
1.3 KiB
cmake_minimum_required(VERSION 3.9)
|
|
project(libublsettings VERSION 0)
|
|
include(GNUInstallDirs)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
|
|
-O2 -pipe -fno-plt -fexceptions \
|
|
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
|
-fstack-clash-protection -fcf-protection")
|
|
|
|
|
|
add_library(${PROJECT_NAME} SHARED
|
|
libublsettings.c
|
|
libublsettings-config.c
|
|
libublsettings-dictionary.c
|
|
libublsettings-char.c
|
|
libublsettings-file.c
|
|
libublsettings.h)
|
|
|
|
|
|
set(LIBRARIES
|
|
pthread)
|
|
|
|
message(${CMAKE_INSTALL_LIBDIR})
|
|
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR})
|
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${PROJECT_NAME}.h)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
|
|
|
|
install(TARGETS ${PROJECT_NAME}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
)
|
|
# Set pkg-config file to install. |