This repository has been archived on 2020-05-16. You can view files and clone it, but cannot push or open issues or pull requests.
xdgjson/CMakeLists.txt

43 lines
1.4 KiB
CMake

cmake_minimum_required (VERSION 3.1)
project(xdgjson
VERSION 0.2.3
LANGUAGES CXX
)
include(GNUInstallDirs)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBXDG_BASEDIR REQUIRED libxdg-basedir)
pkg_check_modules(JSONCPP REQUIRED jsoncpp)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -Wpedantic -Wall -Wextra -g -Og -fno-omit-frame-pointer")
include_directories(${LIBXDG_BASEDIR_INCLUDE_DIRS})
include_directories(${JSONCPP_INCLUDE_DIRS})
link_directories(${LIBXDG_BASEDIR_LIBRARY_DIRS})
link_directories(${JSONCPP_LIBRARY_DIRS})
add_library(xdgjson SHARED src/xdgjson.cpp)
set_target_properties(xdgjson PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${xdgjson_VERSION_MAJOR})
target_link_libraries(xdgjson
${LIBXDG_BASEDIR_LIBRARIES} ${JSONCPP_LIBRARIES}
stdc++fs)
add_library(xdgjson_static STATIC src/xdgjson.cpp)
set_target_properties(xdgjson_static PROPERTIES
OUTPUT_NAME xdgjson)
add_executable(example src/example.cpp)
target_link_libraries(example xdgjson ${JSONCPP_LIBRARIES})
install(TARGETS xdgjson LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS xdgjson_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES src/xdgjson.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})