Hello, everyone.
Help please,
I have a problem with adding NCrystal library for Geant4 (GitHub - mctools/ncrystal: NCrystal : a library for thermal neutron transport in crystals). I added find_package(G4NCrystal REQUIRED) and target_link_libraries(MyExe PRIVATE G4NCrystal::G4NCrystal). But, after running “cmake …” I get this error message:
Target “MyExe” links to target “G4NCrystal::G4NCrystal” but the target was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
And after run “make”:
I get this error message:
/usr/bin/ld: cannot find -lG4NCrystal::G4NCrystal
My CmakeLists.txt file:
cmake_minimum_required(VERSION 3.10…3.19)
project(ddxTask)
option(WITH_GEANT4_UIVIS “Build example with Geant4 UI and Vis drivers” ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
find_package(G4NCrystal REQUIRED)
endif()
include(${Geant4_USE_FILE})
include_directories(${PROJECT_SOURCE_DIR}/include)
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/.hh)
add_executable(ddxTask ddx.cc ${sources} ${headers})
target_link_libraries(ddxTask PRIVATE ${Geant4_LIBRARIES})
target_link_libraries(ddxTask PRIVATE G4NCrystal::G4NCrystal)
set(ZXC_SCRIPTS
run.mac
vis.mac
)
foreach(_script ${ZXC_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
install(TARGETS ddxTask RUNTIME DESTINATION bin)
Best regards,
Eyvaz