hostsupport/hostopenvg/CMakeLists.txt
branchbug235_bringup_0
changeset 56 40cc73c24bf8
parent 53 c2ef9095503a
child 73 11fc086941ac
--- a/hostsupport/hostopenvg/CMakeLists.txt	Thu Oct 07 13:58:22 2010 +0100
+++ b/hostsupport/hostopenvg/CMakeLists.txt	Thu Oct 07 18:44:04 2010 +0100
@@ -27,15 +27,21 @@
 # Description:
 # CMake meta build file for host libOpenVG
 
-set(SF_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
+set(VG_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
+set(VG_INC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+
+configure_file(${VG_INC_DIR}/VG/openvg.h ${EXPORTED_INC_DIR}/VG/openvg.h COPYONLY)
+configure_file(${VG_INC_DIR}/VG/vgext.h ${EXPORTED_INC_DIR}/VG/vgext.h COPYONLY)
+configure_file(${VG_INC_DIR}/VG/vgplatform.h ${EXPORTED_INC_DIR}/VG/vgplatform.h COPYONLY)
+configure_file(${VG_INC_DIR}/VG/vgu.h ${EXPORTED_INC_DIR}/VG/vgu.h COPYONLY)
 
 # Some of the source files are generated using scripts. Check if the
 # scripts were modified and rebuild if necessary.
 set(ALPHA_RCP_GEN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/genheader/make_alpha_rcp.py)
 set(GAMMA_LUT_GEN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/genheader/make_gamma_lut.py)
 
-set(ALPHA_RCP_FILE ${SF_SRC_DIR}/sfAlphaRcp.h)
-set(GAMMA_LUT_FILE ${SF_SRC_DIR}/sfGammaLUT.h)
+set(ALPHA_RCP_FILE ${VG_SRC_DIR}/sfAlphaRcp.h)
+set(GAMMA_LUT_FILE ${VG_SRC_DIR}/sfGammaLUT.h)
 
 add_custom_command(
     OUTPUT ${ALPHA_RCP_FILE}
@@ -59,11 +65,7 @@
     set(C_WARNING_FLAGS "")
 	add_definitions(-DOPENVG_DLL_EXPORTS -DNOMINMAX)
 
-	set(GLUT_LIBRARY "")
-	set(GLUT_INCLUDE_DIR "")
-
     set(LIB_TYPE SHARED)
-    
 else(WIN32)
 	set(SF_SSE_FLAGS ${GCC_SSE_FLAGS})
 	set(SF_PLATFORM_LINK_LIBRARIES m stdc++)
@@ -74,60 +76,54 @@
     # \todo Just use BUILD_SHARED_LIBRARIES: This way debug builds can be made with static
     # and release with dynamic linking.
     set(LIB_TYPE SHARED)
-
-	find_library(GLUT_LIBRARY glut)
-	find_path(GLUT_INCLUDE_DIR GL/glut.h)
 endif(WIN32)
 
 
 set(VG_SF_SRC_FILES
-  ${SF_SRC_DIR}/sfEGLInterface.h
-  ${SF_SRC_DIR}/sfEGLInterface.cpp
-  ${SF_SRC_DIR}/riApi.cpp
-  ${SF_SRC_DIR}/riArray.h
-  ${SF_SRC_DIR}/riContext.cpp
-  ${SF_SRC_DIR}/riContext.h
-  ${SF_SRC_DIR}/riDefs.h
-  ${SF_SRC_DIR}/riFont.cpp
-  ${SF_SRC_DIR}/riUtils.h
-  ${SF_SRC_DIR}/riUtils.cpp
-  ${SF_SRC_DIR}/riFont.h
-  ${SF_SRC_DIR}/riImage.cpp
-  ${SF_SRC_DIR}/riImage.h
-  ${SF_SRC_DIR}/riMath.cpp
-  ${SF_SRC_DIR}/riMath.h
-  ${SF_SRC_DIR}/riPath.cpp
-  ${SF_SRC_DIR}/riPath.h
-  ${SF_SRC_DIR}/riPixelPipe.cpp
-  ${SF_SRC_DIR}/riPixelPipe.h
-  ${SF_SRC_DIR}/riRasterizer.cpp
-  ${SF_SRC_DIR}/riRasterizer.h
-  ${SF_SRC_DIR}/riVGU.cpp
-  ${SF_SRC_DIR}/sfMask.h
-  ${SF_SRC_DIR}/sfDynamicPixelPipe.h
-  ${SF_SRC_DIR}/sfDynamicPixelPipe.cpp
-  ${SF_SRC_DIR}/sfBlitter.h
-  ${SF_SRC_DIR}/sfBlitter.cpp
-  ${SF_SRC_DIR}/sfDynamicBlitter.h
-  ${SF_SRC_DIR}/sfDynamicBlitter.cpp
-  ${SF_SRC_DIR}/sfFunctionCache.h
-  ${SF_SRC_DIR}/sfCompiler.h
-  ${SF_SRC_DIR}/sfCompiler.cpp
+  ${VG_SRC_DIR}/sfEGLInterface.h
+  ${VG_SRC_DIR}/sfEGLInterface.cpp
+  ${VG_SRC_DIR}/riApi.cpp
+  ${VG_SRC_DIR}/riArray.h
+  ${VG_SRC_DIR}/riContext.cpp
+  ${VG_SRC_DIR}/riContext.h
+  ${VG_SRC_DIR}/riDefs.h
+  ${VG_SRC_DIR}/riFont.cpp
+  ${VG_SRC_DIR}/riUtils.h
+  ${VG_SRC_DIR}/riUtils.cpp
+  ${VG_SRC_DIR}/riFont.h
+  ${VG_SRC_DIR}/riImage.cpp
+  ${VG_SRC_DIR}/riImage.h
+  ${VG_SRC_DIR}/riMath.cpp
+  ${VG_SRC_DIR}/riMath.h
+  ${VG_SRC_DIR}/riPath.cpp
+  ${VG_SRC_DIR}/riPath.h
+  ${VG_SRC_DIR}/riPixelPipe.cpp
+  ${VG_SRC_DIR}/riPixelPipe.h
+  ${VG_SRC_DIR}/riRasterizer.cpp
+  ${VG_SRC_DIR}/riRasterizer.h
+  ${VG_SRC_DIR}/riVGU.cpp
+  ${VG_SRC_DIR}/sfMask.h
+  ${VG_SRC_DIR}/sfDynamicPixelPipe.h
+  ${VG_SRC_DIR}/sfDynamicPixelPipe.cpp
+  ${VG_SRC_DIR}/sfBlitter.h
+  ${VG_SRC_DIR}/sfBlitter.cpp
+  ${VG_SRC_DIR}/sfDynamicBlitter.h
+  ${VG_SRC_DIR}/sfDynamicBlitter.cpp
+  ${VG_SRC_DIR}/sfFunctionCache.h
+  ${VG_SRC_DIR}/sfCompiler.h
+  ${VG_SRC_DIR}/sfCompiler.cpp
   ${ALPHA_RCP_FILE}
   ${GAMMA_LUT_FILE}
   )
 
-# This VG requires OpenGL to render into window
-find_package(OpenGL)
-
 # pthreads on linux, native threads on win32?
 # \note Porting...
 find_package(Threads)
 
 include_directories(
-    ${SF_SRC_DIR}
+    ${VG_SRC_DIR}
     ${COMMON_INC_DIR}
-    ${COMMON_INC_DIR}/VG
+    ${EXPORTED_INC_DIR}
     ${LLVM_INCLUDE_DIR}
     ${CMAKE_CURRENT_BINARY_DIR}
   )
@@ -144,7 +140,7 @@
 # LLVM bitcode files. \todo Create a macro to add these (LLVMTarget has some
 # code that needs expansion, especially on the dependencies, which aren't
 # handled well enough for our use.
-set(BC_CFLAGS ${BC_CFLAGS} -DNDEBUG -O1 -msse2 -mfpmath=sse -march=pentium4 -c -emit-llvm -I${COMMON_INC_DIR} )
+set(BC_CFLAGS ${BC_CFLAGS} -DNDEBUG -O1 -msse2 -mfpmath=sse -march=pentium4 -c -emit-llvm -I${EXPORTED_INC_DIR} )
 
 # This macro assumes that a pixelpipe is generated from one source-code file atm.
 macro(make_pixelpipe target_name input_file output_file array_name)
@@ -156,7 +152,7 @@
     set_source_files_properties(${BINARY_PIXELPIPE_HEADER}
         PROPERTIES GENERATED true)
 
-    set(LLVM_PIXELPIPE_FILES ${SF_SRC_DIR}/${input_file})
+    set(LLVM_PIXELPIPE_FILES ${VG_SRC_DIR}/${input_file})
 
     # Note: Adds all project files as dependency to bitcode file.
     add_custom_command(
@@ -184,7 +180,7 @@
 
     add_custom_command(
         OUTPUT ${BINARY_PIXELPIPE_HEADER}
-        COMMAND python ${PROJECT_SOURCE_DIR}/vg/bin/bin2h.py ${BINARY_PIXELPIPE_FILE} ${array_name} > ${BINARY_PIXELPIPE_HEADER}
+        COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/genheader/bin2h.py ${BINARY_PIXELPIPE_FILE} ${array_name} > ${BINARY_PIXELPIPE_HEADER}
         DEPENDS ${BINARY_PIXELPIPE_HEADER_DEPS}
     )
 
@@ -198,4 +194,4 @@
 
 set_target_properties(${LIBRARY_NAME_PREFIX}OpenVG PROPERTIES LINK_INTERFACE_LIBRARIES "")
 
-target_link_libraries(${LIBRARY_NAME_PREFIX}OpenVG ${SF_PLATFORM_LINK_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${LLVM_JIT_LIBS})
+target_link_libraries(${LIBRARY_NAME_PREFIX}OpenVG ${SF_PLATFORM_LINK_LIBRARIES} ${OPENGL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${LLVM_JIT_LIBS})