cmake_minimum_required(VERSION 3.5) project(kydiagnostics LANGUAGES CXX) set(DIAGNOSTICS_TOP_DIR ${CMAKE_CURRENT_LIST_DIR}) set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) add_library(${PROJECT_NAME} SHARED) include(GenerateExportHeader) generate_export_header(kydiagnostics) set_target_properties(kydiagnostics PROPERTIES VERSION 2.0.0 SOVERSION 1) target_compile_options(${PROJECT_NAME} PRIVATE -Wall -g) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) find_package(PkgConfig REQUIRED) pkg_check_modules(OPENSSL openssl) target_include_directories(${PROJECT_NAME} PRIVATE ${OPENSSL_INCLUDE_DIRS}) target_link_directories(${PROJECT_NAME} PRIVATE ${OPENSSL_LIBRARY_DIRS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENSSL_LIBRARIES}) pkg_check_modules(DBUS-1 dbus-1) target_include_directories(${PROJECT_NAME} PRIVATE ${DBUS-1_INCLUDE_DIRS}) target_link_directories(${PROJECT_NAME} PRIVATE ${DBUS-1_LIBRARY_DIRS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${DBUS-1_LIBRARIES}) set(SRCS "${DIAGNOSTICS_TOP_DIR}/libkydiagnostics.cpp" "${DIAGNOSTICS_TOP_DIR}/buriedpoint.cpp") target_include_directories(${PROJECT_NAME} PRIVATE ${DIAGNOSTICS_TOP_DIR}) target_sources(${PROJECT_NAME} PRIVATE ${SRCS}) install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) install(FILES libkydiagnostics.h ${CMAKE_CURRENT_BINARY_DIR}/kydiagnostics_export.h DESTINATION include/kysdk/kysdk-base)