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
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake