253 lines
6.5 KiB
CMake
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()
|