diff options
author | Tom Gall <tom.gall@linaro.org> | 2014-10-05 23:02:12 -0500 |
---|---|---|
committer | Tom Gall <tom.gall@linaro.org> | 2014-10-05 23:02:12 -0500 |
commit | ffbf61c267a162c3e5d41c9ff310e2c8dae1c3bd (patch) | |
tree | b966b6d1b2c0a6bcb8787e234defcd47ac2a1f0b /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.txt | 92 |
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}) |