summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTom Gall <tom.gall@linaro.org>2014-10-05 23:02:12 -0500
committerTom Gall <tom.gall@linaro.org>2014-10-05 23:02:12 -0500
commitffbf61c267a162c3e5d41c9ff310e2c8dae1c3bd (patch)
treeb966b6d1b2c0a6bcb8787e234defcd47ac2a1f0b /CMakeLists.txt
Initial commit
This is the reference implementation with the miniEGL code stripped out Tests are simplistic at this point. Windowing uses traditional egl (mesa test) but should work with mali egl too.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt92
1 files changed, 92 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..84db850
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,92 @@
+cmake_minimum_required(VERSION 2.8)
+
+# Project Options:
+
+
+set(PROJECT_NAME_STR OpenVG)
+set(VG_LIBRARY_NAME_STR ${PROJECT_NAME_STR})
+set(VGU_LIBRARY_NAME_STR ${PROJECT_NAME_STR}U)
+project($(PROJECT_NAME_STR))
+
+MESSAGE(STATUS "Project : OpenVG Library")
+
+
+SET(DEFAULT_DEV_INSTALL_DIR /usr/local)
+MESSAGE(STATUS "Install path is ${CMAKE_INSTALL_PREFIX}")
+
+# choose target
+if(TARGET)
+ if(${TARGET} STREQUAL "arm")
+ message ("Building for ${TARGET} with fb\n")
+ set(EGL_LIB_PATH "\"/usr/lib/libEGL.so\"")
+# INCLUDE_DIRECTORIES(/root/Mali_OpenGL_ES_SDK_v2.4.0/inc/EGL)
+# INCLUDE_DIRECTORIES(/root/Mali_OpenGL_ES_SDK_v2.4.0/inc)
+ elseif(${TARGET} STREQUAL "x86")
+ message ("Building for ${TARGET}\n")
+ set(EGL_LIB_PATH "\"/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so\"")
+ INCLUDE_DIRECTORIES(/usr/include/EGL)
+ set(CMAKE_C_FLAGS "-DMESA_EGL_NO_X11_HEADERS")
+ set(CMAKE_CXX_FLAGS "-DMESA_EGL_NO_X11_HEADERS -fpermissive")
+ else()
+ MESSAGE(FATAL_ERROR "Target ${TARGET} is not valid. Choices are \"x86\" and \"arm\".")
+ endif()
+else(TARGET)
+ message ("TARGET was not set. Choices are \"x86\" and \"arm\".")
+ message ("Example usage: cmake .. -DTARGET=arm")
+ message ("Now using [arm] as default.\n")
+ set (TARGET "arm")
+ message ("Building for ${TARGET}\n")
+ set(EGL_LIB_PATH "\"/usr/lib/libEGL.so\"")
+
+endif(TARGET)
+message ("EGL PATH:${EGL_LIB_PATH} \n")
+add_definitions( -DEGLLIB=${EGL_LIB_PATH} )
+message ("PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}\n")
+INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
+
+# Set up install permissions for file, directories and binaries.
+# !!! Note that these variables are used by the child cmake files so these
+# variables must be set before the add_subdirectories() commands below
+# File permissions (664)
+set(LIB_FPERMS PERMISSIONS
+ OWNER_READ OWNER_WRITE
+ GROUP_READ GROUP_WRITE
+ WORLD_READ)
+
+#set(CMAKE_CXX_FLAGS "-O3 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -ftree-vectorize -funsafe-math-optimizations -mfloat-abi=hard" CACHE STRING "" FORCE)
+set(CMAKE_CXX_FLAGS "-g -std=c++11 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -ftree-vectorize -funsafe-math-optimizations" CACHE STRING "" FORCE)
+set(CMAKE_C_FLAGS "-g -mcpu=cortex-a15 -mfpu=neon-vfpv4 -ftree-vectorize -funsafe-math-optimizations" CACHE STRING "" FORCE)
+# set(CMAKE_CXX_FLAGS "-g -O3 -std=c++11 -mcpu=cortex-a15 -mfpu=neon-vfpv4 -ftree-vectorize -funsafe-math-optimizations" CACHE STRING "" FORCE)
+#LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
+
+set(VG_SOURCEFILES
+ src/es/esShader.c
+ src/es/esShapes.c
+ src/es/esTransform.c
+ src/es/esUtil.c
+ src/vg/Math.cpp
+ src/vg/Image.cpp
+ src/vg/Context.cpp
+ src/vg/Font.cpp
+ src/vg/Path.cpp
+ src/vg/PixelPipe.cpp
+ src/vg/Rasterizer.cpp
+ src/vg/Api.cpp
+ src/vg/EGLAddOn.cpp
+ )
+
+set(VGU_SOURCEFILES
+ src/vgu/VGU.cpp
+ )
+
+message ("VG_SOURCEFILES = ${VG_SOURCEFILES}\n")
+message ("VGU_SOURCEFILES = ${VGU_SOURCEFILES}\n")
+
+add_library(${VG_LIBRARY_NAME_STR} SHARED ${VG_SOURCEFILES})
+add_library(${VGU_LIBRARY_NAME_STR} SHARED ${VGU_SOURCEFILES})
+
+#target_link_libraries(${PROJECT_NAME_STR})
+
+install(TARGETS ${VG_LIBRARY_NAME_STR} LIBRARY DESTINATION lib ${LIB_FPERMS})
+install(TARGETS ${VGU_LIBRARY_NAME_STR} LIBRARY DESTINATION lib ${LIB_FPERMS})