Discussion:
[cmake-developers] Proposed new CMake module FindITT.cmake
Gurulev, Dmitry
2018-05-29 14:30:10 UTC
Permalink
Hi All,

I'd like to maintain new finding module for ITT (Instrumentation and Tracing Technology) library. You may find more details about ITT at https://github.com/intel/IntelSEAPI/wiki or at https://software.intel.com/en-us/node/544195. Please let me know if I need to provide more details.

Proposed module is here: https://github.com/dmitry-gurulev/cmake/blob/master/FindITT.cmake

PS
Although IntelSEAPI (which contains ITT sources) is a CMake based library, ITT itself might be used as standalone binary library, so finding module still makes sense. BTW, I'm going to propose CMake package configuration file for SEAPI, as it is recommended at https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/dev/Module-Maintainers

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Brad King
2018-05-29 15:12:16 UTC
Permalink
On 05/29/2018 10:30 AM, Gurulev, Dmitry wrote:
> Although IntelSEAPI (which contains ITT sources) is a CMake based
> library, ITT itself might be used as standalone binary library, so
> finding module still makes sense

If the upstream is CMake-friendly it should provide a CMake Package
Configuration File with its SDK along with the headers and libraries.
See documentation here:

https://cmake.org/cmake/help/v3.11/manual/cmake-packages.7.html

That will allow `find_package` to work without any find module
and without guessing which headers and libraries match.

Thanks,
-Brad
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Gurulev, Dmitry
2018-05-30 05:38:24 UTC
Permalink
Hi Brad,

I'm not a maintainer of SEAPI, so I may only propose a package config for it. And second thing - ITT library itself (not a part of SEAPI) is also used and distributed (ex. w/ Intel's VTune app.)

-----Original Message-----
From: Brad King [mailto:***@kitware.com]
Sent: Tuesday, May 29, 2018 6:12 PM
To: Gurulev, Dmitry <***@intel.com>; cmake-***@cmake.org
Subject: Re: [cmake-developers] Proposed new CMake module FindITT.cmake

On 05/29/2018 10:30 AM, Gurulev, Dmitry wrote:
> Although IntelSEAPI (which contains ITT sources) is a CMake based
> library, ITT itself might be used as standalone binary library, so
> finding module still makes sense

If the upstream is CMake-friendly it should provide a CMake Package Configuration File with its SDK along with the headers and libraries.
See documentation here:

https://cmake.org/cmake/help/v3.11/manual/cmake-packages.7.html

That will allow `find_package` to work without any find module and without guessing which headers and libraries match.

Thanks,
-Brad

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Sergei Nikulov
2018-05-30 05:52:10 UTC
Permalink
ср, 30 мая 2018 г. в 8:38, Gurulev, Dmitry <***@intel.com>:

> Hi Brad,

