Re: [CMake] Doesn't support SHARED libraries during cross compiling using ARM RVCT40.

2011-06-16 Thread Alexander Neundorf
On Thursday 16 June 2011, jianhua wrote:
 Hi Neundorf;
 
 Thanks for your continuous help, you have helped me to solve 2 threads now.
 
 After remove line SET (CMAKE_SYSTEM_NAME Generic)  now it works.
 
 The target device OS is Brew MP, something like eCos, but it is much
 simpler,  powered by Qualcomm.

And this supports shared libraries ?
http://www.brewmp.com/platform/platform

I think the better choice would be to create a Platform/BrewMP.cmake which has 
all the right stuff, and use 
set(CMAKE_SYSTEM_NAME BrewMP)
in your toolchain file.

Alex
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Doesn't support SHARED libraries during cross compiling using ARM RVCT40.

2011-06-15 Thread Alexander Neundorf
On Wednesday 15 June 2011, jianhua wrote:
 Hi All;
 
 No matter Linux or Windows, when try to build SHARED library, it will
 always get the following error message. ADD_LIBRARY(hello SHARED  hello.c)
 
 ADD_LIBRARY for library hello is used with the SHARED option, but the
 target platform supports only STATIC libraries. Building it STATIC
 instead. This may lead to problems.
 
 My question:
 a) Why not support it? Is my CMakeLists any wrong for cross compiling?
 b) Is there any method available to support it?
 
 I have searched in google and found the following threat, but after
 SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE), it still
 got the same error message.
 http://web.archiveorange.com/archive/v/5y7PkYdzD3pM4MX0QSD9
 
 Anyone who has idea about it please help, thanks.
 
   brewmp-arm.cmake
 
 INCLUDE (CMakeForceCompiler)

Are you sure you need this ?
This is in general a bad idea.

 
 SET (CMAKE_SYSTEM_NAME Generic)

Generic operating system does not support shared libs.
Do you have an operation system on your target device ?

Alex
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Doesn't support SHARED libraries during cross compiling using ARM RVCT40.

2011-06-15 Thread jianhua

Hi Neundorf;

Thanks for your continuous help, you have helped me to solve 2 threads now.

After remove line SET (CMAKE_SYSTEM_NAME Generic)  now it works.

The target device OS is Brew MP, something like eCos, but it is much simpler,  
powered by Qualcomm.


At 2011-06-16 01:14:11,Alexander Neundorf a.neundorf-w...@gmx.net wrote:

On Wednesday 15 June 2011, jianhua wrote:
 Hi All;
 
 No matter Linux or Windows, when try to build SHARED library, it will
 always get the following error message. ADD_LIBRARY(hello SHARED  hello.c)
 
 ADD_LIBRARY for library hello is used with the SHARED option, but the
 target platform supports only STATIC libraries. Building it STATIC
 instead. This may lead to problems.
 
 My question:
 a) Why not support it? Is my CMakeLists any wrong for cross compiling?
 b) Is there any method available to support it?
 
 I have searched in google and found the following threat, but after
 SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE), it still
 got the same error message.
 http://web.archiveorange.com/archive/v/5y7PkYdzD3pM4MX0QSD9
 
 Anyone who has idea about it please help, thanks.
 
   brewmp-arm.cmake
 
 INCLUDE (CMakeForceCompiler)

Are you sure you need this ?
This is in general a bad idea.

 
 SET (CMAKE_SYSTEM_NAME Generic)

Generic operating system does not support shared libs.
Do you have an operation system on your target device ?

Alex
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] Doesn't support SHARED libraries during cross compiling using ARM RVCT40.

2011-06-14 Thread jianhua
Hi All;

No matter Linux or Windows, when try to build SHARED library, it will always 
get the following error message. 
ADD_LIBRARY(hello SHARED  hello.c)

ADD_LIBRARY for library hello is used with the SHARED option, but the target 
platform supports only STATIC libraries. Building it STATIC instead. This may 
lead to problems.

My question:
a) Why not support it? Is my CMakeLists any wrong for cross compiling?
b) Is there any method available to support it?

I have searched in google and found the following threat, but after 
SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE), it still got 
the same error message.
http://web.archiveorange.com/archive/v/5y7PkYdzD3pM4MX0QSD9

Anyone who has idea about it please help, thanks. 

  brewmp-arm.cmake
INCLUDE (CMakeForceCompiler)

SET (CMAKE_SYSTEM_NAME Generic)
SET (CMAKE_SYSTEM_VERSION 1)
SET (CMAKE_SYSTEM_PROCESSOR arm)
SET (CMAKE_CROSSCOMPILING 1)

SET (RVCT40BIN $ENV{RVCT40BIN})
SET (BREWMP_PLATFORM $ENV{BREWMPSDK})

SET (_CMAKE_TOOLCHAIN_PREFIX arm)
SET (_CMAKE_TOOLCHAIN_LOCATION ${RVCT40BIN})

