hostsupport/hostegl/CMakeLists.txt
branchbug235_bringup_0
changeset 53 c2ef9095503a
child 56 40cc73c24bf8
equal deleted inserted replaced
52:39e5f73667ba 53:c2ef9095503a
       
     1 # Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     2 #
       
     3 # Permission is hereby granted, free of charge, to any person obtaining a
       
     4 # copy of this software and /or associated documentation files
       
     5 # (the "Materials "), to deal in the Materials without restriction,
       
     6 # including without limitation the rights to use, copy, modify, merge,
       
     7 # publish, distribute, sublicense, and/or sell copies of the Materials,
       
     8 # and to permit persons to whom the Materials are furnished to do so,
       
     9 # subject to the following conditions:
       
    10 #
       
    11 # The above copyright notice and this permission notice shall be included
       
    12 # in all copies or substantial portions of the Materials.
       
    13 #
       
    14 # THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
       
    15 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
       
    16 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       
    17 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
       
    18 # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
       
    19 # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
       
    20 # THE USE OR OTHER DEALINGS IN THE MATERIALS.
       
    21 #
       
    22 # Initial Contributors:
       
    23 # Nokia Corporation - initial contribution.
       
    24 #
       
    25 # Contributors:
       
    26 #
       
    27 # Description:
       
    28 # CMake meta build file for host libEGL
       
    29 
       
    30 set(EGL_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
       
    31 set(EGL_INC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/inc)
       
    32 
       
    33 find_package(OpenGL)
       
    34 
       
    35 if(WIN32)
       
    36 	message("*** EGL Win32")
       
    37 	set(EGL_SSE_FLAGS "/arch:SSE2")
       
    38 	set(EGL_PLATFORM_LINK_LIBRARIES "")
       
    39 	set(EGL_PLATFORM_SOURCE_DIR "win32")
       
    40 else(WIN32)
       
    41 	set(EGL_SSE_FLAGS "-msse2 -mfpmath=sse -march=pentium4")
       
    42 	set(EGL_PLATFORM_LINK_LIBRARIES m stdc++)
       
    43 	set(EGL_PLATFORM_SOURCE_DIR "linux")
       
    44 endif(WIN32)
       
    45 
       
    46 set(EGL_SRC_FILES
       
    47     ${COMMON_INC_DIR}/SurfaceDescriptor.h
       
    48     ${COMMON_INC_DIR}/ColorDescriptor.h
       
    49     ${COMMON_INC_DIR}/GLESInterface.h
       
    50     ${COMMON_INC_DIR}/GLES2Interface.h
       
    51     ${COMMON_INC_DIR}/VGInterface.h
       
    52     ${COMMON_INC_DIR}/BufferContainer.h
       
    53     ${COMMON_INC_DIR}/ImageTarget.h
       
    54     ${EGL_INC_DIR}/EGLConfig.h
       
    55     ${EGL_INC_DIR}/EGLContext.h
       
    56     ${EGL_INC_DIR}/eglDefinitions.h
       
    57     ${EGL_INC_DIR}/EGLDisplay.h
       
    58     ${EGL_INC_DIR}/eglInternal.h
       
    59     ${EGL_INC_DIR}/EGLPbufferSurface.h
       
    60     ${EGL_INC_DIR}/EGLProcess.h
       
    61     ${EGL_INC_DIR}/EGLState.h
       
    62     ${EGL_INC_DIR}/EGLSurface.h
       
    63     ${EGL_INC_DIR}/EGLThread.h
       
    64     ${EGL_INC_DIR}/EGLWindowSurface.h
       
    65     ${EGL_INC_DIR}/TransparentColor.h
       
    66     ${EGL_INC_DIR}/EGLUtils.h
       
    67     ${EGL_INC_DIR}/EGLImage.h
       
    68     ${EGL_INC_DIR}/EGLExtension.h
       
    69     ${EGL_INC_DIR}/EGLOs.h
       
    70     ${EGL_INC_DIR}/EGLStructs.h
       
    71 
       
    72     ${EGL_SRC_DIR}/ColorDescriptor.cpp
       
    73     ${EGL_SRC_DIR}/eglapi.cpp
       
    74     ${EGL_SRC_DIR}/EGLConfig.cpp
       
    75     ${EGL_SRC_DIR}/EGLContext.cpp
       
    76     ${EGL_SRC_DIR}/EGLDisplay.cpp
       
    77     ${EGL_SRC_DIR}/EGLPbufferSurface.cpp
       
    78     ${EGL_SRC_DIR}/EGLProcess.cpp
       
    79     ${EGL_SRC_DIR}/EGLState.cpp
       
    80     ${EGL_SRC_DIR}/EGLSurface.cpp
       
    81     ${EGL_SRC_DIR}/EGLThread.cpp
       
    82     ${EGL_SRC_DIR}/EGLWindowSurface.cpp
       
    83     ${EGL_SRC_DIR}/TransparentColor.cpp
       
    84     ${EGL_SRC_DIR}/EGLUtils.cpp
       
    85     ${EGL_SRC_DIR}/EGLImage.cpp
       
    86     ${EGL_SRC_DIR}/EGLExtension.cpp
       
    87     ${EGL_SRC_DIR}/${EGL_PLATFORM_SOURCE_DIR}/EGLOs.cpp
       
    88   )
       
    89 
       
    90 include_directories(
       
    91   ${EGL_SRC_DIR}
       
    92   ${EGL_INC_DIR}
       
    93   ${COMMON_INC_DIR}
       
    94   )
       
    95 
       
    96 # \todo MSVC:
       
    97 # Probably not needed for EGL, but it might be a good idea to define these:
       
    98 # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse -march=pentium4")
       
    99 # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse -march=pentium4")
       
   100 
       
   101 if(PLATSIM_EXTENSIONS)
       
   102    add_definitions(-DKHRONOS_APICALL_EXPORT -DEGLI_USE_PLATSIM_EXTENSIONS)
       
   103 else(PLATSIM_EXNTENSIONS)
       
   104    add_definitions(-DKHRONOS_APICALL_EXPORT)
       
   105 endif(PLATSIM_EXTENSIONS)
       
   106 
       
   107 add_library(${LIBRARY_NAME_PREFIX}EGL SHARED ${EGL_SRC_FILES})
       
   108 
       
   109 set_target_properties(${LIBRARY_NAME_PREFIX}EGL PROPERTIES LINK_INTERFACE_LIBRARIES "")
       
   110 
       
   111 target_link_libraries(${LIBRARY_NAME_PREFIX}EGL ${EGL_PLATFORM_LINK_LIBRARIES} ${OPENGL_LIBRARIES})