chiffa
chiffa

Reputation: 2088

Viewing CPython Code in CLion

Sorry for a question that might appear stupid to more experienced developers: I am still a newcomer to C and C++.

I come from Python/Java development land and am trying to get a better insight into C and C++. I installed JetBrains CLion and cloned CPython mercurial repository. However when I started looking at the source code, I realized that Clion was highlighting a lot of constructs that seemed to be working. For instance: enter image description here

Or

enter image description here

As far as I can see, Clion seems the have problem with the identation style of Python, C code, but once again, I might be wrong.

How Clion configurations can be altered for it to properly parse the CPython code?

Upvotes: 2

Views: 3510

Answers (2)

mrh1997
mrh1997

Reputation: 1138

As mentioned in the above answer you need a CMake Project to allow CLion to build Python. In fact there is already a CMakeList.txt-files for CPython, that is maintained independently from the official sources:

https://github.com/python-cmake-buildsystem/python-cmake-buildsystem

I didn't test it with CLion but it should do the job...

Upvotes: 5

rbrich
rbrich

Reputation: 135

CPython uses GNU Autotools for the build, but that toolset is not supported by CLion. See issues CPP-494 and CPP-193. CLion currently supports only one build system - CMake.

You can create your own CMakeLists.txt file and list the sources in there. This will help CLion to understand the structure of the source tree and allow it to find the headers etc:

cmake_minimum_required(VERSION 3.0)
project(cpython)

file(GLOB SOURCE_FILES
    Python/*.c
    Parser/*.c
    Objects/*.c
    Modules/*.c)

include_directories(Include)

add_executable(cpython ${SOURCE_FILES})

For the actual build, use standard build tools from command line. Alternatively, custom command can be added to CMakeLists.txt to call make. See add_custom_command for that.

Upvotes: 7

Related Questions