> I'm not a maintainer of SEAPI, so I may only propose a package config for
it. And second thing - ITT library itself (not a part of SEAPI) is also
used and distributed (ex. w/ Intel's VTune app.)


You can propose PR with CMake Package Configuration for SEAPI project on
GitHub.
If they found it reasonable, they will merge it.

--
Best Regards,
Sergei Nikulov
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
htt
Gurulev, Dmitry
2018-05-30 05:56:07 UTC
Permalink
Yes, of course, I can. And I'm going to do that, I've already written. My question is - what about stand-alone ITT?

-----Original Message-----
From: Sergei Nikulov [mailto:***@gmail.com]
Sent: Wednesday, May 30, 2018 8:52 AM
To: Gurulev, Dmitry <***@intel.com>
Cc: ***@kitware.com; cmake-***@cmake.org
Subject: Re: [cmake-developers] Proposed new CMake module FindITT.cmake

ср, 30 мая 2018 г. в 8:38, Gurulev, Dmitry <***@intel.com>:

> Hi Brad,

> I'm not a maintainer of SEAPI, so I may only propose a package config
> for
it. And second thing - ITT library itself (not a part of SEAPI) is also used and distributed (ex. w/ Intel's VTune app.)


You can propose PR with CMake Package Configuration for SEAPI project on GitHub.
If they found it reasonable, they will merge it.

--
Best Regards,
Sergei Nikulov

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Brad King
2018-05-30 13:10:33 UTC
Permalink
On 05/30/2018 01:56 AM, Gurulev, Dmitry wrote:
> what about stand-alone ITT?

That project's upstream should be able to provide a package configuration
file as well.

-Brad
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Gurulev, Dmitry
2018-05-30 14:05:15 UTC
Permalink
>That project's upstream should be able to provide a package configuration file as well.

It might be a binary package, no way to provide package config.

________________________________________
From: Brad King [***@kitware.com]
Sent: Wednesday, May 30, 2018 4:10 PM
To: Gurulev, Dmitry; Sergei Nikulov
Cc: cmake-***@cmake.org
Subject: Re: [cmake-developers] Proposed new CMake module FindITT.cmake

On 05/30/2018 01:56 AM, Gurulev, Dmitry wrote:
> what about stand-alone ITT?

That project's upstream should be able to provide a package configuration
file as well.

-Brad

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Brad King
2018-05-30 14:12:04 UTC
Permalink
On 05/30/2018 10:05 AM, Gurulev, Dmitry wrote:
> It might be a binary package, no way to provide package config.

I don't understand. Does it provide header files? Does it provide
a "linktome.lib" file?

-Brad
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Gurulev, Dmitry
2018-05-30 14:18:54 UTC
Permalink
Example - ITT comes w/ VTune app. in binary form (/opt/intel/vtune_amplifier_2018.2.0.551022/lib64/libittnotify.a). But VTune is not CMake based distributive, no way to add cmake package config to it.
________________________________________
From: Brad King [***@kitware.com]
Sent: Wednesday, May 30, 2018 5:12 PM
To: Gurulev, Dmitry; Sergei Nikulov
Cc: cmake-***@cmake.org
Subject: Re: [cmake-developers] Proposed new CMake module FindITT.cmake

On 05/30/2018 10:05 AM, Gurulev, Dmitry wrote:
> It might be a binary package, no way to provide package config.

I don't understand. Does it provide header files? Does it provide
a "linktome.lib" file?

-Brad

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Brad King
2018-05-30 14:25:22 UTC
Permalink
On 05/30/2018 10:18 AM, Gurulev, Dmitry wrote:
> ITT comes w/ VTune app. in binary form
> (/opt/intel/vtune_amplifier_2018.2.0.551022/lib64/libittnotify.a)

Is there a header file too?

> VTune is not CMake based distributive, no way to add cmake
> package config to it.

It's possible to provide a package configuration file for projects
that don't build with CMake. Qt5 does it. IIRC the Intel TBB
developers were looking at doing it too.

Upstream could manually code an ITTConfig.cmake file with the
proper imported targets.

-Brad
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Gurulev, Dmitry
2018-05-30 14:37:41 UTC
Permalink
>Is there a header file too?
Yes, it is - /opt/intel/vtune_amplifier_2018.2.0.551022/include/ittnotify.h

>It's possible to provide a package configuration file for projects
>that don't build with CMake. Qt5 does it. IIRC the Intel TBB
>developers were looking at doing it too.

Thanks for the point, I'm able to contact w/ VTune team and suggest them to look at doing that too.
BTW, for now VTune doesn't provide it and I doubt it will in short term.
________________________________________
From: Brad King [***@kitware.com]
Sent: Wednesday, May 30, 2018 5:25 PM
To: Gurulev, Dmitry; Sergei Nikulov
Cc: cmake-***@cmake.org
Subject: Re: [cmake-developers] Proposed new CMake module FindITT.cmake

On 05/30/2018 10:18 AM, Gurulev, Dmitry wrote:
> ITT comes w/ VTune app. in binary form
> (/opt/intel/vtune_amplifier_2018.2.0.551022/lib64/libittnotify.a)

Is there a header file too?

> VTune is not CMake based distributive, no way to add cmake
> package config to it.

It's possible to provide a package configuration file for projects
that don't build with CMake. Qt5 does it. IIRC the Intel TBB
developers were looking at doing it too.

Upstream could manually code an ITTConfig.cmake file with the
proper imported targets.

-Brad

--------------------------------------------------------------------
Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
Loading...