43 lines
1.4 KiB
CMake
43 lines
1.4 KiB
CMake
cmake_minimum_required (VERSION 3.1)
|
|
project(xdgcfg
|
|
VERSION 0.2.3
|
|
LANGUAGES CXX
|
|
)
|
|
|
|
include(GNUInstallDirs)
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(LIBXDG_BASEDIR REQUIRED libxdg-basedir)
|
|
pkg_check_modules(LIBCONFIG REQUIRED libconfig++)
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
set(CMAKE_CXX_FLAGS
|
|
"${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -g -Og -fno-omit-frame-pointer")
|
|
|
|
include_directories(${LIBXDG_BASEDIR_INCLUDE_DIRS})
|
|
include_directories(${LIBCONFIG_INCLUDE_DIRS})
|
|
|
|
link_directories(${LIBXDG_BASEDIR_LIBRARY_DIRS})
|
|
link_directories(${LIBCONFIG_LIBRARY_DIRS})
|
|
|
|
add_library(xdgcfg SHARED src/xdgcfg.cpp)
|
|
set_target_properties(xdgcfg PROPERTIES
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${xdgcfg_VERSION_MAJOR})
|
|
target_link_libraries(xdgcfg
|
|
${LIBXDG_BASEDIR_LIBRARIES} ${LIBCONFIG_LIBRARIES}
|
|
stdc++fs)
|
|
|
|
add_library(xdgcfg_static STATIC src/xdgcfg.cpp)
|
|
set_target_properties(xdgcfg_static PROPERTIES
|
|
OUTPUT_NAME xdgcfg)
|
|
|
|
add_executable(example src/example.cpp)
|
|
target_link_libraries(example xdgcfg)
|
|
|
|
install(TARGETS xdgcfg LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(TARGETS xdgcfg_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(FILES src/xdgcfg.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|