[cmake-developers] Hunter [CMake/C++] Package Manager: To be or not to be

2019-07-24 Thread Cristian Adam
Hi,

For those of you who use Hunter for package management with CMake,  its
maintainer has issued a call for support to keep it alive or take over its
maintainership: https://github.com/ruslo/hunter/issues/1921


Hunter is different than vcpkg and Conan, it uses only CMake to do the
package management. It also uses more CMake features than the others.

Let's take pcre2 package for example.  Which has bzip2 and zlib as
dependencies. pcre2 package has a peculiarity when it's built as a static
library, it needs the PCRE2_STATIC definition.

   - Conan  pcre2 package.
   - vcpkg  pcre2
   package.
   - Hunter  pcre2 package.

Conan is not using pcre2's CMake build system, instead the package is being
build with the Conan Python infrastructure. I don't know if in the end
you'll have CMake Module or CMake Config packages.

vcpkg is using  pcre2's CMake build system. It controls it from outside,
and afterwards it does some patching to ensure PCRE2_STATIC works as
expected. vcpkg is using CMake Module packages. In the vcpkg portfile the
zlib and bzip2 dependencies are not mentioned. I assume they are somehow
available in the vcpkg build environment prior to building pcre2.

Hunter is using  pcre2's CMake build system, and it does modify the pcre2's
CMakeLists.txt to call the Hunter CMake API. It handles the dependencies,
and then it properly installs / exports a CMake Config package. In the commit
history  you
can see what it takes to import a package in the Hunter repository.

At QTBUG-75578  there is a
description on how to use Hunter to download / build / install the 3rd
party dependencies of Qt6::Base module, in order to build it on Windows
with MinGW. You only need to edit one CMakeLists.txt file.

I would like to point out that Ruslan Baratov contributed the IPO/LTO
functionality that landed in CMake 3.9.

Cheers,
Cristian.
-- 

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


Re: [cmake-developers] Trojan in latest release

2019-03-22 Thread Cristian Adam
On Thu, Mar 21, 2019 at 7:40 PM Brad King via cmake-developers <
cmake-developers@cmake.org> wrote:

> On 3/21/19 2:01 PM, kevin wrote:
> > I have not actually seen the file, because windows defender is
> > preventing the download from completing.
>
> I just tried using MS Edge on an up-to-date Win 10 Pro with
> Windows Defender enabled.  It is able to download and scan
> the file, and finds nothing.
>
>
I've opened up a ticket regarding Authenticode:
https://gitlab.kitware.com/cmake/cmake/issues/19077

CMake should have support for Authenticode, and should serve as an example
with it's own CMake code.

Cheers,
Cristian.
-- 

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


Re: [cmake-developers] Trojan in latest release

2019-03-21 Thread Cristian Adam
Also worth mentioning that Virustotal has nothing on both 32 and 64 bit
files:

https://www.virustotal.com/gui/file/913b231e189824b679b60d9c9d45549bb047866431cd023afbb0b9d10e579279/detection
https://www.virustotal.com/gui/file/4cbc62929f313d9890d377fa022753e9e5509e7afa3e16978127b7b2813633cf/detection

I think it would be great if Kitware would buy an authenticode certificate
to sign the Windows builds. Is there a bug report on this?

Cheers,
Cristian.

On Thu, Mar 21, 2019 at 5:19 PM Brad King via cmake-developers <
cmake-developers@cmake.org> wrote:

> On 3/21/19 12:05 PM, kevin wrote:
> > I just tried to install the latest release and noticed it contained
> Skeeyah.l
>
> What is the URL of the binary you downloaded?
> What is the sha256 sum of the installer file on your local disk?
>
> -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
>
-- 

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


[cmake-developers] CMake Server and the "Language Server Protocol" support [Qt Creator 4.8 / Visual Studio Code]

2018-10-17 Thread Cristian Adam
Hi,

With the announcement of Qt Creator 4.8 Beta
  we can
see that it supports Microsoft's Language Server Protocol
.

How far is CMake from having such support in server mode?

Stephen Kelly had this in his January 2016's CMake Daemon client
demonstration . Having watched
that video I feel the urge of compiling his code and having that tool today.

Having that level of integration makes everything else feel like editing in
Notepad.

If such support would be available in Qt Creator, and Visual Studio Code
etc., people wouldn't rant
 that much
about CMake's language or documentation.

Cheers,
Cristian.
-- 

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


[cmake-developers] Qt 6 buildsystem support requirements

2018-07-21 Thread Cristian Adam
Hi,

Here's an email thread from the Qt's Development mailing list, that you
might find interesting:
http://lists.qt-project.org/pipermail/development/2018-July/033100.html

>From my point if view it would be so awesome if Qt6 would use CMake.

