diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d5b8f1d..63767ba 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,16 +1,18 @@ add_subdirectory(config) add_subdirectory(event) add_subdirectory(exception) add_subdirectory(generator) add_subdirectory(input) add_subdirectory(parameters) add_subdirectory(persistency) add_subdirectory(plugins) add_subdirectory(samples) add_subdirectory(utility) add_subdirectory(variation) SET(INuADataComparisons_List ${INuADataComparisons_List} PARENT_SCOPE) SET(INuADataComparisons_FHiCL ${INuADataComparisons_FHiCL} PARENT_SCOPE) +SET(GENERATOR_DEPENDENT_TARGETS ${GENERATOR_DEPENDENT_TARGETS} PARENT_SCOPE) + add_subdirectory(app) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 560710b..bb1876d 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -1,14 +1,15 @@ SET(APPS nuissamples nuiscomp nuisevsum nuisstudy) foreach(a ${APPS}) add_executable(${a} ${a}.cxx) - target_link_libraries(${a} -Wl,--no-as-needed nuis_event nuis_input nuis_utility nuis_config nuis_persistency nuis_plugins nuis_params nuis_variation nuis_generator -Wl,--as-needed) + target_link_libraries(${a} -Wl,--no-as-needed nuis_event nuis_input nuis_utility nuis_config nuis_persistency nuis_plugins nuis_params nuis_variation) + target_link_libraries(${a} ${GENERATOR_DEPENDENT_TARGETS} -Wl,--as-needed) target_link_libraries(${a} ${NUISANCE_LINK_DIRS}) target_link_libraries(${a} ${NUISANCE_DEPEND_LIBS}) if(NOT "${CMAKE_LINK_FLAGS}" STREQUAL "") set_target_properties(${a} PROPERTIES LINK_FLAGS ${CMAKE_LINK_FLAGS}) endif() install(TARGETS ${a} DESTINATION bin) endforeach() diff --git a/src/generator/CMakeLists.txt b/src/generator/CMakeLists.txt index 35b98cb..324965c 100644 --- a/src/generator/CMakeLists.txt +++ b/src/generator/CMakeLists.txt @@ -1,13 +1,17 @@ add_subdirectory(input) add_subdirectory(utility) add_subdirectory(variation) SET(input_implementation_files GeneratorManager.cxx) SET(input_header_files GeneratorManager.hxx) add_library(nuis_generator SHARED ${input_implementation_files}) install(TARGETS nuis_generator DESTINATION lib) install(FILES ${input_header_files} DESTINATION include/generator) + +LIST(APPEND GENERATOR_DEPENDENT_TARGETS nuis_generator) + +SET(GENERATOR_DEPENDENT_TARGETS ${GENERATOR_DEPENDENT_TARGETS} PARENT_SCOPE) diff --git a/src/generator/utility/CMakeLists.txt b/src/generator/utility/CMakeLists.txt index be747b1..00e5686 100644 --- a/src/generator/utility/CMakeLists.txt +++ b/src/generator/utility/CMakeLists.txt @@ -1,53 +1,57 @@ if(USE_NUWRO) LIST(APPEND GENERATOR_UTILS_IMPL NuWroUtility.cxx) LIST(APPEND GENERATOR_UTILS_HDR NuWroUtility.hxx) endif(USE_NUWRO) if(USE_NEUT) LIST(APPEND GENERATOR_UTILS_IMPL NEUTUtility.cxx) LIST(APPEND GENERATOR_UTILS_HDR NEUTUtility.hxx) endif(USE_NEUT) if(USE_GENIE) LIST(APPEND GENERATOR_UTILS_IMPL GENIEUtility.cxx) LIST(APPEND GENERATOR_UTILS_HDR GENIEUtility.hxx) endif(USE_GENIE) if(GENERATOR_UTILS_IMPL) add_library(nuis_generator_utility SHARED ${GENERATOR_UTILS_IMPL}) if(USE_GENIE) target_compile_options(nuis_generator_utility PUBLIC ${GENIE_CXX_FLAGS}) include_directories(${GENIE_INCLUDE_DIRS}) target_link_libraries(nuis_generator_utility ${GENIE_LINK_DIRS}) target_link_libraries(nuis_generator_utility -Wl,--no-as-needed ${GENIE_LIBS}) endif() if(USE_NEUT) target_compile_options(nuis_generator_utility PUBLIC ${NEUT_CXX_FLAGS}) include_directories(${NEUT_INCLUDE_DIRS}) target_link_libraries(nuis_generator_utility ${NEUT_LINK_DIRS}) target_link_libraries(nuis_generator_utility -Wl,--no-as-needed ${NEUT_LIBS}) target_link_libraries(nuis_generator_utility ${NEUT_IMPORTED_TARGETS}) endif() if(USE_NUWRO) target_compile_options(nuis_generator_utility PUBLIC ${NUWRO_CXX_FLAGS}) include_directories(${NUWRO_INCLUDE_DIRS}) target_link_libraries(nuis_generator_utility -Wl,--no-as-needed ${NUWRO_IMPORTED_TARGETS}) endif() if(${NEED_PYTHIA6}) target_link_libraries(nuis_generator_utility -L${PYTHIA6}) endif() target_link_libraries(nuis_generator_utility -L${ROOT_LIBDIR} ${ROOT_LIBS}) - install(TARGETS nuis_generator_utility DESTINATION plugins) + install(TARGETS nuis_generator_utility DESTINATION lib) endif() if(GENERATOR_UTILS_HDR) install(FILES ${GENERATOR_UTILS_HDR} DESTINATION include/generator/utility) endif() + +LIST(APPEND GENERATOR_DEPENDENT_TARGETS nuis_generator_utility) + +SET(GENERATOR_DEPENDENT_TARGETS ${GENERATOR_DEPENDENT_TARGETS} PARENT_SCOPE)