It generates Makefile by default, but it can also generate project files 
for MSVC or XCode, or you can generate Ninja files which can be quite a bit 
faster than make for incremental builds. At the moment the only thing we're 
using it for by default is libgit2, which uses cmake as its only build 
system. If you install a binary of libgit2 and set USE_SYSTEM_LIBGIT2=1 in 
your Make.user file, then you shouldn't need cmake at the moment. There was 
some talk of trying to hand-write simple makefiles for libgit2 to avoid the 
cmake dependency, but making that work across every platform we support 
would be a lot of work. Cmake's a little strange and different, but once 
you get used to it it's not that bad. Certainly the least bad option out of 
every alternative that provides equivalent functionality.

It might be a good idea to leverage cmake for further improvements in 
Julia's build system, such as checking that all dependencies are properly 
installed and working on your machine in a "configure"-like step before 
actually starting to compile everything. There's some early work starting 
in this direction.


On Friday, December 26, 2014 2:24:01 PM UTC-8, Kevin Squire wrote:
>
> My understanding is that cmake is more a replacement for autotools than 
> make, since on *nix platforms (at least), it generates Makefiles. 
>
> Cheers!
>   Kevin 
>
> On Friday, December 26, 2014, Stefan Karpinski  wrote:
>
>> It's sort of unfortunate that we need to depend on both make and cmake, 
>> but c'est la vie – we also depend on both C and Fortran compilers. Life's 
>> complicated when you need to build a lot of software.
>>
>> On Fri, Dec 26, 2014 at 2:14 PM, John Myles White  wrote:
>>
>>> No worries. Adding a cmake dependency is a big change for Julia.
>>>
>>>  -- John
>>>
>>> On Dec 26, 2014, at 2:13 PM, Ethan Anderes  wrote:
>>>
>>> Thanks John. I guess that was obvious from the error message. Sorry for 
>>> the noise.
>>>
>>> --Ethan
>>>
>>> On Friday, December 26, 2014 11:09:04 AM UTC-8, John Myles White wrote:
>>>>
>>>> You need to install cmake and make it available on your path: 
>>>> http://www.cmake.org/download/
>>>>
>>>>  -- John
>>>>
>>>> On Dec 26, 2014, at 2:07 PM, Ethan Anderes  wrote:
>>>>
>>>> Hi Everyone:
>>>>
>>>> I just decided to upgrade to Julia v0.4 and ran into the following 
>>>> error when trying to compile from source (I’m running Yosemite 10.10.1). 
>>>> Anyone else run into this problem and know how to fix it? —Cheers
>>>>
>>>> ================== 
>>>> All 3 tests passed 
>>>> ================== 
>>>> Making check in cxx 
>>>> ================== 
>>>> All 0 tests passed 
>>>> ================== 
>>>> Making check in mpn 
>>>> Making check in mpz 
>>>> Making check in mpq 
>>>> Making check in mpf 
>>>> Making check in printf 
>>>> Making check in scanf 
>>>> Making check in rand 
>>>> Making check in cxx 
>>>> Making check in demos 
>>>> Making check in calc 
>>>> Making check in expr 
>>>> Making check in tune 
>>>> Making check in doc 
>>>> /bin/sh: cmake: command not found 
>>>> make[2]: *** [libgit2-0.21.3/build/Makefile] Error 127 
>>>> make[1]: *** [julia-release] Error 2 
>>>> make: *** [release] Error 2
>>>>
>>>> ​
>>>>
>>>>
>>>>
>>>
>> 

Reply via email to