cmake - Cross-compiling - retrieve target CPU and version -


i'm cross-compiling vxworks using cmake. when run cmake first time have provide informations compiler, target os etc..

in cross-compile dialogue there 3 target system settings set:

  1. operating system
  2. version
  3. processor

(followed compiler etc.)

while can retrieve first 1 using cmake_system_name, can't version , processor. both return empty string.

here's example:

message("cmake_system_processor:   ${cmake_system_processor}") message("cmake_system_version:   ${cmake_system_version}") 

output:

cmake_system_processor:    cmake_system_version:   

my cmake version 2.8.10.2 , target os vxworks (if matters - compiler windriver gnu).

how can version , processor i've set in beginning? or impossible if cross-compile os that's unknown cmake?

(btw. compiling works fine)

it seems not possible far. i'm getting empty strings time.

however, there's working solution, , guess it's better way:

before:

i specified cross-compile settings (compiler , target system, see question), runs on vxworks specific parts in cmake list (checked if( vxworks ) ensure it's not executed when other systems used).

now (solution):

i wrote toolchain file , platform files vxworks , required processors.

cons:

  • i have write files:
    • toolchain file
    • platform file vxworks
    • further platform files each processor (and processor type, gnu , diab)

pros:

  • cmake list cleaner now
  • separate project , target settings
  • separate system , processor settings - easy add new processors in clear way keep system settings
  • i write settings in toolchain file , cmake loads related system / processor settings
  • ...

Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -