CodeXL has several submodules. Clone with the --recursive
flag to download all the source code required to build. For example:
git clone --recursive https://github.com/GPUOpen-Tools/CodeXL
To initialize the submodules after cloning the main repository run the following commands:
git submodule init
git submodule update
CodeXL uses:
- Radeon Compute Profiler for profiling OpenCL and HSA (Linux only) compute applications. See https://github.com/GPUOpen-Tools/RCP.
- Radeon Graphics Analyzer for analyzing Shaders and OpenCL Kernels. See https://github.com/GPUOpen-Tools/RGA.
To fetch these command line tools run the following command:
python CodeXL/Scripts/FetchDependencies.py
- Latest AMD Radeon Software from http://support.amd.com/en-us/download
- Microsoft Visual Studio 2015 Community Edition or higher + Update 1
- Windows 10 SDK Version 10.0.10586.0 from https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
- QT 5.9.5 from https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-windows-x86-5.9.5.exe. Make sure you choose the "msvc2015 32-bit" and "Qt WebEngine" options at a minimum while installing.
- Open the following solution in Visual Studio: CodeXL\AllProjectsBuild\CodeXL-AllProjects.sln
- Build 64 bit configuration
- Build 32 bit configuration
- Most of project configurations are defined in dedicated property sheets
- In order to alter windows SDK installation directory use "Global-WindowsSDK" property sheet and change user macro "WindowsSDKDir"
- If Qt 5.9.5 has been installed in the default path, nothing additional needs to be done. If Qt 5.9.5 has been installed in a different location, prior to building CodeXL, set an environment variable "QT_DIR" with a value equal to the msvc2015 directroy in the Qt installation (the equivalent of C:\Qt\5.9.5\5.9.5\msvc2015 in a default installation).
- CodeXL uses the SCons build system on Linux.
- CodeXL requires GCC version 4.8.5 or higher.
- CodeXL requires Qt version 5.9.5. Please install from https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-linux-x64-5.9.5.run. Make sure you choose the "Desktop gcc 64-bit" and "Qt WebEngine" options at a minimum while installing.
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libglu1-mesa-dev mesa-common-dev libgtk2.0-dev
sudo apt-get install zlib1g-dev libx11-dev:i386
sudo apt-get install scons
sudo apt-get install libjpeg9-dev
sudo apt-get install libfltk1.3-dev
sudo apt-get install libboost-all-dev
wget http://prdownloads.sourceforge.net/scons/scons-2.5.0-1.noarch.rpm
sudo rpm -ivh scons-2.5.0-1.noarch.rpm
sudo yum install libX11-devel mesa-libGL-devel mesa-libGLU-devel
sudo yum install zlib-devel gtk2-devel libpng12
sudo yum install fltk-devel libjpeg-turbo-devel
yum -y install glibc-devel.i686 libstdc++-static.i686
- CD to local copy of /CodeXL/Util/linux/
- Run
./buildCodeXLFullLinuxProjects
- all SCons general switches, like -c for clean , more info at http://scons.org/doc/HTML/scons-man.html
- -j specify the number of concurrent jobs (-j6).
- CXL_build=[debug|release] - build type. If not stated, the default value is release.
- CXL_build_verbose=1 - verbose output
- CXL_boost_lib_dir=[path to boost libraries] - override the bundled boost libraries with files in given path
- CXL_boost_include_dir=[path to boost headers] - override the bundled boost headers with files in given path
- CXL_qt_dir=[path to qt gcc_64 dir] - override the Qt base gcc_64 directory if Qt was not installed in the default location (~/Qt5.9.5/5.9.5/gcc_64 or /opt/Qt5.9.5/5.9.5/gcc_64)
- CXL_hsa=[true|false] - define to true in order to build the HSA parts. If not stated, the default value is false (skip HSA)
- -c - performs a "clean" of all build targets.
- Since recent Ubuntu versions come with newer gcc versions, use the installed system boost libraries:
./buildCodeXLFullLinuxProjects -j5 CXL\_build=debug CXL\_boost\_lib\_dir=/usr/lib/x86\_64-linux-gnu CXL\_boost\_include\_dir=/usr/include/boost
The folder containing the CodeXL binaries can be found in the root folder of CodeXL (Output_x86_64).
- If a license agreement is not displayed, copy the file CodeXL/Setup/Legal/Public/EndUserLicenseAgreement-Linux.htm to the Legal subdirectory in the CodeXL binaries folder (Output_x86_64/release/bin/Legal)
- If CodeXL displays an error indicating that it is unable to establish a connection with the CodeXL remote agent, copy the CodeXLRemoteAgentConfig.xml file into your CodeXL binary folder. The source file is in the folder CodeXL/CodeXL/Remote/AMDTRemoteAgent/CodeXLRemoteAgentConfig.xml