CopperSpice , the famous Qt4 fork, is using
CMake, so that's like a precedent.

KDE Project is using CMake, and for the last years they have pushed code
into Qt. I think it would make their contributions easier if Qt would also
use CMake.

Boost announced that they will be using CMake, no idea how that progresses.

Having CMake used by these major C++ libraries would be good for the C++
community.

Tobias Hunger from The Qt Company has been hacking on the CMake server
parts, so it's not like there is nobody from The Qt Company familiar with
CMake code.

Cheers,
Cristian.
-- 

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


[cmake-developers] cmake_format

2018-02-07 Thread Cristian Adam
Hi,

I don't remember seeing this tool advertised on the CMake mailing lists:

https://github.com/cheshirekow/cmake_format/tree/master/cmake_format

*cmake-format can format your listfiles nicely so that they don't look like
crap.*

Cheers,
Cristian.
-- 

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


Re: [cmake-developers] Undocumented command line flags (-H, -B) why?

2018-01-16 Thread Cristian Adam
There was an attempt to document them:
https://www.mail-archive.com/cmake-developers@cmake.org/msg16693.html

I don't know why it wasn't a pull request on gitlab though.

Cheers,
Cristian.


On Tue, Jan 16, 2018 at 1:10 PM, Eric Noulard 
wrote:

> Hi there,
>
> I came accross -H and -B undocumented command line flags for cmake:
> https://stackoverflow.com/questions/24460486/cmake-
> build-type-not-being-used-in-cmakelists-txt/24470998#24470998
>
> Is there any reason to keep those undocumented?
>
> --
> Eric
>
> --
>
> 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
>
>
-- 

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


Re: [cmake-developers] Compiling CMake 3.6.1 fails on Raspbian Jessie

2016-09-07 Thread Cristian Adam
On Tue, Sep 6, 2016 at 9:13 PM, Brad King <brad.k...@kitware.com> wrote:

> On 09/06/2016 02:39 PM, Cristian Adam wrote:
> > Who should have noticed that the two object files were empty and try a
> > new compilation? CMake or make?
>
> Nothing.  This is not a failure case that we expect to be handled.
> The .o files exist with a timestamp newer than their dependencies,
> so the build system thinks they are up to date.  The fact that the
> wrong content was written to them due to a system failure is not
> something we can know or tolerate.
>
> -Brad
>
>
I see. Due to object headers one should not be able to produce an
empty object file with a compiler.

Brad, thank you for the help. Now I know how to analyze archive files \m/

Cheers,
Cristian.
-- 

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] Compiling CMake 3.6.1 fails on Raspbian Jessie

2016-09-06 Thread Cristian Adam

On 06-Sep-16 14:26, Brad King wrote:

On 09/05/2016 04:39 PM, Cristian Adam wrote:

On Mon, Sep 5, 2016 at 10:33 PM, Brad King wrote:

Something goes wrong with finding some of the symbols in it,
such as some from `json_value.cpp`.

$ ar t Utilities/cmjsoncpp/libcmjsoncpp.a
json_reader.cpp.o
json_value.cpp.o
json_writer.cpp.o

 From the binary you sent me:

```
$ file Utilities/cmjsoncpp/CMakeFiles/cmjsoncpp.dir/src/lib_json/*.o
Utilities/cmjsoncpp/CMakeFiles/cmjsoncpp.dir/src/lib_json/json_reader.cpp.o: 
empty
Utilities/cmjsoncpp/CMakeFiles/cmjsoncpp.dir/src/lib_json/json_value.cpp.o:  
empty
Utilities/cmjsoncpp/CMakeFiles/cmjsoncpp.dir/src/lib_json/json_writer.cpp.o: 
ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped
```

Somehow two of the .o files ended up empty.  The Makefile content
looks fine and the command line to compile is the same for all
three sources.  Is this reproducible?  If you remove the two empty
files and build again do they still end up empty?

-Brad


Removal of the empty object files lead to a successful compilation.

In retrospect I should have cleaned my build directory after my 
Raspberry PI froze when compiling with MAKEFLAGS=-j4.
Bootstrap compiled fine with -j4, but make managed to crash the system 
with -j4 and -j3.


Who should have noticed that the two object files were empty and try a 
new compilation? CMake or make?


Cheers,
Cristian.



--

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] Compiling CMake 3.6.1 fails on Raspbian Jessie

2016-09-05 Thread Cristian Adam
On Mon, Sep 5, 2016 at 10:33 PM, Brad King <brad.k...@kitware.com> wrote:

