[CMake] Change compiler for certain files in the project
paul
pfultz2 at yahoo.com
Tue Oct 31 17:38:15 EDT 2017
On Mon, 2017-10-30 at 21:34 -0400, Aaron Boxer wrote:
>
>
> On Sat, Oct 28, 2017 at 11:22 AM, P F <pfultz2 at yahoo.com> wrote:
> >
> > > On Oct 28, 2017, at 9:50 AM, Aaron Boxer <boxerab at gmail.com> wrote:
> > >
> > > Hello,
> > >
> > > I have a cmake project on linux, and I would like to change the compiler
> > > for certain files from g++ to another, llvm-based compiler called hcc.
> > > (hcc is AMDs HIP compiler for GPGPU)
> > >
> > >
> > > Is there a way of doing this in my cmake file ?
> >
> > There isn’t a simple way to do that. The FindCUDA and FindHIP cmake
> > modules do that, but its not at all easy to follow, and brings its own set
> > of issues.
> >
> > Of course, why do you need to use g++ to compile host code? Being clang-
> > based hcc should be able to compile any g++ code. So you can just use hcc
> > as the compiler for everything and then link with the `hccrt` cmake
> > target(provided by `find_package(hcc)`) which will enable GPU compiling
> > when you want to compile code for the device.
> Yes, I just might do that. I didn't realize there was a find_package for
> hcc.
Yes there is. If you are using AMD's repo from repo.radeon.com, then you will
need to call it with: `find_package(hcc PATHS /opt/rocm/hcc)` as its not
installed in the standard /usr location.
> So, how would I set hcc as the compiler for everything ?
I usually set it like this when I first run cmake:
CXX=hcc cmake ..
More information about the CMake
mailing list