IDL Scripts - EMsoft-org/EMsoft GitHub Wiki
IDL Visualization Scripts
As part of the EMsoft public distribution we make availabe a series of visualization scripts written in the Interactive Data Language (IDL). These scripts are utility scripts that may be of use to some EMsoft users. Unfortunately, IDL is not free and requires a license; many universities have site licenses, so you should check with your IT or software department. In this document, we will explain here one step you need to take to enable the use of the IDL scripts.
Generating the Dynamic Library libEMsoftLib
If you are working on a Windows 10 platform, then you should not have to do this step, since all libraries are already dynamic libraries (dll).
The IDL scripts require access to a dynamic EMsoft library; by default, EMsoft is compiled with static libraries on Mac OS X and Linux, so if you are compiling the package yourself based on the source code repositories, then you will have to generate the dynamic library yourself. We will assume that you have the EMsoft_SDK installed, that the source code from the public repository is installed in the EMsoftPublic folder, and that you built the package in a EMsoftBuild/Release folder. The EMsoftPublic folder is assumed to be at the same level as the EMsoftBuild folder.
Using a terminal window, navigate to the EMsoftBuild/Release folder and execute the following command:
ccmake ../../EMsoftPublic
This will create an interface with variables listed in the left column, and values on the right (superimposed on a dark background). Use the arrow keys to bring the cursor to the second variable, BUILD_SHARED_LIBS; press enter to toggle the value to ON. Then press c to configure, and g to generate; this will end the program and return you to the command line. Enter
make -j EMsoftLib
This will recompile the sources if necessary and generate a dynamic library called libEMsoftLib.dylib (on Mac OS X) or libEMsoftLib.so (on Linux). Then, rerun the ccmake command above and set BUILD_SHARED_LIBS to OFF.
Finally, make sure that the EMsoftLibraryLocation parameter in the configuration file is set to the Bin folder than contains the dynamic library.