[CMake] Tweaking/disabling timeout for "Check for working CXX compiler"

2015-09-08 Thread Dmitry Marakasov
Hi!

FreeBSD project use userspace qemu emulation to cross-build packages
for some architectures, namely arm. This worked great for most
packages, however ones using cmake tend to fail randomly. I couldn't
reproduce these failures, but after we've updated cmake to 3.3.1 which
is more verbose, the cause became apparent.

Example failure log:

http://beefy8.nyi.freebsd.org/data/head-armv6-default/p396164_s287479/logs/flare-game-0.19_1.log

Relevant excerpt:

---
-- Check for working CXX compiler: /nxb-bin/usr/bin/c++
CMake Error: Generator: execution of make failed. Make command was: 
"/usr/bin/make" "cmTryCompileExec920170445/fast"
-- Check for working CXX compiler: /nxb-bin/usr/bin/c++ -- broken
CMake Error at /usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:54 
(message):
  The C++ compiler "/nxb-bin/usr/bin/c++" is not able to compile a simple
test program.

  It fails with the following output:
...
  Linking CXX executable cmTryCompileExec920170445

  /usr/local/bin/cmake -E cmake_link_script
CMakeFiles/cmTryCompileExec920170445.dir/link.txt --verbose=1

  /nxb-bin/usr/bin/c++ -O2 -pipe -mfloat-abi=softfp -fno-strict-aliasing
CMakeFiles/cmTryCompileExec920170445.dir/testCXXCompiler.cxx.o -o
  cmTryCompileExec920170445

  Process terminated due to timeout

  

  Generator: execution of make failed.  Make command was: "/usr/bin/make"
...
---

As expected, emulated build is much slower than native one (even
though we try to use native (amd64) cross(arm)-compiler (and some
tools) instead of using fully emulated build). Package builds are
also highly concurrent. It seems like cmake timeout for these
compiler tests is too small for this environment and it fires
frequently.

The question is obvious: where is this timeout defined, what value
is it set to exactly and is it tunable?

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amd...@amdmi3.ru  ..:  jabber: amd...@jabber.ru  http://amdmi3.ru
-- 

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


Re: [CMake] CMake + MPI

2015-09-08 Thread Tim Gallagher
The only exception to that (which I am aware of) is if you are on a CRAY system 
where the MPI (and BLAS and LAPACK) are baked into the compiler wrappers (cc, 
ftn, etc). In those situations, you actually do not want to run 
find_package(MPI) or it will throw errors.

Tim

- Original Message -
From: "Andreas Naumann" 
To: cmake@cmake.org
Sent: Tuesday, September 8, 2015 8:07:38 AM
Subject: Re: [CMake] CMake + MPI

Hi Nico,

I just use find_package(MPI REQUIRED) and use the given 
MPI_CXX_LIBRARIES and MPI_CXX_INCLUDE_PATH.
Recent mpi wrappers should support support interspection.

Regards,
Andreas

Am 08.09.2015 um 13:01 schrieb Nico Schlömer:
> Hi everyone,
>
> When it comes to compiling and linking, the MPI world is quite a mess. 
> Sometimes, vendors make you link and include certain 
> libraries/directories, sometimes you are supposed to simply use a 
> compiler wrapper, often both.
>
> What's the recommended way of dealing with MPI in CMake? Do you 
> `find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? 
> Do you select a compiler wrapper from within the CMake file? From outside?
>
> Cheers,
> Nico
>
>

-- 

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
-- 

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

Re: [CMake] CMake [nmake target] is adding backslash at end of cd command

2015-09-08 Thread Brad King
On 9/4/2015 10:17 AM, André Netzeband wrote:
> I have a very strange issue with generated nmake makefiles from cmake 3.3.1

Is this problem new in 3.3 or are you just reporting this as the version
you are using?

> In a very complex project with many sub-cmake files (Ogre3D) the 
> generated nmake makefiles (build.make) contain backslashes at the end of 
> some cd commands.

That project turns on the CMAKE_USE_RELATIVE_PATHS option
which is documented as not fully implemented and unsupported:

 http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_USE_RELATIVE_PATHS.html

That option should not be used.

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

Re: [CMake] CMake + MPI

2015-09-08 Thread Andreas Naumann

Hi Nico,

I just use find_package(MPI REQUIRED) and use the given 
MPI_CXX_LIBRARIES and MPI_CXX_INCLUDE_PATH.

Recent mpi wrappers should support support interspection.

Regards,
Andreas

Am 08.09.2015 um 13:01 schrieb Nico Schlömer:

Hi everyone,

When it comes to compiling and linking, the MPI world is quite a mess. 
Sometimes, vendors make you link and include certain 
libraries/directories, sometimes you are supposed to simply use a 
compiler wrapper, often both.


What's the recommended way of dealing with MPI in CMake? Do you 
`find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? 
Do you select a compiler wrapper from within the CMake file? From outside?


Cheers,
Nico




--

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


[CMake] CMake + MPI

2015-09-08 Thread Nico Schlömer
Hi everyone,

When it comes to compiling and linking, the MPI world is quite a mess.
Sometimes, vendors make you link and include certain libraries/directories,
sometimes you are supposed to simply use a compiler wrapper, often both.

What's the recommended way of dealing with MPI in CMake? Do you
`find_package(MPI REQUIRED)` and set LINK_LIBRARIES and INCLUDE_DIRS? Do
you select a compiler wrapper from within the CMake file? From outside?

Cheers,
Nico
-- 

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

Re: [CMake] General cross platform stating place

2015-09-08 Thread Johannes Zarl-Zierl
Hi,

On Monday 07 September 2015 23:47:35 Aaron Gray wrote:
> cmake_minimum_required(VERSION 2.6)

Just as a side note: if you need to support cmake 2.6, that's fine. However, 
if you are starting a new project and do not *need* to limit yourself to cmake 
2.6, develop for a cmake version that as new as can be supported by your 
target platforms. (Even if you chose the newest cmake it will get kind of old 
within the lifetime of your project *g*)


> set(CMAKE_AR /usr/bin/ar CACHE FILEPATH "Archiver")

Why do you set CMAKE_AR?

> It runs fine on Windows with MSVC, seems to be failing on MSYS :-

MSVC doesn't use CMAKE_AR, so there should be no problems here. MSYS obviously 
tries to use CMAKE_AR, which you set to the unlikely (on windows) path of 
/usr/bin/ar.

  Johannes
-- 

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