138 lines
2.7 KiB
CMake
138 lines
2.7 KiB
CMake
|
|
#
|
|
# CU_SUBDIRLIST
|
|
#
|
|
FUNCTION(CU_SUBDIRLIST result curdir recursive includeRoot)
|
|
# glob recurse seem's doesn't work
|
|
FILE(GLOB children RELATIVE ${curdir} "${curdir}/[^\\.]*")
|
|
if (${includeRoot})
|
|
SET(dirlist "${curdir}")
|
|
else()
|
|
SET(dirlist "")
|
|
endif()
|
|
|
|
FOREACH(child ${children})
|
|
IF(IS_DIRECTORY "${curdir}/${child}")
|
|
if (${recursive})
|
|
CU_SUBDIRLIST(sub_Dirs "${curdir}/${child}" TRUE FALSE)
|
|
SET(dirlist "${curdir}/${child}" ${sub_Dirs} ${dirlist})
|
|
else()
|
|
SET(dirlist "${curdir}/${child}" ${dirlist})
|
|
endif()
|
|
ENDIF()
|
|
ENDFOREACH()
|
|
SET(${result} ${dirlist} PARENT_SCOPE)
|
|
ENDFUNCTION(CU_SUBDIRLIST result curdir recursive)
|
|
|
|
#
|
|
# CU_SET_GLOBAL
|
|
#
|
|
MACRO(CU_SET_GLOBAL name val)
|
|
set_property ( GLOBAL PROPERTY ${name} ${val})
|
|
# after set , create the variable for current scope
|
|
CU_GET_GLOBAL(${name})
|
|
ENDMACRO()
|
|
|
|
MACRO(CU_ADD_GLOBAL name val)
|
|
CU_GET_GLOBAL(${name})
|
|
|
|
set_property ( GLOBAL PROPERTY ${name}
|
|
${${name}}
|
|
${val}
|
|
)
|
|
# after set , create the variable for current scope
|
|
CU_GET_GLOBAL(${name})
|
|
ENDMACRO()
|
|
|
|
#
|
|
# CU_GET_GLOBAL
|
|
#
|
|
MACRO(CU_GET_GLOBAL name)
|
|
get_property(${name} GLOBAL PROPERTY ${name})
|
|
ENDMACRO()
|
|
|
|
#
|
|
# CU_SET_CACHE
|
|
#
|
|
MACRO(CU_SET_CACHE name val)
|
|
set(${name} ${val} CACHE INTERNAL "CU Var")
|
|
ENDMACRO()
|
|
|
|
#
|
|
# CU_LIST_ADD_CACHE
|
|
#
|
|
MACRO(CU_LIST_ADD_CACHE name val)
|
|
|
|
# avoid duplicates
|
|
if (";${${name}};" MATCHES ";${val};")
|
|
# nothing to do for now
|
|
else()
|
|
set(${name} ${val} ${${name}} CACHE INTERNAL "CU Var")
|
|
endif()
|
|
ENDMACRO()
|
|
|
|
|
|
#
|
|
# CU_SET_PATH
|
|
#
|
|
MACRO(CU_SET_PATH name val)
|
|
CU_SET_CACHE(${name} ${val})
|
|
|
|
CU_ADD_INC_PATH(${val})
|
|
ENDMACRO()
|
|
|
|
#
|
|
# CU_ADD_INC_PATH
|
|
#
|
|
MACRO(CU_ADD_INC_PATH val)
|
|
|
|
if (";${CU_INC_PATHS};" MATCHES ";${val};")
|
|
# nothing to do for now
|
|
else()
|
|
set(CU_INC_PATHS
|
|
${CU_INC_PATHS}
|
|
${val}
|
|
)
|
|
|
|
#update cache
|
|
CU_SET_CACHE("CU_INC_PATHS" "${CU_INC_PATHS}")
|
|
include_directories(${val})
|
|
endif()
|
|
ENDMACRO()
|
|
|
|
|
|
#
|
|
# CU_LOAD_INC_PATHS
|
|
#
|
|
MACRO(CU_LOAD_INC_PATHS)
|
|
include_directories(${CU_INC_PATHS})
|
|
ENDMACRO()
|
|
|
|
#
|
|
# CU_SET_PARENT
|
|
#
|
|
MACRO(CU_SET_PARENT name val)
|
|
set(${name} ${val} PARENT_SCOPE)
|
|
ENDMACRO()
|
|
|
|
|
|
MACRO(CU_ADD_HOOK hook_name value)
|
|
CU_ADD_GLOBAL(${hook_name} "${value}")
|
|
ENDMACRO()
|
|
|
|
MACRO(CU_RUN_HOOK hook_name)
|
|
CU_GET_GLOBAL(${hook_name})
|
|
message(STATUS "Running cmake hook: ${hook_name}")
|
|
if (${hook_name})
|
|
set(HOOK_ARRAY ${${hook_name}})
|
|
FOREACH (hook_file ${HOOK_ARRAY})
|
|
message("Including ${hook_file}")
|
|
include("${hook_file}")
|
|
ENDFOREACH()
|
|
else()
|
|
message(STATUS "No hooks registered for ${hook_name}")
|
|
endif()
|
|
ENDMACRO()
|
|
|
|
|