Re: [CMake] CMake support for MYS2

2018-01-10 Thread Mojca Miklavec
On 10 January 2018 at 11:56, Konstantin Tokarev  wrote:
> 10.01.2018, 11:40, "Mojca Miklavec" :
>> On 8 January 2018 at 17:38, Konstantin Tokarev wrote:
>>>  08.01.2018, 14:35, "Mojca Miklavec":
  Dear CMake developers,

  I installed msys2 from http://www.msys2.org/ and (after updating etc)
  installed cmake via
  pacman -S cmake
>>>
>>>  You should install mingw-w64-x86_64-cmake (or i686).
>>
>> Thank you very much. That package is missing ccmake though
>
> Please report it as a bug. cmake package should provide ccmake, or
> there should be a separate package if ncurses dependency is undesirable
> in the main package.

I can create a bug report, but I would like to clarify with CMake
developers first before I know what exactly to report in the first
place.

I'm pretty sure that this is a side-effect of CMake's own build
figuring out that it's being built on and for Windows, so it probably
skips building ccmake and builds cmake-gui.exe instead.

This all makes perfect sense for distributing the standalone
executable on Windows, but it's less suitable in the context of MSYS2.

>>, so I can
>> only run cmake directly and even then it strangely(?) defaults to
>> Visual Studio when I would expect it to go for Unix Makefiles.
>
> This is behavior of vanilla cmake, so it's reasonable that it is not altered.

I assume it belongs "to the same category" as the lack of ccmake.

I can imagine that it would make sense to offer to ways of building
cmake on Windows: the "standalone" mode without ccmake, with cmake-gui
and defaulting to Visual Studio. And the "command-line" mode with
ccmake and defaulting to "Unix Makefiles". Of course one could build
both ccmake and cmake-gui at the same time if desired.

We often have this problem with a Mac package manager. Many software
builds do "if this is mac, then standard unix tools don't exist, so do
something completely different" and they would create the app bundle,
but skip the rest of command-line friendliness and completely ignore
the fact that those unix tools may exist after all.

> You can use msys2 like a generic Windows software repository, not only
> for MinGW- or MSYS-based development.

I admit that I don't totally understand how exactly it's supposed to
work, but further discussion would be too off-topic for this list, I
assume.

>> (The "ccmake" from /usr/bin/ccmake is not helping in any way either, I
>> was hoping it would perhaps use mingw-w64-x86_64-cmake.)
>>
>> I later noticed that there is /mingw64/bin/cmake-gui.exe, but that one
>> doesn't really work either:
>>
>> $ cmake-gui
>> C:/msys/msys64/mingw64/bin/cmake-gui.exe: error while loading shared
>> libraries: librhash.dll: cannot open shared object file: No such file
>> or directory
>>
>>>  You've installed
>>>  package that targets MSYS environment, not native Windows.
>>
>> I still assume that others might run into exactly the same isuse in
>> the future. Since it's explicitly suggesting to write to the mailing
>> list, the reports might repeat.
>
> This is a packaging problem, so it should be reported to msys2
> maintainers first.

OK.

> in the meanwhile, you can edit CMakeCache.txt file directly, gui tools
> don't really add much :)

Well, I can always use
cmake -G "..." -Dwhatever ../source
but ccmake is useful to show what configuration options the program is
offering. Editing CMakeCache is a feasible workaround, but I would
like to have a proper fix at the end.

Thanks a lot for all the useful insights.

Mojca
-- 

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


Re: [CMake] CMake support for MYS2

2018-01-10 Thread Konstantin Tokarev


10.01.2018, 11:40, "Mojca Miklavec" :
> On 8 January 2018 at 17:38, Konstantin Tokarev wrote:
>>  08.01.2018, 14:35, "Mojca Miklavec":
>>>  Dear CMake developers,
>>>
>>>  I installed msys2 from http://www.msys2.org/ and (after updating etc)
>>>  installed cmake via
>>>  pacman -S cmake
>>
>>  You should install mingw-w64-x86_64-cmake (or i686).
>
> Thank you very much. That package is missing ccmake though

Please report it as a bug. cmake package should provide ccmake, or
there should be a separate package if ncurses dependency is undesirable
in the main package.

>, so I can
> only run cmake directly and even then it strangely(?) defaults to
> Visual Studio when I would expect it to go for Unix Makefiles.

This is behavior of vanilla cmake, so it's reasonable that it is not altered.
You can use msys2 like a generic Windows software repository, not only
for MinGW- or MSYS-based development.

> (The "ccmake" from /usr/bin/ccmake is not helping in any way either, I
> was hoping it would perhaps use mingw-w64-x86_64-cmake.)
>
> I later noticed that there is /mingw64/bin/cmake-gui.exe, but that one
> doesn't really work either:
>
> $ cmake-gui
> C:/msys/msys64/mingw64/bin/cmake-gui.exe: error while loading shared
> libraries: librhash.dll: cannot open shared object file: No such file
> or directory
>
>>  You've installed
>>  package that targets MSYS environment, not native Windows.
>
> I still assume that others might run into exactly the same isuse in
> the future. Since it's explicitly suggesting to write to the mailing
> list, the reports might repeat.

This is a packaging problem, so it should be reported to msys2
maintainers first.

in the meanwhile, you can edit CMakeCache.txt file directly, gui tools
don't really add much :)

