[CMake] import/export and DLL's

Totte Karlsson totte at dunescientific.com
Tue Dec 6 03:47:15 EST 2011


Hi,
I have a project where several DLL's are to be built, say A, B and C.
B needs to import functions/classes from A, and C need to import functions from 
both A and B.
In each library, a flag is defined for exporting or importing, i.e. 
__declspec(dllexport) or __declspec(import)

The build order is first A, then B and then C.
I have defined build flags in CMakeList.txt files as, in A for example
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_A_DLL")

in B
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_B_DLL")
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_A_DLL")

and in C
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_C_DLL")
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_A_DLL")
     SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_B_DLL")

The only dll that seem to be built OK is A. In B and C, nothing seem to be 
exported.
Any tips on how to deal with this?
I am using CodeGear platform. Building static libs works fine.

-totte

-- 
.........................
Totte Karlsson, Ph.D.
Dune Scientific, LLC
425-296 1980 (office)
425-780 9648 (cell)
www.dunescientific.com
.........................




More information about the CMake mailing list