ewol/CMakeLists.txt

253 lines
6.5 KiB
CMake

cmake_minimum_required(VERSION 2.8)
# Declare the project
project(ewol)
##
## Include C++ X11 dependency ... (check correct flags)
##
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
endif()
# set output path:
set(LIBRARY_OUTPUT_PATH lib/${CMAKE_BUILD_TYPE})
include_directories(.)
#Create src file list
set(src_files
ewol/ewol.cpp
ewol/ewol.h
ewol/debug.cpp
ewol/debug.h
ewol/Dimension.cpp
ewol/Dimension.h
ewol/compositing/Compositing.cpp
ewol/compositing/Compositing.h
ewol/compositing/TextBase.cpp
ewol/compositing/TextBase.h
ewol/compositing/Text.cpp
ewol/compositing/Text.h
ewol/compositing/TextDF.cpp
ewol/compositing/TextDF.h
ewol/compositing/Drawing.cpp
ewol/compositing/Drawing.h
ewol/compositing/Image.cpp
ewol/compositing/Image.h
ewol/compositing/Sprite.cpp
ewol/compositing/Sprite.h
ewol/compositing/Shaper.cpp
ewol/compositing/Shaper.h
ewol/compositing/Area.cpp
ewol/compositing/Area.h
ewol/context/clipBoard.cpp
ewol/context/clipBoard.h
ewol/context/commandLine.cpp
ewol/context/commandLine.h
ewol/context/ConfigFont.cpp
ewol/context/ConfigFont.h
ewol/context/Context.cpp
ewol/context/Context.h
ewol/context/cursor.cpp
ewol/context/cursor.h
ewol/context/InputManager.cpp
ewol/context/InputManager.h
ewol/event/Entry.cpp
ewol/event/Entry.h
ewol/event/Time.cpp
ewol/event/Time.h
ewol/event/Input.cpp
ewol/event/Input.h
ewol/key/keyboard.cpp
ewol/key/keyboard.h
ewol/key/Special.cpp
ewol/key/Special.h
ewol/key/status.cpp
ewol/key/status.h
ewol/key/type.cpp
ewol/key/type.h
ewol/object/Config.cpp
ewol/object/Config.h
ewol/object/ConfigElement.cpp
ewol/object/ConfigElement.h
ewol/object/Manager.cpp
ewol/object/Manager.h
ewol/object/Message.cpp
ewol/object/Message.h
ewol/object/MultiCast.cpp
ewol/object/MultiCast.h
ewol/object/Object.cpp
ewol/object/Object.h
ewol/openGL/openGL.cpp
ewol/openGL/openGL.h
ewol/resource/Colored3DObject.cpp
ewol/resource/Colored3DObject.h
ewol/resource/ColorFile.cpp
ewol/resource/ColorFile.h
ewol/resource/ConfigFile.cpp
ewol/resource/ConfigFile.h
ewol/resource/FontFreeType.cpp
ewol/resource/FontFreeType.h
ewol/resource/Image.cpp
ewol/resource/Image.h
ewol/resource/ImageDF.cpp
ewol/resource/ImageDF.h
ewol/resource/Manager.cpp
ewol/resource/Manager.h
ewol/resource/Program.cpp
ewol/resource/Program.h
ewol/resource/Resource.cpp
ewol/resource/Resource.h
ewol/resource/Shader.cpp
ewol/resource/Shader.h
ewol/resource/Texture.cpp
ewol/resource/Texture.h
ewol/resource/TexturedFont.cpp
ewol/resource/TexturedFont.h
ewol/resource/DistanceFieldFont.cpp
ewol/resource/DistanceFieldFont.h
ewol/resource/VirtualBufferObject.cpp
ewol/resource/VirtualBufferObject.h
ewol/widget/ButtonColor.cpp
ewol/widget/ButtonColor.h
ewol/widget/Button.cpp
ewol/widget/Button.h
ewol/widget/CheckBox.cpp
ewol/widget/CheckBox.h
ewol/widget/ColorBar.cpp
ewol/widget/ColorBar.h
ewol/widget/Composer.cpp
ewol/widget/Composer.h
ewol/widget/Container.cpp
ewol/widget/Container.h
ewol/widget/Container2.cpp
ewol/widget/Container2.h
ewol/widget/ContainerN.cpp
ewol/widget/ContainerN.h
ewol/widget/ContextMenu.cpp
ewol/widget/ContextMenu.h
ewol/widget/Entry.cpp
ewol/widget/Entry.h
ewol/widget/Gird.cpp
ewol/widget/Gird.h
ewol/widget/Image.cpp
ewol/widget/Image.h
ewol/widget/Joystick.cpp
ewol/widget/Joystick.h
ewol/widget/Label.cpp
ewol/widget/Label.h
ewol/widget/Layer.cpp
ewol/widget/Layer.h
ewol/widget/List.cpp
ewol/widget/List.h
ewol/widget/ListFileSystem.cpp
ewol/widget/ListFileSystem.h
ewol/widget/Manager.cpp
ewol/widget/Manager.h
ewol/widget/Menu.cpp
ewol/widget/Menu.h
ewol/widget/meta/ColorChooser.cpp
ewol/widget/meta/ColorChooser.h
ewol/widget/meta/FileChooser.cpp
ewol/widget/meta/FileChooser.h
ewol/widget/meta/Parameter.cpp
ewol/widget/meta/Parameter.h
ewol/widget/meta/ParameterList.cpp
ewol/widget/meta/ParameterList.h
ewol/widget/meta/StdPopUp.cpp
ewol/widget/meta/StdPopUp.h
ewol/widget/PopUp.cpp
ewol/widget/PopUp.h
ewol/widget/ProgressBar.cpp
ewol/widget/ProgressBar.h
ewol/widget/Scroll.cpp
ewol/widget/Scroll.h
ewol/widget/Sizer.cpp
ewol/widget/Sizer.h
ewol/widget/Slider.cpp
ewol/widget/Slider.h
ewol/widget/Spacer.cpp
ewol/widget/Spacer.h
ewol/widget/Widget.cpp
ewol/widget/Widget.h
ewol/widget/WidgetScrolled.cpp
ewol/widget/WidgetScrolled.h
ewol/widget/Windows.cpp
ewol/widget/Windows.h
ewol/widget/WSlider.cpp
ewol/widget/WSlider.h
)
add_definitions( -DDEBUG_LEVEL=3 )
add_definitions( -DDEBUG=1 )
message(STATUS "APPLE=${APPLE}")
message(STATUS "UNIX=${UNIX}")
if (APPLE)
add_definitions( -D__TARGET_OS__MacOs )
set(src_files-specific
ewol/context/MacOs/Context.cpp
ewol/context/MacOs/Context.h
ewol/context/MacOs/Interface.mm
ewol/context/MacOs/Interface.h
ewol/context/MacOs/Windows.mm
ewol/context/MacOs/Windows.h
ewol/context/MacOs/OpenglView.mm
ewol/context/MacOs/OpenglView.h
ewol/context/MacOs/AppDelegate.mm
ewol/context/MacOs/AppDelegate.h
)
elseif (UNIX)
add_definitions( -D__TARGET_OS__Linux )
set(src_files-specific
ewol/context/X11/Context.cpp
ewol/context/X11/Context.h
)
elseif (WIN32)
add_definitions( -D__TARGET_OS__Windows )
set(src_files-specific
ewol/context/Windows/Context.cpp
ewol/context/Windows/Context.h
)
endif ()
#Create a static Lib:
add_library(ewol STATIC ${src_files} ${src_files-specific})
include_directories(${zlib_SOURCE_DIR}/contrib/)
include_directories(${linearmath_SOURCE_DIR}/bullet/src/)
include_directories(${etk_SOURCE_DIR})
include_directories(${freetype_SOURCE_DIR})
include_directories(${exml_SOURCE_DIR})
include_directories(${ejson_SOURCE_DIR})
include_directories(${egami_SOURCE_DIR})
include_directories(${edtaa3_SOURCE_DIR})
include_directories(${date_SOURCE_DIR})
include_directories(${agg_SOURCE_DIR})
#add_dependencies(ewol linearmath zlib etk freetype exml ejson egami edtaa3 date)
target_link_libraries(ewol linearmath zlib etk freetype exml ejson egami edtaa3 date)
# read version :
file (STRINGS "tag" BUILD_VERSION)
add_definitions( -DEWOL_VERSION="${BUILD_VERSION}" )
# display all variable ...
#get_cmake_property(_variableNames VARIABLES)
#foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
#endforeach()