> On 09/05/2016 04:01 PM, Cristian Adam wrote:
> > [ 62%] Built target cmjsoncpp
> [snip]
> > [ 93%] Linking CXX executable ../bin/cmake
> > libCMakeLib.a(cmGlobalGenerator.cxx.o): In function `cmGlobalGenerator::
> WriteSummary(cmGeneratorTarget*)':
> > cmGlobalGenerator.cxx:(.text+0x117a8): undefined reference to
> `Json::Value::Value(Json::ValueType)'
> [snip]
> > ../Utilities/cmjsoncpp/libcmjsoncpp.a(json_writer.cpp.o): In function
> `Json::FastWriter::writeValue(Json::Value const&)':
> [snip]
> > No idea why it can't find its own cmjsoncpp library
>
> Actually it is finding the library because some of the error messages
> reference objects in it.  Something goes wrong with finding some of
> the symbols in it, such as some from `json_value.cpp`.
> What is the output of?
>
> $ ar t Utilities/cmjsoncpp/libcmjsoncpp.a
>
>
$ ar t Utilities/cmjsoncpp/libcmjsoncpp.a
json_reader.cpp.o
json_value.cpp.o
json_writer.cpp.o

Cheers,
Cristian.
-- 

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

[cmake-developers] Compiling CMake 3.6.1 fails on Raspbian Jessie

2016-09-05 Thread Cristian Adam
Hi,

Compiling CMake for Raspberri Pi (Raspbian Jessie) used to work

simply as:

./bootstrap
make
sudo make install

with CMake 3.6.1, build fails with:

make
[  3%] Built target cmsys
[  3%] Built target cmsysTestDynload
[  4%] Built target cmsys_c
[  4%] Built target cmsysTestProcess
[  5%] Built target cmsysTestSharedForward
[  5%] Built target cmsysTestsC
[  7%] Built target cmsysTestsCxx
[  9%] Built target kwiml_test
[ 11%] Built target cmzlib
[ 30%] Built target cmcurl
[ 30%] Built target LIBCURL
[ 30%] Built target cmcompress
[ 31%] Built target cmbzip2
[ 42%] Built target cmliblzma
[ 60%] Built target cmlibarchive
[ 61%] Built target cmexpat
*[ 62%] Built target cmjsoncpp*
[ 82%] Built target CMakeLib
[ 85%] Built target CPackLib
[ 93%] Built target CTestLib
[ 93%] Linking CXX executable ../bin/cmake
libCMakeLib.a(cmGlobalGenerator.cxx.o): In function
`cmGlobalGenerator::WriteSummary(cmGeneratorTarget*)':
cmGlobalGenerator.cxx:(.text+0x117a8): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x117b8): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x117cc): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x117dc): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x117f0): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x117fc): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x1181c): undefined reference to
`Json::Value::Value(std::string const&)'
cmGlobalGenerator.cxx:(.text+0x1182c): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x11838): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11844): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x11858): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x11868): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x1187c): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x1188c): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x118a0): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x118b0): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x118c4): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11a1c): undefined reference to
`Json::Value::Value(std::string const&)'
cmGlobalGenerator.cxx:(.text+0x11a2c): undefined reference to
`Json::Value::append(Json::Value const&)'
cmGlobalGenerator.cxx:(.text+0x11a38): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11c1c): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x11c2c): undefined reference to
`Json::Value::append(Json::Value const&)'
cmGlobalGenerator.cxx:(.text+0x11c40): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11c98): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x11cac): undefined reference to
`Json::Value::Value(std::string const&)'
cmGlobalGenerator.cxx:(.text+0x11cbc): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x11cc8): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11d40): undefined reference to
`Json::Value::operator[](char const*)'
cmGlobalGenerator.cxx:(.text+0x11d54): undefined reference to
`Json::Value::Value(Json::ValueType)'
cmGlobalGenerator.cxx:(.text+0x11d64): undefined reference to
`Json::Value::operator=(Json::Value)'
cmGlobalGenerator.cxx:(.text+0x11d78): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11e58): undefined reference to
`Json::Value::Value(std::string const&)'
cmGlobalGenerator.cxx:(.text+0x11e68): undefined reference to
`Json::Value::append(Json::Value const&)'
cmGlobalGenerator.cxx:(.text+0x11e74): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11f60): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11fd0): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11fe0): undefined reference to
`Json::Value::~Value()'
cmGlobalGenerator.cxx:(.text+0x11ff0): undefined reference to
`Json::Value::~Value()'
libCMakeLib.a(cmGlobalGenerator.cxx.o):cmGlobalGenerator.cxx:(.text+0x12000):
more undefined references to `Json::Value::~Value()' follow
../Utilities/cmjsoncpp/libcmjsoncpp.a(json_writer.cpp.o): In function
`Json::FastWriter::writeValue(Json::Value const&)':
json_writer.cpp:(.text+0xc4c): undefined reference to `Json::Value::type()
const'