I think this will work for what a need to do now, but it seems to be awful lot 
of work for something that should be pretty straight forward to do.  Would it 
be worthwhile to rethink how CMake links static libraries under windows?

Bryan Walsh

---- Ben Ratzlaff <[EMAIL PROTECTED]> wrote: 
> 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

Reply via email to