@@ -42,7 +42,7 @@ endif()
4242####################################
4343# Populate the Cru/Constants.h file with the register addresses contained in CRU/cru_table.py
4444####################################
45- execute_process (COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR} /src/Cru/cru_constants_populate.py
45+ execute_process (COMMAND /usr/bin/env python3 ${CMAKE_CURRENT_SOURCE_DIR} /src/Cru/cru_constants_populate.py
4646 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /src/Cru
4747 RESULT_VARIABLE status )
4848IF (NOT "${status} " EQUAL "0" )
@@ -91,7 +91,7 @@ include(GNUInstallDirs)
9191####################################
9292
9393# https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling
94- set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE ) #TODO: Why does the lib dir end up in the BUILD bin but not the INSTALL bin?
94+ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
9595
9696####################################
9797# Module, library and executable definition
@@ -229,8 +229,6 @@ set(EXE_NAMES
229229 o2-roc-ul
230230)
231231
232- set (LEGACY_EXE_NAMES)
233-
234232list (LENGTH EXE_SRCS count)
235233math (EXPR count "${count} -1" )
236234foreach (i RANGE ${count} )
@@ -251,6 +249,7 @@ foreach(i RANGE ${count})
251249 # create binary symlinks to preserve backwards compatibility
252250 STRING (REGEX REPLACE "^o2-roc" "roc" legacy_exe_link ${name} )
253251 add_custom_command (TARGET ${name} POST_BUILD
252+ BYPRODUCTS ${legacy_exe_link}
254253 COMMAND ${CMAKE_COMMAND} -E create_symlink ${name} ${legacy_exe_link} )
255254 list (APPEND LEGACY_EXE_NAMES ${legacy_exe_link} )
256255endforeach ()
@@ -317,7 +316,8 @@ set_target_properties(ReadoutCard
317316set (legacy_library_link libReadoutCard.so)
318317set (legacy_library_target libO2ReadoutCard.so)
319318
320- add_custom_target (legacy_library_target ReadoutCard
319+ add_custom_command (TARGET ReadoutCard POST_BUILD
320+ BYPRODUCTS ${legacy_library_link}
321321 COMMAND ${CMAKE_COMMAND} -E create_symlink ${legacy_library_target} ${legacy_library_link} )
322322
323323# Create version file
@@ -355,25 +355,34 @@ install(
355355 ${CMAKE_INSTALL_LIBDIR} /cmake/ReadoutCard
356356)
357357
358- # Install the hugetlbfs script separately, because it's not a compiled target
358+ # Install the roc-config template
359359install (
360- FILES src/o2-roc-setup-hugetlbfs.sh
361- DESTINATION ${CMAKE_INSTALL_BINDIR}
360+ FILES cru_template.cfg
361+ DESTINATION ${CMAKE_INSTALL_PREFIX} /etc
362362 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
363- RENAME o2-roc-setup-hugetlbfs
364363)
365364
365+ # Install the hugetlbfs script separately, because it's not a compiled target
366366install (
367367 FILES src/o2-roc-setup-hugetlbfs.sh
368368 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
369369 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
370370 RENAME o2-roc-setup-hugetlbfs
371371)
372372
373- # Install the roc-config template
373+ # Create a symlink for backwards compatibility
374+ set (legacy_hugetlbfs_target o2-roc-setup-hugetlbfs)
375+ set (legacy_hugetlbfs_link roc-setup-hugetlbfs)
376+
377+ add_custom_command (TARGET ReadoutCard
378+ DEPENDS ${legacy_hugetlbfs_target}
379+ BYPRODUCTS ${legacy_hugetlbfs_link}
380+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${legacy_hugetlbfs_target} ${legacy_hugetlbfs_link} )
381+
382+ # Deploy script and symlink
374383install (
375- FILES cru_template.cfg
376- DESTINATION ${CMAKE_INSTALL_PREFIX} /etc
384+ FILES ${CMAKE_CURRENT_BINARY_DIR} / ${legacy_hugetlbfs_target} ${CMAKE_CURRENT_BINARY_DIR} / ${legacy_hugetlbfs_link}
385+ DESTINATION ${CMAKE_INSTALL_PREFIX} /${CMAKE_INSTALL_BINDIR}
377386 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
378387)
379388
0 commit comments