The code is in Platforms/SunOS.cmake:
IF(CMAKE_COMPILER_IS_GNUCXX)
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
<CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS>
<LINK_LIBRARIES>")
ELSE(CMAKE_COMPILER_IS_GNUCC)
If libstdc++ was automatically added, it would break the builds for many
solaris boxes. Sun shipped a gcc compiler that did not have a shared
libstdc++, and the .a did not have -PIC compiled .o files, so if we used g++
or automatically added libstdc++ (same thing) it would break builds. That said,
maybe things have changed. Any the above stuff can be changed on a
per project basis.
-Bill
At 11:56 AM 8/7/2006, Michael Bell wrote:
>Bill,
>
>So cmake detects solaris and decides to use gcc? If I use g++, it
>works for me now (with gcc 3.3.1). Should I file this as a bug?
>
>Using g++ would be the perferable result for me, but at the very
>least, libstdc++ should automatically be added at the linking step.
>When libstc++ is not linked, the resulting run-time error message was
>difficult to debug, to say the least.
>
>thanks,
>michael
>
>On 8/7/06, William A. Hoffman <[EMAIL PROTECTED]> wrote:
>>I think that the problem was sun was shipping with a gcc that did not have
>>a shared stdc++, so if you created shared libraries with g++ they did not
>>link.
>>
>>-Bill
>>
>>
>>At 10:36 AM 8/7/2006, Michael Bell wrote:
>>>Hi,
>>>
>>>When compiling ITK2.8 on Solaris 5.9 with gcc 3.3.1, files are being
>>>compiled correctly with g++, but libraries are being linked with gcc.
>>> From a random link.txt:
>>>gcc -fPIC -shared -Wl,-hlibITKIO.so.2.8 -o ../../bin/libITKIO.so.2.8.0
>>>...
>>>
>>>This problem requires me to manually link stdc++.
>>>
>>>Compiling from the exact same codebase on linux works correctly. I
>>>compared the cmake configuration, and they are the same (different
>>>paths to the same programs), except linux uses gmake while solaris
>>>uses make.
>>>
>>>Why would solaris use gcc to link? What can I do about it?
>>>
>>>thanks,
>>>michael
>>>
>>>
>>>--
>>>[EMAIL PROTECTED]
>>>_______________________________________________
>>>CMake mailing list
>>>[email protected]
>>>http://www.cmake.org/mailman/listinfo/cmake
>>
>
>
>--
>[EMAIL PROTECTED]
>_______________________________________________
>CMake mailing list
>[email protected]
>http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake