diff --git a/CMakeLists.txt b/CMakeLists.txt index 819c36f..2f1ba1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX /usr) endif() -add_library(json11 json11.cpp) +add_library(json11 STATIC json11.cpp) target_include_directories(json11 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(json11 PRIVATE -fPIC -fno-rtti -fno-exceptions -Wall) @@ -52,6 +52,11 @@ if (JSON11_BUILD_TESTS) target_link_libraries(json11_test json11) endif() -install(TARGETS json11 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include/${CMAKE_LIBRARY_ARCHITECTURE}) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig) +# We only need to install json11 if we're building the mission plugin +# statically because in that case libjson11.a does not get included in +# dronecore_mission.a. +if (PLUGIN_LIBRARY_TYPE STREQUAL "STATIC") + install(TARGETS json11 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include/${CMAKE_LIBRARY_ARCHITECTURE}) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig) +endif()