EFL_OPTION(EINA_DEBUG_THREADS "debugging of eina threads" ${EINA_DEBUG_THREADS})
EFL_OPTION(ENABLE_VALGRIND "valgrind support" ${ENABLE_VALGRIND})
-EFL_OPTION(EINA_BUILD_CHAINED "Build Eina's chained mempool" "ON" CHOICE ON;OFF;STATIC)
-EFL_OPTION(EINA_BUILD_ONE_BIG "Build Eina's one-big mempool" "ON" CHOICE ON;OFF;STATIC)
-EFL_OPTION(EINA_BUILD_PASS_THROUGH "Build Eina's pass-through mempool" "STATIC" CHOICE ON;OFF;STATIC)
+SET_GLOBAL(EINA_MODULE_TYPE_MP_PASS_THROUGH_DEFAULT "STATIC")
-if(EINA_BUILD_CHAINED STREQUAL "STATIC")
+# TODO: change code to avoid these
+if(EINA_MODULE_TYPE_MP_PASS_THROUGH STREQUAL "STATIC")
SET_GLOBAL(EINA_STATIC_BUILD_CHAINED_POOL 1)
endif()
-if(EINA_BUILD_ONE_BIG STREQUAL "STATIC")
+if(EINA_MODULE_TYPE_MP_PASS_THROUGH STREQUAL "STATIC")
SET_GLOBAL(EINA_STATIC_BUILD_ONE_BIG 1)
endif()
-if(EINA_BUILD_PASS_THROUGH STREQUAL "STATIC")
+if(EINA_MODULE_TYPE_MP_PASS_THROUGH STREQUAL "STATIC")
SET_GLOBAL(EINA_STATIC_BUILD_PASS_THROUGH 1)
endif()
set(_modoutdir lib/${EFL_LIB_CURRENT}/modules/${EFL_MODULE_SCOPE}/${_modname}/v-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
set(_modbindir ${EFL_MODULES_BINARY_DIR}/${EFL_MODULE_SCOPE}/${_modname})
set(_modtarget ${EFL_LIB_CURRENT}-module-${EFL_MODULE_SCOPE}-${_modname})
+ string(TOUPPER "${EFL_LIB_CURRENT}_MODULE_TYPE_${EFL_MODULE_SCOPE}_${_modname}" _modoptionname)
+ if(NOT ${_modoptionname}_DEFAULT)
+ set(${_modoptionname}_DEFAULT "ON")
+ endif()
+ EFL_OPTION(${_modoptionname} "Build ${EFL_LIB_CURRENT} module ${EFL_MODULE_SCOPE}/${_modname}" ${${_modoptionname}_DEFAULT} CHOICE ON;OFF;STATIC)
else()
set(_modsrcdir ${EFL_MODULES_SOURCE_DIR}/${_modname})
set(_modoutdir lib/${EFL_LIB_CURRENT}/modules/${_modname}/v-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
set(_modbindir ${EFL_MODULES_BINARY_DIR}/${_modname})
set(_modtarget ${EFL_LIB_CURRENT}-module-${_modname})
+ string(TOUPPER "${EFL_LIB_CURRENT}_MODULE_TYPE_${_modname}" _modoptionname)
+ if(NOT ${_modoptionname}_DEFAULT)
+ set(${_modoptionname}_DEFAULT "ON")
+ endif()
+ EFL_OPTION(${_modoptionname} "Build ${EFL_LIB_CURRENT} module ${_modname}" ${${_modoptionname}_DEFAULT} CHOICE ON;OFF;STATIC)
endif()
set(SOURCES)
set(INCLUDE_DIRECTORIES)
set(SYSTEM_INCLUDE_DIRECTORIES)
set(DEFINITIONS)
- set(MODULE_TYPE "ON")
+ set(MODULE_TYPE "${${_modoptionname}}")
set(INSTALL_DIR ${_modoutdir})
_EFL_INCLUDE_OR_DETECT("Module ${_modtarget}" ${_modsrcdir})
if("${MODULE_TYPE}" STREQUAL "STATIC")
target_link_libraries(${EFL_LIB_CURRENT} LINK_PRIVATE ${_modtarget})
+ target_compile_definitions(${EFL_LIB_CURRENT} PRIVATE "-D${_modoptionname}_STATIC=1")
target_include_directories(${_modtarget} PRIVATE
${EFL_LIB_SOURCE_DIR}
${EFL_LIB_BINARY_DIR})
LIST_APPEND_GLOBAL(${EFL_LIB_CURRENT}_STATIC_MODULES ${_modtarget})
else()
target_link_libraries(${_modtarget} LINK_PRIVATE ${EFL_LIB_CURRENT})
+ target_compile_definitions(${EFL_LIB_CURRENT} PRIVATE "-D${_modoptionname}_DYNAMIC=1")
LIST_APPEND_GLOBAL(${EFL_LIB_CURRENT}_MODULES ${_modtarget})
if(INSTALL_DIR)
install(TARGETS ${_modtarget} LIBRARY DESTINATION "${INSTALL_DIR}")