@@ -15,8 +15,20 @@ set(CFE_CXX_FLAGS "${CFE_CXX_FLAGS} -g")
1515set (CFE_CXX_FLAGS "${CFE_CXX_FLAGS} -Wall \
1616 -Wsign-compare" )
1717
18+ # Must happen before adding EXPORT_C_API to CFE_CXX_FLAGS
19+ set (CFE_CXX_FLAGS "${CFE_CXX_FLAGS} -DEXPORT_C_API" )
20+ set (PLUGIN_CXX_FLAGS "${CFE_CXX_FLAGS} -DEXPORT_PLUGIN_API" )
21+
1822set (CMAKE_MACOSX_RPATH TRUE )
1923
24+ set (PLUGIN_SOURCES
25+ # Plugin API files
26+ ${PROJECT_SOURCE_DIR} /plugin-api/PluginConfig.h
27+ ${PROJECT_SOURCE_DIR} /plugin-api/DeclarationInterceptor.h
28+ ${PROJECT_SOURCE_DIR} /plugin-api/SourceInspector.h
29+ ${PROJECT_SOURCE_DIR} /plugin-api/VisitorObserver.h
30+ )
31+
2032set (CFE_SOURCES
2133 # Main
2234 ${PROJECT_SOURCE_DIR} /API.h
@@ -103,12 +115,6 @@ set(CFE_SOURCES
103115 ${PROJECT_SOURCE_DIR} /names /DeclarationName.h
104116 ${PROJECT_SOURCE_DIR} /names /DeclarationNames.cpp
105117 ${PROJECT_SOURCE_DIR} /names /DeclarationNames.h
106-
107- # Plugin API files
108- ${PROJECT_SOURCE_DIR} /plugin-api/PluginConfig.h
109- ${PROJECT_SOURCE_DIR} /plugin-api/DeclarationInterceptor.h
110- ${PROJECT_SOURCE_DIR} /plugin-api/SourceInspector.h
111- ${PROJECT_SOURCE_DIR} /plugin-api/VisitorObserver.h
112118
113119 # Tests
114120 ${PROJECT_SOURCE_DIR} /tests/TestBinder.h
@@ -125,6 +131,13 @@ set(CFE_SOURCES
125131 ${PROJECT_SOURCE_DIR} /tests/TestTypeChecker.cpp
126132)
127133
134+ foreach (file ${PLUGIN_SOURCES} )
135+ set_source_files_properties (
136+ ${file} PROPERTIES
137+ COMPILE_FLAGS "${PLUGIN_CXX_FLAGS} "
138+ )
139+ endforeach ()
140+
128141foreach (file ${CFE_SOURCES} )
129142 set_source_files_properties (
130143 ${file} PROPERTIES
@@ -138,7 +151,7 @@ include_directories(
138151)
139152
140153set (LIBRARY psychecfe)
141- add_library (${LIBRARY} SHARED ${CFE_SOURCES} )
154+ add_library (${LIBRARY} SHARED ${CFE_SOURCES} ${PLUGIN_SOURCES} )
142155
143156target_link_libraries (${LIBRARY} psychecommon)
144157
0 commit comments