Hi Tyler,

Actually, I was hoping that CMake would not pass on any preprocessor
definitions to the assembler, because -D is in general not understood by
an assembler as a preprocessor directive. Do I need to change any of the
CMakeASM*Information, CMakeDetermineASM*Compiler or
CMakeTestASM*Compiler macros? Or is it a bug in CMake?

Using remove_definition requires that I know exactly which definitions
to remove. However, depending on the type of build (debug, release,
etc), these definitions will be different, so that's kind of difficult
to figure out (but not impossible, as long as the user does not add
definitions on the command line). I use add_definition() instead of
set_target_properties() to make sure that *every* source is compiled
with the same definitions.

Best regards,
Marcel Loose.

-----Original Message-----
From: Tyler Roscoe <[email protected]>
To: Marcel Loose <[email protected]>
Cc: [email protected]
Subject: Re: [CMake] Problem with ASM and COMPILE_DEFINITIONS
Date: Mon, 25 May 2009 09:22:36 -0700

On Mon, May 25, 2009 at 12:13:13PM +0200, Marcel Loose wrote:
> I get compilation errors, because CMake passes -D<def> definitions to
> the assembler, but the assembler doesn't accept preprocessor
> definitions. These definitions were set a number of directory levels
> higher, using add_definitions(). How can I avoid that these definitions
> are put on the command line to the assembler?

How about:

http://www.cmake.org/cmake/help/cmake2.6docs.html#command:remove_definitions

Another route is to switch from using add_definitions() to using
set_target_properties(... COMPILE_DEFINITIONS ...) with variables
declared in your higher-level CMakeLists and mangled, perhaps with
regular expressions, in the CMakeLists for your assembler project.

tyler

_______________________________________________
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

Reply via email to