Re: [cmake-developers] C++ IDE

2017-08-18 Thread Marian Luparu via cmake-developers
Thanks Bill. With every update of Visual Studio 2017 (2017.3 is the latest as 
of this moment), we're striving to improve the experience. 

For a shorter summary of the advantages of using Visual Studio for CMake 
projects, you can also check the deep-link 
https://blogs.msdn.microsoft.com/visualstudio/2017/07/05/7-reasons-to-move-your-cpp-code-to-visual-studio-2017/#openfolder
 . We do have a few more things in the pipeline as we speak, so stay tuned on 
our blog in the next weeks. 

Jean-Michaël, we're also always listening for feedback so if you think there 
are things missing in the experience today, do let us know! Hopefully we can 
pleasantly surprise you in the near future  (if you prefer, you can DM me on 
twitter @mluparu or send me email at @microsoft.com).

Thanks,
Marian Luparu
C++ Team / Visual Studio 

-Original Message-
From: cmake-developers [mailto:cmake-developers-boun...@cmake.org] On Behalf Of 
Bill Hoffman
Sent: Friday, August 18, 2017 8:46 AM
To: cmake-developers@cmake.org
Subject: Re: [cmake-developers] C++ IDE

[You don't often get email from bill.hoff...@kitware.com, which appears similar 
to someone who has previously sent you email, but may not be that person. Learn 
why this may be a problem at http://aka.ms/LearnAboutSenderIdentification.]

On 8/18/2017 9:37 AM, Jean-Michaël Celerier wrote:
>
> IMHO, Visual Studio's CMake integration is a joke in comparison to 
> QtCreator and CLion.
Microsoft has been working to fix that.
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fvcblog%2F2016%2F10%2F05%2Fcmake-support-in-visual-studio%2F=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=ETfP9P0cSGG%2BBu6e0%2FtiiwisPPrkzdAYSEUmtJJpvH0%3D=0

MS is shipping a version of CMake with VS, and are using the cmake-server to 
talk to CMake.  They continue to improve this, so with new versions of VS, it 
should continue to get better.

-Bill
--

Powered by 
https://na01.safelinks.protection.outlook.com/?url=www.kitware.com=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=cobIkEWZyrS9zrReufMU5MA7CoBiqNXJA1%2BCR6p6hoQ%3D=0

Please keep messages on-topic and check the CMake FAQ at: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cmake.org%2FWiki%2FCMake_FAQ=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=thV47vz%2BivPyXgeNXAejvVp5vtfCz6zm76QYbAlEoOQ%3D=0

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

CMake Support: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Fsupport.html=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=eLnsgK%2BNwUalQJmisJ5T5vaYcTSd%2F%2Bc9XTTno9K2qGA%3D=0
CMake Consulting: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Fconsulting.html=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=UuLfbdA5en0kp7zG%2BvycOYWsgSMmZ2UwihFtVmmJ%2Fow%3D=0
CMake Training Courses: 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Ftraining.html=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=U1%2F3i5Sm1SmlsxhAFFoHfW6iToseZlZndBScuaWFNeo%3D=0

Visit other Kitware open-source projects at 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=P%2Bvp0nAyvEwr7%2BDjPkHlxznlf%2BxREEwji9S1JuUFPo0%3D=0

Follow this link to subscribe/unsubscribe:
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fcmake-developers=02%7C01%7Cmluparu%40microsoft.com%7Cf94f340e9a5d4796458a08d4e6503bd5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636386679731177870=wFxnD5rZLaX5BT%2Bz1fBLkz0wJvMbosynqJNzSZ27Q%2Bw%3D=0
-- 

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:

Re: [cmake-developers] C++ IDE

2017-08-18 Thread Bill Hoffman

On 8/18/2017 9:37 AM, Jean-Michaël Celerier wrote:


IMHO, Visual Studio's CMake integration is a joke in comparison to 
QtCreator and CLion.

Microsoft has been working to fix that.
https://blogs.msdn.microsoft.com/vcblog/2016/10/05/cmake-support-in-visual-studio/

MS is shipping a version of CMake with VS, and are using the 
cmake-server to talk to CMake.  They continue to improve this, so with 
new versions of VS, it should continue to get better.


-Bill
--

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] C++ IDE

2017-08-18 Thread Jean-Michaël Celerier
> Visual Studio 2017 has the best C/C++ experience with CMake

IMHO, Visual Studio's CMake integration is a joke in comparison to
QtCreator and CLion.



---
Jean-Michaël Celerier
http://www.jcelerier.name

On Fri, Aug 18, 2017 at 12:04 PM, Nagy-Egri Máté Ferenc via
cmake-developers  wrote:

> Impressed with VSCode?? If I saw this post anywhere else than the CMake
> mailing list, I’d understand, but VSCode with CMake is horrible. The fact
> that in 2017 I have to set include directories, compiler definitions and
> target paths manually to have proper IntelliSense (Code navigation and
> syntax higlight) is absurd.
>
>
>
> As far as I saw Visual Studio 2017 has the best C/C++ experience with
> CMake. (Google: Visual Studio Open Folder support with CMake)
>
>
>
> *Feladó: *Wesley Smith 
> *Elküldve: *2017. augusztus 10., csütörtök 6:38
> *Címzett: *Ivam Pretti 
> *Másolatot kap: *cmake-developers@cmake.org
> *Tárgy: *Re: [cmake-developers] C++ IDE
>
>
>
> I have been really impressed with VSCode .
>
>
>
>
> On Sun, Aug 6, 2017 at 1:52 PM, Ivam Pretti 
> wrote:
>
> Can you recomend an IDE to code in C/C++?
>
>
> --
>
> 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:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
>
>
>
>
> --
>
> 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:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
-- 

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] C++ IDE

2017-08-18 Thread Matt Anger
CLion works well.

On Fri, Aug 18, 2017 at 6:04 AM, Nagy-Egri Máté Ferenc via cmake-developers
 wrote:

> Impressed with VSCode?? If I saw this post anywhere else than the CMake
> mailing list, I’d understand, but VSCode with CMake is horrible. The fact
> that in 2017 I have to set include directories, compiler definitions and
> target paths manually to have proper IntelliSense (Code navigation and
> syntax higlight) is absurd.
>
>
>
> As far as I saw Visual Studio 2017 has the best C/C++ experience with
> CMake. (Google: Visual Studio Open Folder support with CMake)
>
>
>
> *Feladó: *Wesley Smith 
> *Elküldve: *2017. augusztus 10., csütörtök 6:38
> *Címzett: *Ivam Pretti 
> *Másolatot kap: *cmake-developers@cmake.org
> *Tárgy: *Re: [cmake-developers] C++ IDE
>
>
>
> I have been really impressed with VSCode .
>
>
>
>
> On Sun, Aug 6, 2017 at 1:52 PM, Ivam Pretti 
> wrote:
>
> Can you recomend an IDE to code in C/C++?
>
>
> --
>
> 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:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
>
>
>
>
> --
>
> 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:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
-- 

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] C++ IDE

2017-08-18 Thread Nagy-Egri Máté Ferenc via cmake-developers
Impressed with VSCode?? If I saw this post anywhere else than the CMake mailing 
list, I’d understand, but VSCode with CMake is horrible. The fact that in 2017 
I have to set include directories, compiler definitions and target paths 
manually to have proper IntelliSense (Code navigation and syntax higlight) is 
absurd.

As far as I saw Visual Studio 2017 has the best C/C++ experience with CMake. 
(Google: Visual Studio Open Folder support with CMake)

Feladó: Wesley Smith
Elküldve: 2017. augusztus 10., csütörtök 6:38
Címzett: Ivam Pretti
Másolatot kap: cmake-developers@cmake.org
Tárgy: Re: [cmake-developers] C++ IDE

I have been really impressed with VSCode.  

On Sun, Aug 6, 2017 at 1:52 PM, Ivam Pretti  wrote:
Can you recomend an IDE to code in C/C++?

--

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:
http://public.kitware.com/mailman/listinfo/cmake-developers


-- 

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] iOS: direction to official support and questions

2017-08-18 Thread Raffi Enficiaud

Le 16.08.17 à 16:27, Eric Wing a écrit :

