ROCm / rocm-cmake

CMake modules used within the ROCm libraries
https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/en/latest/
MIT License
62 stars 43 forks source link

Add options to control install behaviour in ASAN builds #138

Open lawruble13 opened 1 year ago

pfultz2 commented 1 year ago

So PRIVATE means its not a user facing file, and is only used internally by the library. As such, it should be installed when using asan and not asan builds. For PRIVATE installs it should go into lib/<project-name>/ or lib/asan/<project-name>. This way the relative path to the file should be the same regardless if its asan or non-asan.

lawruble13 commented 1 year ago

So PRIVATE means its not a user facing file, and is only used internally by the library. As such, it should be installed when using asan and not asan builds.

Ah, I misunderstood what you had said in our last discussion. Should there then be a flag to force a target to be ignored in the ASAN build, in addition to this PRIVATE flag?

pfultz2 commented 1 year ago

Should there then be a flag to force a target to be ignored in the ASAN build, in addition to this PRIVATE flag?

No, we should just ignore everything thats not a shared object by default in ASAN builds. Then the PRIVATE flag can install the file into lib/${PROJECT_NAME} or lib/asan/${PROJECT_NAME} for runtime components when ASAN is enabled.