Here is how I got around what you describe. My project sounds pretty similar
in how it is set up
when building the exe:
IF (PLATFORM MATCHES "win32")
IF (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005")
SET_TARGET_PROPERTIES (${project_exe} PROPERTIES
LINK_FLAGS "$(TargetDir)/project_shared.lib"
)
ELSE (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005") #nmake makefiles
SET_TARGET_PROPERTIES (${project_exe} PROPERTIES
LINK_FLAGS "${LIBRARY_OUTPUT_PATH}/project_shared.lib"
)
ENDIF (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005")
ELSE (PLATFORM MATCHES "win32")
SET_TARGET_PROPERTIES (${project_exe} PROPERTIES
LINK_FLAGS "-L${LIBRARY_OUTPUT_PATH} -lproject_shared"
)
ENDIF (PLATFORM MATCHES "win32")
building shared library:
IF (PLATFORM MATCHES "win32")
# nothing
ELSE (PLATFORM MATCHES "win32")
SET_TARGET_PROPERTIES (${project_SHARED} PROPERTIES
PREFIX "lib"
)
ENDIF (PLATFORM MATCHES "win32")
building a plugin:
IF (PLATFORM MATCHES "win32")
IF (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005")
SET_TARGET_PROPERTIES (${PLUGIN_NAME} PROPERTIES
LINK_FLAGS "$(TargetDir)/project_shared.lib"
)
ELSE (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005") #nmake
SET_TARGET_PROPERTIES (${PLUGIN_NAME} PROPERTIES
LINK_FLAGS "${LIBRARY_OUTPUT_PATH}/project_shared.lib"
)
ENDIF (CMAKE_GENERATOR MATCHES "Visual Studio 8 2005")
ELSE (PLATFORM MATCHES "win32")
SET_TARGET_PROPERTIES (${PLUGIN_NAME} PROPERTIES
LINK_FLAGS "-L${LIBRARY_OUTPUT_PATH} -lproject_shared"
)
ENDIF (PLATFORM MATCHES "win32")
exe depends on shared library
plugins depend on shared library
the plugins in my case, are the ones that depend on the third party
libraries
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake