diff --git a/rjp++/CMakeLists.txt b/rjp++/CMakeLists.txt index 7701ec9..4147437 100644 --- a/rjp++/CMakeLists.txt +++ b/rjp++/CMakeLists.txt @@ -2,6 +2,7 @@ project(rjp++) cmake_minimum_required(VERSION 3.0.2) include(GNUInstallDirs) +find_package(PkgConfig) set(rjp++_VERSION_MAJOR 0) set(rjp++_VERSION_MINOR 9) @@ -14,13 +15,15 @@ option(BUILD_TESTS "Build test programs" OFF) option(ENABLE_PROFILING "Enable asan" OFF) mark_as_advanced(ENABLE_PROFILING) +pkg_check_modules(LIBREXY REQUIRED librexy) + set(SOURCE_LIST "src/allocator.cpp" "src/array.cpp" "src/integral.cpp" "src/object.cpp" "src/rjp.cpp" "src/string.cpp" "src/string_val.cpp" "src/value.cpp" "src/vget_proxy.cpp" "src/container.cpp" "src/member.cpp") if(ENABLE_SHARED) - set(RJP++_LIBFLAGS "-lrjp++ -lrexy") + set(RJP++_LIBFLAGS "-lrjp++ ${LIBREXY_LIBRARIES}") add_library(rjp++ SHARED ${SOURCE_LIST}) set_target_properties(rjp++ PROPERTIES SOVERSION "${rjp_VERSION_MAJOR}.${rjp_VERSION_MINOR}.${rjp_VERSION_REVISION}") else() - set(RJP++_LIBFLAGS "-lrjp++ -lrjp -lrexy") + set(RJP++_LIBFLAGS "-lrjp++ -lrjp ${LIBREXY_LIBRARIES}") add_library(rjp++ STATIC ${SOURCE_LIST}) endif() @@ -46,9 +49,9 @@ if(BUILD_TESTS) endif() -set_target_properties(rjp++ PROPERTIES COMPILE_FLAGS -std=c++17) -target_compile_options(rjp++ PRIVATE -Wall -Wextra -pedantic) -target_link_libraries(rjp++ rjp -lrexy) +target_compile_options(rjp++ PUBLIC -Wall -Wextra -pedantic -std=c++17 ${LIBREXY_CFLAGS_OTHER}) +target_include_directories(rjp++ PUBLIC ${LIBREXY_INCLUDE_DIRS}) +target_link_libraries(rjp++ PUBLIC rjp ${LIBREXY_LINK_LIBRARIES}) install(TARGETS rjp++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}