Skip to content

Commit

Permalink
Isolate plugin install directories
Browse files Browse the repository at this point in the history
- Plugin libraries install to lib/JANA/plugins/
- Plugin headers install to include/JANA/plugins/$PLUGIN_NAME
Addresses issue #136
  • Loading branch information
nathanwbrei committed Aug 2, 2024
1 parent 1dafbc7 commit 419fb56
Show file tree
Hide file tree
Showing 16 changed files with 33 additions and 34 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ Makefile
/bin/
/include/
/lib/
/plugins/

# Doxygen generated files
docs/html/*
Expand Down
2 changes: 1 addition & 1 deletion src/examples/DstExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ add_library(DstExample_plugin SHARED ${DstExample_PLUGIN_SOURCES})
target_include_directories(DstExample_plugin PUBLIC ${JANA_INCLUDE_DIR})
target_link_libraries(DstExample_plugin jana2)
set_target_properties(DstExample_plugin PROPERTIES PREFIX "" OUTPUT_NAME "DstExample" SUFFIX ".so")
install(TARGETS DstExample_plugin DESTINATION plugins)
install(TARGETS DstExample_plugin DESTINATION lib/JANA/plugins)

4 changes: 2 additions & 2 deletions src/examples/EventGroupExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ add_library(EventGroupExample_plugin SHARED ${EventGroupExample_SOURCES})

target_include_directories(EventGroupExample_plugin PUBLIC ${JANA_INCLUDE_DIRS})
target_link_libraries(EventGroupExample_plugin jana2 ${JANA_LIBRARIES})
set_target_properties(EventGroupExample_plugin PROPERTIES PREFIX "" SUFFIX ".so")
set_target_properties(EventGroupExample_plugin PROPERTIES PREFIX "" OUTPUT_NAME "EventGroupExample" SUFFIX ".so")

install(TARGETS EventGroupExample_plugin DESTINATION ${CMAKE_INSTALL_PREFIX}/plugins)
install(TARGETS EventGroupExample_plugin DESTINATION lib/JANA/plugins)


4 changes: 2 additions & 2 deletions src/examples/InteractiveStreamingExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ if (${USE_ROOT} AND ${USE_ZEROMQ})
target_include_directories(streamDet PUBLIC ${ROOT_INCLUDE_DIRS} ${ZeroMQ_INCLUDE_DIRS})
target_link_libraries(streamDet jana2 ${ZeroMQ_LIBRARIES} ${ROOT_LIBRARIES})
set_target_properties(streamDet PROPERTIES PREFIX "" SUFFIX ".so")
install(TARGETS streamDet DESTINATION plugins)
install(TARGETS streamDet DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/streamDet)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/streamDet)

else()
message(STATUS "Skipping examples/InteractiveStreamingExample because USE_ROOT=Off or USE_ZEROMQ=Off")
Expand Down
2 changes: 1 addition & 1 deletion src/examples/MetadataExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ add_library(MetadataExample_plugin SHARED ${MetadataExample_PLUGIN_SOURCES})
target_include_directories(MetadataExample_plugin PUBLIC ${JANA_INCLUDE_DIR})
target_link_libraries(MetadataExample_plugin jana2)
set_target_properties(MetadataExample_plugin PROPERTIES PREFIX "" OUTPUT_NAME "MetadataExample" SUFFIX ".so")
install(TARGETS MetadataExample_plugin DESTINATION plugins)
install(TARGETS MetadataExample_plugin DESTINATION lib/JANA/plugins)

6 changes: 3 additions & 3 deletions src/examples/PodioExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ if (USE_PODIO)
install(TARGETS PodioExample DESTINATION bin)

install(TARGETS PodioExampleDatamodel
LIBRARY DESTINATION lib
PUBLIC_HEADER DESTINATION include/PodioExampleDatamodel #include/JANA/Plugins/PodioExampleDatamodel
LIBRARY DESTINATION lib/JANA/plugins
PUBLIC_HEADER DESTINATION include/JANA/plugins/PodioExampleDatamodel
)

install(TARGETS PodioExampleDatamodelDict DESTINATION lib)
install(TARGETS PodioExampleDatamodelDict DESTINATION lib/JANA/plugins)


else()
Expand Down
6 changes: 3 additions & 3 deletions src/examples/RootDatamodelExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ if(${USE_ROOT})
target_link_libraries(RootDatamodelExample_plugin jana2)
target_link_libraries(RootDatamodelExample_plugin ${ROOT_LIBRARIES})
set_target_properties(RootDatamodelExample_plugin PROPERTIES PREFIX "" OUTPUT_NAME "JTestRoot" SUFFIX ".so")
install(TARGETS RootDatamodelExample_plugin DESTINATION plugins)
install(TARGETS RootDatamodelExample_plugin DESTINATION lib/JANA/plugins)

message(STATUS "Installing ROOT PCM files: ${my_pcms}")
install(FILES ${my_pcms} DESTINATION plugins)
install(FILES ${my_pcms} DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/RootDatamodelExample)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/RootDatamodelExample)

else()
message(STATUS "Skipping plugins/RootDatamodelExample because USE_ROOT=Off")
Expand Down
2 changes: 1 addition & 1 deletion src/examples/StreamingExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ if (USE_ZEROMQ)
target_include_directories(StreamingExample_plugin PUBLIC ${ZeroMQ_INCLUDE_DIRS})
target_link_libraries(StreamingExample_plugin jana2 ${ZeroMQ_LIBRARIES})
set_target_properties(StreamingExample_plugin PROPERTIES PREFIX "" SUFFIX ".so")
install(TARGETS StreamingExample_plugin DESTINATION plugins)
install(TARGETS StreamingExample_plugin DESTINATION lib/JANA/plugins)
else()
message(STATUS "Skipping examples/StreamingExample because USE_ZEROMQ=Off")

Expand Down
2 changes: 1 addition & 1 deletion src/examples/TimesliceExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ if (USE_PODIO)
add_library(TimesliceExample SHARED ${TimesliceExample_SOURCES})
target_link_libraries(TimesliceExample PodioExampleDatamodel PodioExampleDatamodelDict podio::podioRootIO)
set_target_properties(TimesliceExample PROPERTIES PREFIX "" SUFFIX ".so" OUTPUT_NAME "TimesliceExample")
install(TARGETS TimesliceExample DESTINATION plugins)
install(TARGETS TimesliceExample DESTINATION lib/JANA/plugins)

else()
message(STATUS "Skipping examples/TimesliceExample because USE_PODIO=Off")
Expand Down
2 changes: 1 addition & 1 deletion src/examples/Tutorial/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ add_library(Tutorial_plugin SHARED ${Tutorial_PLUGIN_SOURCES})

target_link_libraries(Tutorial_plugin jana2)
set_target_properties(Tutorial_plugin PROPERTIES PREFIX "" OUTPUT_NAME "Tutorial" SUFFIX ".so")
install(TARGETS Tutorial_plugin DESTINATION plugins)
install(TARGETS Tutorial_plugin DESTINATION lib/JANA/plugins)

4 changes: 2 additions & 2 deletions src/plugins/JTest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ add_library(jtest SHARED
find_package(Threads REQUIRED)
target_link_libraries(jtest Threads::Threads)
set_target_properties(jtest PROPERTIES PREFIX "" OUTPUT_NAME "JTest" SUFFIX ".so")
install(TARGETS jtest DESTINATION plugins)
install(TARGETS jtest DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/JTest)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/JTest)
2 changes: 1 addition & 1 deletion src/plugins/janacontrol/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ if (${USE_ZEROMQ})
target_include_directories(janacontrol_plugin PUBLIC ${JANA_INCLUDE_DIR} ${ZeroMQ_INCLUDE_DIRS})
target_link_libraries(janacontrol_plugin jana2 Threads::Threads ${ZeroMQ_LIBRARIES})
set_target_properties(janacontrol_plugin PROPERTIES PREFIX "" OUTPUT_NAME "janacontrol" SUFFIX ".so")
install(TARGETS janacontrol_plugin DESTINATION plugins)
install(TARGETS janacontrol_plugin DESTINATION lib/JANA/plugins)

else()
message(STATUS "Skipping plugins/janacontrol because USE_ZEROMQ=Off")
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/janadot/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ add_library(janadot SHARED JEventProcessorJANADOT.cc)
find_package(Threads REQUIRED)
target_link_libraries(janadot Threads::Threads)
set_target_properties(janadot PROPERTIES PREFIX "" OUTPUT_NAME "janadot" SUFFIX ".so")
install(TARGETS janadot DESTINATION plugins)
install(TARGETS janadot DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/janadot)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/janadot)
4 changes: 2 additions & 2 deletions src/plugins/janarate/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ if (${USE_ROOT})
target_include_directories(janarate PUBLIC ${ROOT_INCLUDE_DIRS})
target_link_libraries(janarate jana2 ${ROOT_LIBRARIES})
set_target_properties(janarate PROPERTIES PREFIX "" SUFFIX ".so")
install(TARGETS janarate DESTINATION plugins)
install(TARGETS janarate DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/janarate)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/janarate)

else()
message(STATUS "Skipping plugins/janarate because USE_ROOT=Off")
Expand Down
18 changes: 9 additions & 9 deletions src/plugins/janaview/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ if(USE_ROOT)
ROOT_GENERATE_DICTIONARY(G__jv_mainframe jv_mainframe.h)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

add_library(janaview SHARED
JEventProcessor_janaview.cc
jv_mainframe.cc
G__jv_mainframe.cxx
)
add_library(janaview SHARED
JEventProcessor_janaview.cc
jv_mainframe.cc
G__jv_mainframe.cxx
)

find_package(Threads REQUIRED)
target_include_directories(janaview PUBLIC ${ROOT_INCLUDE_DIRS})
target_link_libraries(janaview jana2)
target_link_libraries(janaview Threads::Threads)
target_link_libraries(janaview ${ROOT_LIBRARIES})
set_target_properties(janaview PROPERTIES PREFIX "" OUTPUT_NAME "janaview" SUFFIX ".so")
install(TARGETS janaview DESTINATION plugins)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libjv_mainframe_rdict.pcm DESTINATION plugins)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libjv_mainframe.rootmap DESTINATION plugins)
install(TARGETS janaview DESTINATION lib/JANA/plugins)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libjv_mainframe_rdict.pcm DESTINATION lib/JANA/plugins)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libjv_mainframe.rootmap DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/janaview)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/janaview)

else()
message(STATUS "Skipping plugins/janaview because USE_ROOT=Off")
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/regressiontest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ add_library(regressiontest SHARED JEventProcessor_regressiontest.cc)
find_package(Threads REQUIRED)
target_link_libraries(regressiontest Threads::Threads)
set_target_properties(regressiontest PROPERTIES PREFIX "" OUTPUT_NAME "regressiontest" SUFFIX ".so")
install(TARGETS regressiontest DESTINATION plugins)
install(TARGETS regressiontest DESTINATION lib/JANA/plugins)

file(GLOB my_headers "*.h*")
install(FILES ${my_headers} DESTINATION include/regressiontest)
install(FILES ${my_headers} DESTINATION include/JANA/plugins/regressiontest)

0 comments on commit 419fb56

Please sign in to comment.