Merge commit 'cc67e4840f1fd579b58b7532722f4cdd96dec94e' as 'libs/CommService'
This commit is contained in:
47
libs/CommService/cmake/Modules/GenerateCccc.cmake
Normal file
47
libs/CommService/cmake/Modules/GenerateCccc.cmake
Normal file
@@ -0,0 +1,47 @@
|
||||
INCLUDE(CheckParent)
|
||||
# search for CCCC binary
|
||||
FIND_PROGRAM(CCCC cccc )
|
||||
|
||||
#
|
||||
# check if the GENERATE_CCCC function has already been defined
|
||||
#
|
||||
get_property(_GENERATE_CCCC GLOBAL PROPERTY _GENERATE_CCCC)
|
||||
IF (NOT _GENERATE_CCCC)
|
||||
|
||||
# set that we have defined GENERATE_CCCC
|
||||
set_property(GLOBAL PROPERTY _GENERATE_CCCC "YES")
|
||||
|
||||
|
||||
FUNCTION(GENERATE_CCCC)
|
||||
IF(CCCC)
|
||||
CMAKE_PARSE_ARGUMENTS(ARG "" "" "TARGETS" ${ARGN})
|
||||
get_property(_ccccfiles GLOBAL PROPERTY _ccccfiles)
|
||||
foreach(_target ${ARG_TARGETS})
|
||||
get_target_property(_sources ${_target} SOURCES)
|
||||
get_target_property(_source_dir ${_target} SOURCE_DIR)
|
||||
|
||||
foreach(_source ${_sources})
|
||||
set(_fullsource "${_source_dir}/${_source}")
|
||||
list(APPEND _ccccfiles "${_fullsource}")
|
||||
endforeach()
|
||||
endforeach()
|
||||
set_property(GLOBAL PROPERTY _ccccfiles ${_ccccfiles})
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
FUNCTION(RESET_CCCC)
|
||||
set_property(GLOBAL PROPERTY _ccccfiles "")
|
||||
ENDFUNCTION()
|
||||
|
||||
FUNCTION(GENERATE_CCCC_TARGET)
|
||||
IF (NOT hasParent AND CCCC)
|
||||
get_property(_targetccccfiles GLOBAL PROPERTY _ccccfiles)
|
||||
|
||||
ADD_CUSTOM_TARGET(cccc
|
||||
COMMAND ${CCCC} --outdir=cccc ${_targetccccfiles}
|
||||
COMMENT "Generating cccc result")
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
|
||||
ENDIF()
|
||||
Reference in New Issue
Block a user