[CMake] Is this possible ?
Tyler Roscoe
tyler at cryptio.net
Thu Feb 18 17:15:33 EST 2010
On Thu, Feb 18, 2010 at 05:02:38PM -0500, Benoit Thomas wrote:
> I am trying to do something like this:
>
> function (FOO_DEBUG)
> ...
> endfunction (FOO_DEBUG)
>
> function (FOO_RELEASE)
> ...
> endfunction (FOO_RELEASE)
>
> foreach (CONFIG ${CMAKE_CONFIGURATION_TYPES})
> FOO_${CONFIG}
> endforeach(CONFIG)
>
> But naturally, it doesn't work :(
Check out
http://www.cmake.org/Wiki/CMake/Language_Syntax#Substitution_of_command_names.
Here's an example of how I use it in my project:
# If this buildable needs to modify CMAKE_CXX_FLAGS*, it will
# create a macro to handle the modifications.
if (COMMAND ${PROJECT_NAME}_compiler_linker_flags)
# We would like to just call
# ${PROJECT_NAME}_compiler_linker_flags () here, but we
# can't do it directly. This workaround accomplishes the
# same thing. See
# http://www.cmake.org/Wiki/CMake/Language_Syntax#Substitution_of_command_names.
file (WRITE
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_complier_linker_flags.cmake"
"${PROJECT_NAME}_compiler_linker_flags ()"
)
include ("${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_complier_linker_flags.cmake")
endif ()
hth,
tyler
More information about the CMake
mailing list