Build from source
Last updated
Last updated
dcmqi
should build on Linux, Mac and Windows. You can confirm this is the case for the current version of the code by looking at the continuous integration (CI) platforms.
Linux build:
Windows build:
Mac OS X build:
Note that the failure icons indicate that something in the dashboard script failed - this could be build error, failed test, failed artifact upload, or failed download of a prerequisite. You will need to check the console output for the specific platform to see if there are problems with the build.
We use git/github to maintain the repository. You can clone the repository using this command:
git clone https://github.com/QIICR/dcmqi.git
If you are not familiar with git, there are many guides to help you get started, such as this one that should take about 10 minutes: https://guides.github.com/activities/hello-world/.
developer environment for your platform (compiler, git)
recent version of cmake
Note that you can also see the specific components and steps needed to build dcmqi by looking at the CI configuration scripts (circle.yml for Lunux, .travis.yml for Mac, and appveyor.yml for Windows).
If you would like to run dcmqi tests, you will need to install few extra tools for validating JSON files. These tools depend on npm
installed as part of Node.js, and are the following:
Both can be installed with npm as follows:
With the superbuild approach, all of the dependencies will be build as part of the build process. This approach is the easiest, but also most time-consuming.
1. create dcmqi-superbuild
directory
2. configure the project by running cmake <dcmqi source directory>
from dcmqi-superbuild
3. run make
from the superbuild directory
You can use this approach if you have (some of) the dependency libraries already built on your platform. dcmqi dependencies are
To reuse builds of those libraries, you will need to pass the corresponding variables to cmake
as shown in the example below:
Under certain conditions, line endings may be incorrectly initialized for your platform by the checkout process (reported by @CJGoch in https://github.com/QIICR/dcmqi/issues/14), which may result in errors like below:
To resolve this, check your global git settings. If you have autocrlf
set, you may try setting it to auto
.