diff --git a/Projects/Athena/CMakeGraphVizOptions.cmake b/Projects/Athena/CMakeGraphVizOptions.cmake new file mode 100644 index 0000000000000000000000000000000000000000..4f6d416f611d2a909e75120f4cedd261ebd7f504 --- /dev/null +++ b/Projects/Athena/CMakeGraphVizOptions.cmake @@ -0,0 +1,5 @@ +# Options used by cmake --graphviz +set( GRAPHVIZ_CUSTOM_TARGETS TRUE ) +set( GRAPHVIZ_GENERATE_DEPENDERS FALSE ) +set( GRAPHVIZ_GENERATE_PER_TARGET FALSE ) +set( GRAPHVIZ_IGNORE_TARGETS ".*Pkg$" ".*PkgPrivate$" "^__.*" ) diff --git a/Projects/Athena/CMakeLists.txt b/Projects/Athena/CMakeLists.txt index e411026d8cb5445baf7078e74ea13524754f375e..20c4b4df10d517a5f641b3b53a1f331e91ee71da 100644 --- a/Projects/Athena/CMakeLists.txt +++ b/Projects/Athena/CMakeLists.txt @@ -123,6 +123,10 @@ string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}" string( REPLACE "${TDAQ-COMMON_VERSION}" "\${TDAQ-COMMON_VERSION}" TDAQ-COMMON_ATROOT "${TDAQ-COMMON_ATROOT}" ) +# Install graphviz output if available: +install( FILES ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}/packages.dot + DESTINATION . OPTIONAL ) + # Temporarily add tdaq dependency to Athena build: string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}" TDAQ_ATROOT "${TDAQ_ATROOT}" ) diff --git a/Projects/Athena/build.sh b/Projects/Athena/build.sh index b01005cdb5a79077465317dcb5394d493b38a352..544fcd9ead550f48baeaf4b13fa7283fefd16ef0 100755 --- a/Projects/Athena/build.sh +++ b/Projects/Athena/build.sh @@ -129,9 +129,10 @@ if [ -n "$EXE_CMAKE" ]; then # from scratch in an incremental build. rm -f CMakeCache.txt # Now run the actual CMake configuration: - { _time_ cmake ${BUILDTOOLTYPE} -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} \ - ${EXTRACMAKE[@]} \ + { _time_ cmake ${BUILDTOOLTYPE} --graphviz=${BINARY_TAG}/packages.dot \ + -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} \ -DCTEST_USE_LAUNCHERS:BOOL=TRUE \ + ${EXTRACMAKE[@]} \ ${AthenaSrcDir}; } 2>&1 | tee cmake_config.log fi