SET_GLOBAL(EINA_SAFETY_CHECKS 1) SET_GLOBAL(EINA_DEBUG_THREADS OFF) SET_GLOBAL(ENABLE_VALGRIND OFF) if("${BUILD_PROFILE}" STREQUAL "dev") SET_GLOBAL(EINA_STRINGSHARE_USAGE ON) SET_GLOBAL(CHECK_VALGRIND ON) elseif("${BUILD_PROFILE}" STREQUAL "debug") SET_GLOBAL(EINA_DEBUG_MALLOC ON) SET_GLOBAL(EINA_COW_MAGIC_ON ON) SET_GLOBAL(EINA_DEFAULT_MEMPOOL ON) SET_GLOBAL(EINA_DEBUG_MALLOC ON) SET_GLOBAL(EINA_DEBUG_THREADS ON) SET_GLOBAL(ENABLE_VALGRIND ON) elseif("${BUILD_PROFILE}" STREQUAL "release") SET_GLOBAL(EINA_LOG_LEVEL_MAXIMUM 3) endif() EFL_OPTION(EINA_MAGIC_DEBUG "magic debug of eina structure" ON) EFL_OPTION(EINA_DEBUG_THREADS "debugging of eina threads" ${EINA_DEBUG_THREADS}) EFL_OPTION(ENABLE_VALGRIND "valgrind support" ${ENABLE_VALGRIND}) SET_GLOBAL(EINA_MODULE_TYPE_MP_CHAINED_POOL_DEFAULT "STATIC") SET_GLOBAL(EINA_MODULE_TYPE_MP_ONE_BIG_DEFAULT "STATIC") SET_GLOBAL(EINA_MODULE_TYPE_MP_PASS_THROUGH_DEFAULT "STATIC") #check for symbols in pthread #TODO Make the definitions depending on the platform set(CMAKE_REQUIRED_FLAGS "${CMAKE_THREAD_LIBS_INIT}") set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE=1") CHECK_SYMBOL_EXISTS(pthread_barrier_init pthread.h EINA_HAVE_PTHREAD_BARRIER) CHECK_SYMBOL_EXISTS(pthread_attr_setaffinity_np pthread.h EINA_HAVE_PTHREAD_AFFINITY) CHECK_SYMBOL_EXISTS(pthread_setname_np pthread.h EINA_HAVE_PTHREAD_SETNAME) CHECK_SYMBOL_EXISTS(pthread_spin_init pthread.h EINA_HAVE_POSIX_SPINLOCK) #check for eina header files that are required CHECK_INCLUDE_FILE(alloca.h EINA_HAVE_ALLOCA_H) CHECK_INCLUDE_FILE(byteswap.h EINA_HAVE_BYTESWAP_H) CHECK_INCLUDE_FILE(fnmatch.h EINA_HAVE_FNMATCH_H) #only enable log when fnmatch is there if (EINA_HAVE_FNMATCH_H) SET_GLOBAL(EINA_ENABLE_LOG 1) endif (EINA_HAVE_FNMATCH_H) CHECK_INCLUDE_FILE(dirent.h EINA_HAVE_DIRENT_H) CHECK_TYPE_SIZE("wchar_t" EINA_SIZEOF_WCHAR_T) CHECK_TYPE_SIZE("uintptr_t" EINA_SIZEOF_UINTPTR_T) CHECK_TYPE_SIZE("wchar_t" EINA_SIZEOF_WCHAR_T) #check for swap16/32/64 CHECK_SYMBOL_EXISTS(bswap_16 byteswap.h EINA_HAVE_BSWAP16) CHECK_SYMBOL_EXISTS(bswap_32 byteswap.h EINA_HAVE_BSWAP32) CHECK_SYMBOL_EXISTS(bswap_64 byteswap.h EINA_HAVE_BSWAP64) if(ENABLE_VALGRIND) pkg_check_modules(VG REQUIRED valgrind) SET_GLOBAL(NVALGRIND OFF) else() SET_GLOBAL(NVALGRIND ON) endif() #Check if there is the alloca header