CTK 0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Loading...
Searching...
No Matches
ctkMacroGenerateMocs.cmake
Go to the documentation of this file.
1
2# QT4_GENERATE_MOCS(inputfile1 [inputfile2 ...])
3
4include(MacroAddFileDependencies)
5
6function(QT4_GENERATE_MOCS)
7 if(CTK_QT_VERSION VERSION_GREATER "4")
8 QT5_GET_MOC_FLAGS(_moc_flags)
9 else()
10 QT4_GET_MOC_FLAGS(_moc_flags)
11 endif()
12 foreach(file ${ARGN})
13
14 get_filename_component(abs_file ${file} ABSOLUTE)
15
16 get_filename_component(source_name ${file} NAME_WE)
17 get_filename_component(source_ext ${file} EXT)
18 if(${source_ext} MATCHES "\\.[hH]")
19 if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cpp)
20 set(source_ext .cpp)
21 elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${source_name}.cxx)
22 set(source_ext .cxx)
23 endif()
24 endif()
25
26 set(moc_file ${CMAKE_CURRENT_BINARY_DIR}/moc_${source_name}${source_ext})
27
28 if(CTK_QT_VERSION VERSION_GREATER "4")
29 if(Qt5_VERSION VERSION_LESS "5.6")
30 QT5_CREATE_MOC_COMMAND(${abs_file} ${moc_file} "${_moc_flags}" "" "")
31 else()
32 QT5_CREATE_MOC_COMMAND(${abs_file} ${moc_file} "${_moc_flags}" "" "" "")
33 endif()
34 else()
35 QT4_CREATE_MOC_COMMAND(${abs_file} ${moc_file} "${_moc_flags}" "" "")
36 endif()
37 MACRO_ADD_FILE_DEPENDENCIES(${abs_file} ${moc_file})
38 endforeach()
39endfunction()
40
41# create a Qt5 alias
42macro(QT5_GENERATE_MOCS)
43 QT4_GENERATE_MOCS(${ARGN})
44endmacro()