> (OK, I don't expect so many people to use the strange unix toolchains
> on windows platforms, but still.)
>
> Thank you,
> Mojca
>
>>>  as well as some other packages like "make", the gcc compiler etc.
>>>
>>>  But "ccmake" complains:
>>>
>>>   System is unknown to cmake, create:
>>>   Platform/MINGW32_NT-6.1 to use this system, please send your config file 
>>> to
>>>   cm...@www.cmake.org so it can be added to cmake
>>>
>>>   Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please
>>>  send that file to
>>>   cm...@www.cmake.org.
>>>
>>>  I believe I should additional set the compiler somehow, but I guess I
>>>  should be able to cope with that part. I just wanted to report the
>>>  failure to identify the platform while fighting with other problems.
>>>  (Meson works correctly out of the box.)
>>>
>>>  CopyOfCMakeCache is in attachment.
>>>
>>>  Thank you very much,
>>>  Mojca
>>
>>  --
>>  Regards,
>>  Konstantin

-- 
Regards,
Konstantin
-- 

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


Re: [CMake] CMake support for MYS2

2018-01-10 Thread Mojca Miklavec
On 8 January 2018 at 17:38, Konstantin Tokarev wrote:
> 08.01.2018, 14:35, "Mojca Miklavec":
>> Dear CMake developers,
>>
>> I installed msys2 from http://www.msys2.org/ and (after updating etc)
>> installed cmake via
>> pacman -S cmake
>
> You should install mingw-w64-x86_64-cmake (or i686).

Thank you very much. That package is missing ccmake though, so I can
only run cmake directly and even then it strangely(?) defaults to
Visual Studio when I would expect it to go for Unix Makefiles.
(The "ccmake" from /usr/bin/ccmake is not helping in any way either, I
was hoping it would perhaps use mingw-w64-x86_64-cmake.)

I later noticed that there is /mingw64/bin/cmake-gui.exe, but that one
doesn't really work either:

$ cmake-gui
C:/msys/msys64/mingw64/bin/cmake-gui.exe: error while loading shared
libraries: librhash.dll: cannot open shared object file: No such file
or directory

> You've installed
> package that targets MSYS environment, not native Windows.

I still assume that others might run into exactly the same isuse in
the future. Since it's explicitly suggesting to write to the mailing
list, the reports might repeat.
(OK, I don't expect so many people to use the strange unix toolchains
on windows platforms, but still.)

Thank you,
Mojca

>> as well as some other packages like "make", the gcc compiler etc.
>>
>> But "ccmake" complains:
>>
>>  System is unknown to cmake, create:
>>  Platform/MINGW32_NT-6.1 to use this system, please send your config file to
>>  cm...@www.cmake.org so it can be added to cmake
>>
>>  Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please
>> send that file to
>>  cm...@www.cmake.org.
>>
>> I believe I should additional set the compiler somehow, but I guess I
>> should be able to cope with that part. I just wanted to report the
>> failure to identify the platform while fighting with other problems.
>> (Meson works correctly out of the box.)
>>
>> CopyOfCMakeCache is in attachment.
>>
>> Thank you very much,
>> Mojca
>
> --
> Regards,
> Konstantin
-- 

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


Re: [CMake] CMake support for MYS2

2018-01-08 Thread Konstantin Tokarev


08.01.2018, 14:35, "Mojca Miklavec" :
> Dear CMake developers,
>
> I installed msys2 from http://www.msys2.org/ and (after updating etc)
> installed cmake via
> pacman -S cmake

You should install mingw-w64-x86_64-cmake (or i686). You've installed
package that targets MSYS environment, not native Windows.

> as well as some other packages like "make", the gcc compiler etc.
>
> But "ccmake" complains:
>
>  System is unknown to cmake, create:
>  Platform/MINGW32_NT-6.1 to use this system, please send your config file to
>  cm...@www.cmake.org so it can be added to cmake
>
>  Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please
> send that file to
>  cm...@www.cmake.org.
>
> I believe I should additional set the compiler somehow, but I guess I
> should be able to cope with that part. I just wanted to report the
> failure to identify the platform while fighting with other problems.
> (Meson works correctly out of the box.)
>
> CopyOfCMakeCache is in attachment.
>
> Thank you very much,
> Mojca
> ,--
>
> 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

-- 
Regards,
Konstantin
-- 

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


[CMake] CMake support for MYS2

2018-01-08 Thread Mojca Miklavec
Dear CMake developers,

I installed msys2 from http://www.msys2.org/ and (after updating etc)
installed cmake via
pacman -S cmake
as well as some other packages like "make", the gcc compiler etc.

But "ccmake" complains:


 System is unknown to cmake, create:
 Platform/MINGW32_NT-6.1 to use this system, please send your config file to
 cm...@www.cmake.org so it can be added to cmake

 Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please
send that file to
 cm...@www.cmake.org.


I believe I should additional set the compiler somehow, but I guess I
should be able to cope with that part. I just wanted to report the
failure to identify the platform while fighting with other problems.
(Meson works correctly out of the box.)

CopyOfCMakeCache is in attachment.

Thank you very much,
Mojca
# This is the CMakeCache file.
# For build in directory: /c/Users/me/test/test-build
# It was generated by CMake: /usr/bin/cmake.exe
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.


# EXTERNAL cache entries


//Path to a program.
CMAKE_AR:FILEPATH=CMAKE_AR-NOTFOUND

//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=

//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=CMAKE_CXX_COMPILER-NOTFOUND

//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=

//Flags used by the compiler during release builds for minimum
// size.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=

//Flags used by the compiler during release builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=

//Flags used by the compiler during release builds with debug info.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=

//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

//Path to a program.
CMAKE_LINKER:FILEPATH=CMAKE_LINKER-NOTFOUND

//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make.exe

//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_NM:FILEPATH=CMAKE_NM-NOTFOUND

//Path to a program.
CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND

//Path to a program.
CMAKE_OBJDUMP:FILEPATH=CMAKE_OBJDUMP-NOTFOUND

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=CommonLib

//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries.
CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.