PROJECT(libjs)

SET(bin_dir ${libjs_BINARY_DIR})

SUBDIRS(environment nspr_impl fdlibm)

ADD_EXECUTABLE(
	jscpucfg jscpucfg.c
)

GET_TARGET_PROPERTY(jscpucfg_exe jscpucfg LOCATION)

ADD_CUSTOM_COMMAND(
	OUTPUT ${bin_dir}/jsautocfg.h
	COMMAND ${jscpucfg_exe} > ${bin_dir}/jsautocfg.h
	DEPENDS jscpucfg
)

SET_SOURCE_FILES_PROPERTIES(
	${bin_dir}/jsautocfg.h
	PROPERTIES
	GENERATED TRUE
	HEADER_FILE_ONLY TRUE
)

INCLUDE_DIRECTORIES(. ${bin_dir} fdlibm nspr_impl)

ADD_DEFINITIONS(
	-DEXPORT_JS_API -DJS_THREADSAFE -DJS_VERSION=150 
)

IF(WIN32)
	ADD_DEFINITIONS(-DXP_WIN)
ELSE(WIN32)
	ADD_DEFINITIONS(-DXP_UNIX)
ENDIF(WIN32)

ADD_LIBRARY(
	js STATIC
	jsapi.c jsapi.h jsarena.c jsarena.h jsarray.c jsarray.h jsatom.c jsatom.h
	jsbool.c jsbool.h jscntxt.c jscntxt.h jsdate.c jsdate.h jsdbgapi.c jsdbgapi.h
	jsdhash.c jsdhash.h jsdtoa.c jsdtoa.h jsemit.c jsemit.h jsexn.c jsexn.h
	jsfun.c jsfun.h jsgc.c jsgc.h jshash.c jshash.h jsinterp.c jsinterp.h
	jslock.c jslock.h jslog2.c jslong.c jslong.h jsmath.c jsmath.h
	jsnum.c jsnum.h jsobj.c jsobj.h jsopcode.c jsopcode.h jsparse.c jsparse.h
	jsprf.c jsprf.h jsregexp.c jsregexp.h jsscan.c jsscan.h jsscope.c jsscope.h
	jsscript.c jsscript.h jsstr.c jsstr.h jsutil.c jsutil.h jsxdrapi.c jsxdrapi.h
	prmjtime.c prmjtime.h jsbit.h jsclist.h jscompat.h jsconfig.h jslibmath.h
	jsosdep.h jsotypes.h jsprvtd.h jspubtd.h jsstddef.h jstypes.h
	${bin_dir}/jsautocfg.h
)

