diff options
author | Michael Jansen <kde@michael-jansen.biz> | 2010-07-23 16:15:52 +0000 |
---|---|---|
committer | Michael Jansen <kde@michael-jansen.biz> | 2010-07-23 16:15:52 +0000 |
commit | 74be49bb8ab1e89f6179dfdd65598e1cccc89e20 (patch) | |
tree | 0b6a9b09f3bf082ed8584a7cef1acd3dde1a02cc | |
parent | 5d52b7a691af7fc521e62ddce65ed3bc8fb09f51 (diff) | |
download | extra-cmake-modules-74be49bb8ab1e89f6179dfdd65598e1cccc89e20.tar.gz extra-cmake-modules-74be49bb8ab1e89f6179dfdd65598e1cccc89e20.tar.bz2 |
Make
ADD_SIP_PYTHON_MODULE(
test
example.sip
...)
work. Notice that there is no directory part before example.sip. This
should have no impact on existing code.
CCMAIL: kde-bindings@kde-org
svn path=/trunk/KDE/kdelibs/; revision=1153601
-rw-r--r-- | modules/SIPMacros.cmake | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/SIPMacros.cmake b/modules/SIPMacros.cmake index 6096ccb6..f5805a38 100644 --- a/modules/SIPMacros.cmake +++ b/modules/SIPMacros.cmake @@ -50,6 +50,13 @@ MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP) GET_FILENAME_COMPONENT(_child_module_name ${_x} NAME) GET_FILENAME_COMPONENT(_module_path ${MODULE_SIP} PATH) + + if(_module_path STREQUAL "") + set(CMAKE_CURRENT_SIP_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") + else(_module_path STREQUAL "") + set(CMAKE_CURRENT_SIP_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${_module_path}") + endif(_module_path STREQUAL "") + GET_FILENAME_COMPONENT(_abs_module_sip ${MODULE_SIP} ABSOLUTE) # We give this target a long logical target name. @@ -59,7 +66,7 @@ MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP) STRING(REPLACE "." "_" _logical_name ${MODULE_NAME}) SET(_logical_name "python_module_${_logical_name}") - FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}) # Output goes in this dir. + FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_SIP_OUTPUT_DIR}) # Output goes in this dir. SET(_sip_includes) FOREACH (_inc ${SIP_INCLUDES}) @@ -81,7 +88,7 @@ MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP) SET(_sip_output_files) FOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) IF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) - SET(_sip_output_files ${_sip_output_files} ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}/sip${_child_module_name}part${CONCAT_NUM}.cpp ) + SET(_sip_output_files ${_sip_output_files} ${CMAKE_CURRENT_SIP_OUTPUT_DIR}/sip${_child_module_name}part${CONCAT_NUM}.cpp ) ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) @@ -99,7 +106,7 @@ MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP) OUTPUT ${_sip_output_files} COMMAND ${CMAKE_COMMAND} -E echo ${message} COMMAND ${TOUCH_COMMAND} ${_sip_output_files} - COMMAND ${SIP_EXECUTABLE} ${_sip_tags} ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_abs_module_sip} + COMMAND ${SIP_EXECUTABLE} ${_sip_tags} ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_SIP_OUTPUT_DIR} ${_sip_includes} ${_abs_module_sip} DEPENDS ${_abs_module_sip} ${SIP_EXTRA_FILES_DEPEND} ) # not sure if type MODULE could be uses anywhere, limit to cygwin for now |