I've been using a derivative of the iOS toolchain for many years that
you probably can find easily with a Google search. It has a lot of
shortcomings, but it generally works. And most of the shortcomings I
think are only solvable by properly fixing/modifying the CMake core.


Hi,

thanks for your answer. I also found several examples online, some of 
them are good, but I cannot just copy-paste them :) I need to understand 
what is going on, and sometimes things are done not in a good way.





On 8/15/17, Raffi Enficiaud  wrote:

Le 10.08.17 à 17:04, Brad King a écrit :

On 08/08/2017 08:08 AM, Raffi Enficiaud wrote:

I have looked a bit to the Android toolchains, and I have to say I found
those quite complicated as a first reading :)




I personally think the Android toolchain is way more complicated than
the iOS toolchain. Among the reasons are that every NDK release broke
something different as they kept changing the compiler and conventions
(the gcc to clang move was the most recent biggie, but old-timers
might remember the standalone toolchain difficulties.). Then you have
to pick different API levels because the each NDK release ships a
separate API subtarget for all prior versions of Android. Then add all
the multiple architectures (mips, arm, x86, 64-bit) and the
subvariants (armv5, armv7, armv7+NEON, etc), 4 different C++ standard
libraries you have to choose from, and other nuisances like Android on
Windows...makes the whole thing a mess.


Right now, I am completely discarding whatever has been done for Android :)





Ideally CMake would gain iOS platform modules such that one could
set CMAKE_SYSTEM_NAME to `iOS`.




where this path is hard coded, and points to the fat static libraries
prefix path of boost. If I remove this path, FindBoost does not find the
boost libraries anymore (of course I am passing BOOST_ROOT). In
addition, I have this:

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


These last three lines tell the find commands to only look at
paths re-rooted under CMAKE_FIND_ROOT_PATH and CMAKE_SYSROOT.
If boost is not under one of those then it won't be found.



That sounds right. The general problem is you don't want to
accidentally pick up OSX stuff on your system.


It appears that this is too restrictive. For instance, I compiled boost 
and made fat libraries in an installation folder, and I am not being 
able to pick them up. By removing them, FindBoost works fine.


But the problem is that it is unclear to me what should be allowed and 
what not, and where are the problems:
* specifically for the FindBoost problem mentioned above, is it a 
limitation of FindBoost that is not honouring cross compilation well? I 
believe that if I provide a BOOST_ROOT, then it should be used no matter 
what default configuration is provided by the toolchain file
* another example: I need eg. the python interpreter to run some tests. 
If I remove the lines above, the host interpreter is found. In the case 
of my project, it is ok, because I use that for running some tests. In 
some other projects I have, I think this is not ok because I may use the 
interpreter for finding other libraries on the OS (cython, numpy, etc).


The question is:
what is the best practice for letting the developer do his job right?

Preventing accessing some paths when searching for a binary or a 
shared/library is limiting. Especially, it is not easy to know if a 
library that is found is part of the cross-compilation toolchain that 
can run on the host (say "codesign", "clang", "python" etc) or part of 
the bundle we want to create (eg boost_something.dylib, that is a fat 
binary containing also the architecture of the host - because of the iOS 
simulator).


As of today, find_library or find_program does not make any distinction, 
but in case of cross-compilation, I would like to have ideally a 
"CROSS_COMPILATION_TOOLCHAIN" property that I may use in the CMake scripts.


For instance, I need to find a library that will be integrated in the 
target platform binary:




find_library(MyLIB
NAMES my_lib_arch_arm
TARGET_PLATFORM) # or TARGET_PLATFORM implicit

add_executable(MyFinalBundle ... TARGET_PLATFORM)
target_link_library(MyFinalBundle MyLIB) # check for consistency: all 
dependencies should be TARGET_PLATFORM as well



In this case, the find_library will look into the sysroot that is 
provided by the toolchain file, plus some given by the user and that are 
specific to the module (BOOST_ROOT for instance)


OTOH:

find_library(MyToolchainLib
NAMES my_toolchainlib
HOST_PLATFORM)

find_program(my_other_toolchain_program
HOST_PLATFORM)

add_executable(my_intermediade_tool HOST_PLATFORM)
target_link_library(my_intermediade_tool MyToolchainLib)

add_custom_command(
  OUTPUT output output2
  COMMAND