summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 84db850e7364d356a8efbc4c726cb954f53f2014 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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})