Statically link with VC++ Runtime (#57)

* Statically link with VC++ Runtime

VC++ Runtime dynamic library may not be available in some cases. Thus,
by doing static linking it makes dll independent of already installed
software and can be used without problems.

Change-Id: I8bb71db2f3dc48bc9ec976cdbb597d2ec812ce54
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>

* Extend static linking of VC++ Runtime

adding MinSizeRel and RelWithDebInfo targets

Change-Id: I740002ca47ad4a65548b9fcad87817f730511c13
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
1 file changed
tree: 57a74c416817d8cb2bde81d046003e84cac1c2aa
  1. inc/
  2. test/
  3. .gitignore
  4. build_using_cmake.bat
  5. CMakeLists.txt
  6. CODE_OF_CONDUCT.md
  7. icd.c
  8. icd.h
  9. icd_dispatch.c
  10. icd_dispatch.h
  11. icd_exports.map
  12. icd_linux.c
  13. icd_windows.c
  14. icd_windows_hkr.c
  15. icd_windows_hkr.h
  16. LICENSE
  17. Makefile
  18. OpenCL.def
  19. OpenCL.rc
  20. README.md
README.md

Building the OpenCL ICD Loader and Tests

The build system will build ICD Loader library (OpenCL.dll or libOpenCL.so), the ICD Loader Test binary (icd_loader_test), and some helper libraries for the test.

Linux

Run “make”

Windows

Run “build_using_cmake.bat”

Running ICD Test

The ICD Test can be run using ctest, which is a companion to cmake. It can also be run directly by executing icd_loader_test(.exe) executable from the bin folder.

Linux

  1. Add driver stub as an ICD echo full/path/to/libOpenCLDriverStub.so > /etc/OpenCL/vendors/test.icd

  2. Run test using ctest make test

Windows

  1. Add driver stub as an ICD by adding appropriate registry value Key for 32-bit apps: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors Key for 64-bit apps: HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors

    Add a REG_DWORD value: Name: c:/full/path/to/OpenCLDriverStub.dll Data: 0

    Note: The build_using_cmake.bat builds ICD test as a 32-bit binary.

  2. Run test using ctest.exe cd build ctest.exe

Cleanup

Manually remove the registry key or .icd files added for running the ICD test.

The “build” and “bin” folders are autogenerated by the build so those may be safely deleted without losing any source code (on Linux “make clobber” will delete them).