set (OPTYap_SOURCES opt.config.h opt.proto.h opt.structs.h opt.macros.h or.macros.h or.sba_amiops.h or.sba_unify.h tab.structs.h locks_x86.h locks_sparc.h locks_mips.h locks_mips_funcs.h locks_alpha.h locks_alpha_funcs.h locks_pthread.h or.memory.c opt.init.c opt.preds.c or.copy_engine.c or.cow_engine.c or.sba_engine.c or.thread_engine.c or.scheduler.c or.cut.c tab.tries.c tab.completion.c ) option (WITH_TABLING "Support tabling" ON) if (WITH_TABLING) #this depends on DEPTH_LIMIT define it after #this macro should realy be in config.h or other like it #and it is used across several files outside OPTYap set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS TABLING=1) include_directories (OPTYap ) set(YAP_SYSTEM_OPTIONS "tabling " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) endif(WITH_TABLING) option (WITH_YAPOR "Experimental Support for Or-parallelism" OFF) OPTION (WITH_YAPOR_COPY "Copy-based Or-parallelism" OFF) if (WITH_YAPOR_COPY) set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_COPY=1;USE_DL_MALLOC=1) set(WITH_YAPOR ON) set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) endif (WITH_YAPOR_COPY) OPTION (WITH_YAPOR_THOR "Thread-based Or-parallelism" OFF) if (WITH_YAPOR_THOR) set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_THREADS=1;USE_SYSTEM_MALLOC=1) set(WITH_YAPOR ON) set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) endif (WITH_YAPOR_THOR) OPTION (WITH_YAPOR_ACOW "Process-based Copy-On-Write Or-parallelism" OFF) if (WITH_YAPOR_ACOW) set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_COW=1;USE_SYSTEM_MALLOC=1) set(WITH_YAPOR ON) set(YAP_SYSTEM_OPTIONS "or_parallelism " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) endif (WITH_YAPOR_ACOW) OPTION (WITH_YAPOR_SBA "Sparse Bind Array-based Or-parallelism" OFF) if (WITH_YAPOR_SBA) set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR_SBA=1;USE_SYSTEM_MALLOC=1) set(WITH_YAPOR ON) set(YAP_SYSTEM_OPTIONS "or_parallelism, " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) endif (WITH_YAPOR_SBA) if (WITH_YAPOR) set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS YAPOR=1) else() set_property(DIRECTORY .. APPEND PROPERTY COMPILE_DEFINITIONS USE_SYSTEM_MALLOC=1) endif () set (POSITION_INDEPENDENT_CODE TRUE) add_library (libOPTYap OBJECT ${OPTYap_SOURCES} ) set_target_properties(libOPTYap PROPERTIES # RPATH ${libdir} VERSION ${LIBYAPTAI_FULL_VERSION} # SOVERSION ${LIBYAPTAI_MAJOR_VERSION}.${LIBYAPTAI_MINOR_VERSION} POSITION_INDEPENDENT_CODE TRUE OUTPUT_NAME OPTYap )