[CMake] Separate compile flags for ASM/C compilers and lists
lorddoskias
lorddoskias at gmail.com
Fri Sep 13 13:30:38 EDT 2013
Hello list,
I have a couple of questions whose answers I couldn't find. So first
thing's first - I have the following function which I intend to use to
add a number of library targets:
function(build_mps_m3_lib LIBRARY_NAME C_SOURCE ASM_SOURCE CPU_TYPE)
set_property(SOURCE ${${C_SOURCE}} PROPERTY COMPILE_FLAGS "-g
--cpu=${CPU_TYPE} -O0")
set_property(SOURCE ${${ASM_SOURCE}} PROPERTY COMPILE_FLAGS "-g
--cpu=${CPU_TYPE} --apcs=interwork")
add_library(${LIBRARY_NAME} ${${SOURCE}} ${${ASM_SOURCE}})
set(TARGET_DIR "mps-m3")
set(ASM_COMPILE_FLAGS "-g --cpu=${CPU_TYPE} --apcs=interwork")
#custom armasm command line
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER>
${ASM_COMPILE_FLAGS} <SOURCE> -o <OBJECT>")
#set_target_properties(${LIBRARY_NAME} PROPERTIES C_COMPILE_FLAGS
"-g --cpu=${CPU_TYPE} -O0")
endfunction(build_mps_m3_lib)
What I want to achieve is to have clear separation between the ASM
compiler flags and the C compiler flags. Since I'm not using the GNU
(ergo GCC) toolchain I cannot simply set the properties on the resulting
library target to set the COMPILE_FLAGS. Essentially what I want to
achieve is being able to set arbitrary compile options for the C and ASM
compiler WITHOUT both of those interfering.
My second questions: The way I pass the lists of sources is kind of ugly
- e.g. I'm, in-essence, doing double indirection the ${${blah}} thingy.
What would be the correct way. I tried with ${blah-list} but this skewed
the arguments order
Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130913/040009b0/attachment.htm>
More information about the CMake
mailing list