[CMake] Symbian support

Alexander Neundorf a.neundorf-work at gmx.net
Wed Nov 7 18:35:28 EST 2007


Hi Salvatore,

On Monday 05 November 2007, Salvatore Iovene wrote:
> On 11/3/07, Alexander Neundorf <a.neundorf-work at gmx.net> wrote:
...

> > Which compiler do you use ?
>
> mwccsym2.exe (Nokia codewarrior C/C++ compiler for winscw platform) and
> gcce (for GCCE platform)

Please put the attached CMakeDetermineC/CXXCompiler.c/cpp files into Modules/, 
then cmake should say "The C compiler identification is Metrowerks". This 
means it has detected the compiler correctly.
If you're lucky you don't have to change anything, and the generic compiler 
flags will work with mwcc, otherwise you have to create a file 
Modules/Platform/Metrowerks.cmake, where the compiler specific variables are 
set (see e.g. Linux-SunPro-c.cmake).
For gcce you shouldn't have to do that.

> > What are the naming conventions for object files, static libs, shared
> > libs, executables on Symbian ?
>
> objfilename.o, staticlibname.lib, dllname.dll, executable.exe
>

Attached you can find a file Symbian.cmake, which you should put into 
Modules/Platform/, then cmake should load these settings (if you use 
CMAKE_SYSTEM_NAME=Symbian). Please have a look in this file, at the end there 
are some lines commented out, you should remove the comments from one of the 
two options.

Let me know how it works.

Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CMakeCCompilerId.c
Type: text/x-csrc
Size: 1946 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/cmake/attachments/20071108/2cd0718a/CMakeCCompilerId.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CMakeCXXCompilerId.cpp
Type: text/x-c++src
Size: 1818 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/cmake/attachments/20071108/2cd0718a/CMakeCXXCompilerId.cpp
-------------- next part --------------
# SET(WIN32 1) maybe ?

SET(CMAKE_STATIC_LIBRARY_PREFIX "")
SET(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
SET(CMAKE_SHARED_LIBRARY_PREFIX "")          # lib
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")          # .so
SET(CMAKE_IMPORT_LIBRARY_PREFIX "")
SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
SET(CMAKE_EXECUTABLE_SUFFIX ".exe")          # .exe
SET(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
SET(CMAKE_DL_LIBS "")

SET(CMAKE_FIND_LIBRARY_PREFIXES "")
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")

# for nmake make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
IF(CMAKE_GENERATOR MATCHES "NMake")
  SET(CMAKE_START_TEMP_FILE "@<<\n")
  SET(CMAKE_END_TEMP_FILE "\n<<")
ENDIF(CMAKE_GENERATOR MATCHES "NMake")

SET(SYMBIAN 1)

# is it more like windows ?
# SET(WIN32 1)
# INCLUDE(Platform/WindowsPaths)

# or like unix, e.g. libraries in lib/ ?
# SET(UNIX 1)
# INCLUDE(Platform/UnixPaths)


More information about the CMake mailing list