etk/lutin_etk.py

75 lines
2.2 KiB
Python

#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_desc():
return "e-tk : Ewol tool kit"
def create(target):
# module name is 'edn' and type binary.
myModule = module.Module(__file__, 'etk', 'LIBRARY')
# add extra compilation flags :
myModule.add_extra_compile_flags()
# add the file to compile:
myModule.add_src_file([
'etk/debug.cpp',
'etk/etk.cpp',
'etk/stdTools.cpp',
'etk/log.cpp',
'etk/tool.cpp',
'etk/Noise.cpp',
'etk/Color.cpp',
'etk/thread/tools.cpp',
'etk/math/Matrix4.cpp',
'etk/math/Vector2D.cpp',
'etk/math/Vector3D.cpp',
'etk/math/Vector4D.cpp',
'etk/os/FSNode.cpp',
'etk/os/FSNodeRight.cpp',
'etk/archive/Archive.cpp',
'etk/archive/Zip.cpp'])
if target.name=="IOs":
myModule.add_src_file('etk/logIOs.m')
if target.config["mode"] == "release":
# TODO : The other way is to remove this ...
# TODO : Fore release mode : the etk folder are absolutly not at the same position in the tree ...
myModule.compile_flags('c', "-DMODE_RELEASE")
else:
myModule.add_export_flag('c', "-DDEBUG_LEVEL=3")
myModule.add_export_flag('c', "-DDEBUG=1")
# Bor backtrace display :
if target.name != "Windows":
myModule.add_export_flag('link', "-ldl -rdynamic")
# for ald C++ compatibility (old GCC) just link with boost ...
if target.config["compilator"] == "gcc" \
and target.xx_version < 4007000:
# note : this framework depend on C++ 11, but a simple port of Boost for old compatibility has been done ...
myModule.compile_version_XX(1999)
myModule.add_optionnal_module_depend('boost', ["c++", "-DETK_BUILD_BOOST"], export=True)
myModule.add_export_path(tools.get_current_path(__file__) + "/binding_boost")
else:
myModule.compile_version_XX(2011)
# name of the dependency
myModule.add_optionnal_module_depend('minizip', ["c++", "-DETK_BUILD_MINIZIP"])
myModule.add_optionnal_module_depend('linearmath', ["c", "-DETK_BUILD_LINEARMATH"], export=True)
myModule.add_export_path(tools.get_current_path(__file__) + "/binding_X11")
if target.name=="Windows":
pass
elif target.name=="Android":
pass
else:
myModule.add_export_flag('link', "-lpthread")
myModule.add_export_path(tools.get_current_path(__file__))
# add the currrent module at the
return myModule