Building on CLion UE4 for Linux Tutorial v1.1
Hello, hopefully I am not too late to reply. I’ve been experimenting with Clion and have so far gotten it to work just as well as compiling Linux on Mac with xcode. The instructions are very similar, although you will need to make some adjustments.
To build UE4 on linux, you will need to first generate the CMakeFile.txt using the “./GenerateProjectFiles.sh” command with the terminal.
Afterwards, open the project (the Unreal Engine folder) with Clion. It will then proceed to scan and index the files, once that is done, you will need to configure the build. On the top dropdown menu that shows all the build Targets, first select ShaderCompilerWorker. Configure the settings so that the executable is FakeTarget and the working directory is the root folder of your UnrealEngine. For right now, ignore filling in the ProgramArguments field.
Next, you want to click the build button and let it finish building ShaderCompilerWorker. It will scan the dependencies and build the module. After it finishes, it says that it will begin scanning for dependencies for FakeTarget. At this point, you can go ahead and click the stop button (near bottom left corner red square button). This will stop the build and let you continue onto the next step.
Once it stops, go back to the top drop down menu and select UE4Editor. Then Edit the Configurations, you will again need to put the same settings from before. Select FakeTarget as executable, directory as your UnrealEngine root folder. Leave ProgramArgument empty for right now. Then start the build. It will finish and you will need to stop the build once it starts scanning dependencies for FakeTarget.
Finally, once the build is stopped, go back to edit configurations for UE4Editor and change the executable to UE4Editor found in /Engine/Binaries/Linux.
If you want to build and compile your project, then you must, either use this command or create the CmakeFile from the editor.
$ ./GenerateProjectFiles.sh -project="/home/user/Documents/Unreal Projects/MyProject/MyProject.uproject" -game -engine
To create the CmakeFile from the editor, go to plugins and make sure that CLion is turned on. Afterwards, go to your Editor Preferences, select the “Source Code” tab, and in the dropdown menu select CLion. Lastly, in the File Menu, you should now see the option to “Refresh Clion”. This will generate the Cmakefiles. Also you will see the option “Open Clion”. Depending on how you installed Clion, to run CLion from the editor you may need to modify the file “Engine/Plugins/Developer/CLionSourceCodeAccess/Source/CLionSourceCodeAcess/Private/CLionSourceCodeAccessor.cpp”.
Replace “/opt/clion/bin/clion.sh” with your install location.
// Linux Default Install
By following this tutorial it will create a bare bones light UE4 editor. I am not certain if these instructions have equivalent results to those on “the building for Macs” instructions, but I have found that they work and if you need to compile the other modules, you can either follow similar steps to those above or simply compile the rest using the traditional “make” command in the terminal. But this will allow Linux users to build, test, and compile UE4 using the CLion IDE instead of only relying on Visual Studios.
I have tested this to work on UE4.15 and UE4.22, will most likely work with all versions in between although the in Editor menus for CLion differ. Also for older versions of UE4 you may need to manually add these lines in order for Cmake to compile the engine with Clang thus solve the GCC error you’re receiving. And yes, I know it says clang+±6.0, but for some reason that is how you activate the Linux ToolChain that comes with the engine and it will automatically select the correct version of Clang.
Add these lines to your CMakeTextLists.txt in order to compiler UE4 versions older than 4.18
# CMake Flags
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1 CACHE BOOL "" FORCE)
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1 CACHE BOOL "" FORCE)
When opening your Unreal Project, you will need to configure the run configuration. For the executable, select the UE4Editor which is found inside the directory “/Engine/Binaries/Linux”. For ProgramArgument put your Unreal Project,
For working directory, use the directory of your project.