Macos – cmake generate Xcode project from existing sources

cmakecocoamacos

This is what I have, when I started generation:

iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode .
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch,   CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch
CMake Error at CMakeLists.txt:25 (MESSAGE):
  Binary and source directory cannot be the same


-- Configuring incomplete, errors occurred!

How can I fix it? I'm new to CMake, samples appreciated.

Best Answer

CMake is used to produce out-of-source builds.

The idea here is that you don't mix the files created during compilation with the original source files. In practice, you usually run CMake from a new, empty build directory and give the path to the source directory as an argument.

cd IXCSoftswitch
mkdir build
cd build
cmake -G Xcode ..

All of the files generated by CMake (which could be a lot) will now go into the build subdirectory, while your source directory stays clean of build artifacts.

The concept of out-of-source builds may seem strange at first, but it is actually a very convenient way of working once you get used to it.

Related Topic