find_file(ARMCC armcc ${RVCT40BIN})
CMAKE_FORCE_C_COMPILER (${ARMCC} ArmBMPCross)
CMAKE_FORCE_CXX_COMPILER (${ARMCC} ArmBMPCross)
   
set (CMAKE_C_FLAGS --cpu ARM9TDMI --apcs /noropi/interwork/norwpi --littleend 
--split_sections --fpu=softvfp --exceptions --no_implicit_include 
${BREWMP_INCLUDE} ${BREWMP_DEFINE} CACHE STRING c flags FORCE)
set (CMAKE_CXX_FLAGS --cpu ARM9TDMI --apcs /noropi/interwork/norwpi 
--littleend --split_sections --fpu=softvfp --exceptions --no_implicit_include 
${BREWMP_INCLUDE} ${BREWMP_DEFINE} CACHE STRING c++ flags FORCE)

SET (CMAKE_C_CREATE_STATIC_LIBRARY CMAKE_AR --create -cr LINK_FLAGS 
TARGET OBJECTS)
SET (CMAKE_CXX_CREATE_STATIC_LIBRARY CMAKE_AR --create -cr LINK_FLAGS 
TARGET OBJECTS)


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Doesn't support SHARED libraries during cross compiling using ARM RVCT40.

2011-06-14 Thread jianhua
The background of this question is that I want to build one BrewMP project, the 
compiler is ARM RVCT40. 

Original build method is below:
1.  Build many static libraries.
2.  Link them to elf.
3.  Create mod file, final one.

Now What I need to do is to achieve these steps by CMAKE, any idea or support? 
Thanks.

TARGET myapp.elf
C:\progra~1\ARM\RVCT\Programs\4.0\650\win_32-pentium\armlink -o myapp.elf 
--vfemode=off  --split --reloc  --ro_base 0 --entry AEEMod_Load 
.\NavObj\AEEAppGen.o .\NavObj\AEEModGen.o .\NavObj\TeleNavAppUi.o 
.\NavObj\cpl.l .\NavObj\cis.l .\NavObj\cpf_ui.l .\NavObj\cpf_lbs.l 
.\NavObj\myapp.l --first AEEMod_Load
---
TARGET myapp.mod
.\elf2mod  myapp.elf  -output myapp.mod
elf2mod: RelocMod ro-base=0x200  rw-base=0x126040
elf2mod: Created myapp.mod



At 2011-06-15 09:43:09,jianhua yujianhua1...@126.com wrote:
Hi All;

No matter Linux or Windows, when try to build SHARED library, it will always 
get the following error message. 
ADD_LIBRARY(hello SHARED  hello.c)

ADD_LIBRARY for library hello is used with the SHARED option, but the target 
platform supports only STATIC libraries. Building it STATIC instead. This may 
lead to problems.

My question:
a) Why not support it? Is my CMakeLists any wrong for cross compiling?
b) Is there any method available to support it?

I have searched in google and found the following threat, but after 
SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE), it still got 
the same error message.
http://web.archiveorange.com/archive/v/5y7PkYdzD3pM4MX0QSD9

Anyone who has idea about it please help, thanks. 

  brewmp-arm.cmake
INCLUDE (CMakeForceCompiler)

SET (CMAKE_SYSTEM_NAME Generic)
SET (CMAKE_SYST EM_VERSION 1)
SET (CMAKE_SYSTEM_PROCESSOR arm)
SET (CMAKE_CROSSCOMPILING 1)

SET (RVCT40BIN $ENV{RVCT40BIN})
SET (BREWMP_PLATFORM $ENV{BREWMPSDK})

SET (_CMAKE_TOOLCHAIN_PREFIX arm)
SET (_CMAKE_TOOLCHAIN_LOCATION ${RVCT40BIN})

find_file(ARMCC armcc ${RVCT40BIN})
CMAKE_FORCE_C_COMPILER (${ARMCC} ArmBMPCross)
CMAKE_FORCE_CXX_COMPILER (${ARMCC} ArmBMPCross)
   
set (CMAKE_C_FLAGS --cpu ARM9TDMI --apcs /noropi/interwork/norwpi --littleend 
--split_sections --fpu=softvfp --exceptions --no_implicit_include 
${BREWMP_INCLUDE} ${BREWMP_DEFINE} CACHE STRING c flags FORCE)
set (CMAKE_CXX_FLAGS --cpu ARM9TDMI --apcs /noropi/interwork/norwpi 
--littleend --split_sections --fpu=softvfp --exceptions --no_implicit_include 
${BREWMP_INCLUDE} ${BREWMP_DEFINE} CACHE STRING c++ flags FORCE)

SET (CMAKE_C_CREATE_STATIC_LIBRARY CMAKE_AR --cr eate -cr LINK_FLAGS 
TARGET OBJECTS)
SET (CMAKE_CXX_CREATE_STATIC_LIBRARY CMAKE_AR --create -cr LINK_FLAGS 
TARGET OBJECTS)




___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake