X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=blackberry.toolchain.cmake;h=4518d0f39ca95446b14a49d1c8f86f89b696fbd2;hb=ef2e1553f9d28b1af625e1165f6cdbb191d03de1;hp=4c9d26428d3a7ad6e0ea88d0dac51b160181b508;hpb=c7cd43e8ac0fa9dc8d7cb3aa00ab01a0fd3d9967;p=freeglut diff --git a/blackberry.toolchain.cmake b/blackberry.toolchain.cmake index 4c9d264..4518d0f 100644 --- a/blackberry.toolchain.cmake +++ b/blackberry.toolchain.cmake @@ -6,7 +6,7 @@ # $ source /absolute/path/to/the/bbndk/bbndk-env.sh # $ mkdir build # $ cd build -# $ cmake .. -DCMAKE_TOOLCHAIN_FILE="../blackberry.toolchain.cmake" -DBLACKBERRY_ARCHITECTURE=arm -DFREEGLUT_GLES2=ON -DFREEGLUT_BUILD_DEMOS=NO -DCMAKE_VERBOSE_MAKEFILE=TRUE -G "Eclipse CDT4 - Unix Makefiles" +# $ cmake .. -DCMAKE_TOOLCHAIN_FILE="../blackberry.toolchain.cmake" -DBLACKBERRY_ARCHITECTURE=arm -DFREEGLUT_GLES=ON -DFREEGLUT_BUILD_DEMOS=NO -DCMAKE_VERBOSE_MAKEFILE=TRUE -G "Eclipse CDT4 - Unix Makefiles" # $ make -j8 # # Usage Mac: @@ -16,7 +16,7 @@ # > /absolute/path/to/the/bbndk/bbndk-env.bat # > mkdir build # > cd build -# > cmake .. -DCMAKE_TOOLCHAIN_FILE="../blackberry.toolchain.cmake" -DBLACKBERRY_ARCHITECTURE=arm -DFREEGLUT_GLES2=ON -DFREEGLUT_BUILD_DEMOS=NO -DCMAKE_VERBOSE_MAKEFILE=TRUE -G "Eclipse CDT4 - Unix Makefiles" +# > cmake .. -DCMAKE_TOOLCHAIN_FILE="../blackberry.toolchain.cmake" -DBLACKBERRY_ARCHITECTURE=arm -DFREEGLUT_GLES=ON -DFREEGLUT_BUILD_DEMOS=NO -DCMAKE_VERBOSE_MAKEFILE=TRUE -G "Eclipse CDT4 - Unix Makefiles" # > make -j8 # @@ -32,6 +32,16 @@ set( BLACKBERRY_TARGET_ROOT "$ENV{QNX_TARGET}" ) set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_VERSION 1 ) +# Check for PlayBook +if( EXISTS "${BLACKBERRY_TARGET_ROOT}/x86/lib/gcc/4.4.2" ) + set( PLAYBOOK True ) +endif() + +# Check for for GCC 4.8.2 +if( EXISTS "${BLACKBERRY_TARGET_ROOT}/x86/lib/gcc/4.8.2" ) + set( BB_GCC_482 True ) +endif() + # STL version: by default gnustl_static will be used set( BLACKBERRY_USE_STLPORT FALSE CACHE BOOL "Experimental: use stlport_static instead of gnustl_static") mark_as_advanced( BLACKBERRY_USE_STLPORT ) @@ -91,21 +101,59 @@ else() endif() # Includes -list( APPEND BLACKBERRY_SYSTEM_INCLUDE_DIRS "${BLACKBERRY_TARGET_ROOT}/qnx6/usr/include" ) +if( PLAYBOOK ) + list( APPEND BLACKBERRY_SYSTEM_INCLUDE_DIRS "${BLACKBERRY_TARGET_ROOT}/usr/include" ) +else() + list( APPEND BLACKBERRY_SYSTEM_INCLUDE_DIRS "${BLACKBERRY_TARGET_ROOT}/qnx6/usr/include" ) +endif() # Flags and preprocessor definitions +set( BB_USING_GCC_482 False ) +if( PLAYBOOK ) + set( BLACKBERRY_COMP_DEF "-D__PLAYBOOK__" ) + set( BLACKBERRY_COMP_VERSION "4.4.2" ) +else() + set( BLACKBERRY_COMP_DEF "-D__QNX__" ) + if( BB_GCC_482 AND BLACKBERRY_USE_GCC_4_8 ) + set( BLACKBERRY_COMP_VERSION "4.8.2" ) + set( BB_USING_GCC_482 True ) + else() + set( BLACKBERRY_COMP_VERSION "4.6.3" ) + endif() +endif() if( BLACKBERRY_ARCHITECTURE STREQUAL "arm" ) - set( BLACKBERRY_CC_FLAGS " -V4.6.3,gcc_ntoarmv7le -D__QNX__" ) - set( BLACKBERRY_CXX_FLAGS " -V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__" ) + set( BLACKBERRY_COMP_TARGET "gcc_ntoarmv7le" ) +else() + set( BLACKBERRY_COMP_TARGET "gcc_ntox86" ) +endif() +set( BLACKBERRY_CXX_COMP_LIB "" ) +if( BLACKBERRY_DINKUM ) + set( DINKUM 1 ) + if( BB_USING_GCC_482 ) + set( BLACKBERRY_COMP_TARGET "${BLACKBERRY_COMP_TARGET}_cpp" ) + else() + set( BLACKBERRY_CXX_COMP_LIB "-Y_cpp" ) + endif() else() - set( BLACKBERRY_CC_FLAGS " -V4.6.3,gcc_ntox86 -D__QNX__" ) - set( BLACKBERRY_CXX_FLAGS " -V4.6.3,gcc_ntox86 -Y_gpp -D__QNX__" ) + set( DINKUM 0 ) + if( BB_USING_GCC_482 ) + set( BLACKBERRY_COMP_TARGET "${BLACKBERRY_COMP_TARGET}_gpp" ) + else() + set( BLACKBERRY_CXX_COMP_LIB "-Y_gpp" ) + endif() endif() +set( BLACKBERRY_CC_FLAGS " -V${BLACKBERRY_COMP_VERSION},${BLACKBERRY_COMP_TARGET} ${BLACKBERRY_COMP_DEF}" ) +set( BLACKBERRY_CXX_FLAGS " -V${BLACKBERRY_COMP_VERSION},${BLACKBERRY_COMP_TARGET} ${BLACKBERRY_CXX_COMP_LIB} ${BLACKBERRY_COMP_DEF}" ) set( BLACKBERRY 1 ) # NDK flags -set( CMAKE_CXX_FLAGS "${BLACKBERRY_CXX_FLAGS}" ) -set( CMAKE_C_FLAGS "${BLACKBERRY_CC_FLAGS}" ) +if( DINKUM ) + set( CMAKE_CXX_FLAGS "${BLACKBERRY_CXX_FLAGS} -DBLACKBERRY_DINKUM=1" ) + set( CMAKE_C_FLAGS "${BLACKBERRY_CC_FLAGS} -DBLACKBERRY_DINKUM=1" ) +else() + set( CMAKE_CXX_FLAGS "${BLACKBERRY_CXX_FLAGS}" ) + set( CMAKE_C_FLAGS "${BLACKBERRY_CC_FLAGS}" ) +endif() set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions" ) @@ -131,7 +179,7 @@ set( CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "linker flags" ) SET( CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "" CACHE STRING "linker flags") SET( CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "" CACHE STRING "linker flags") set( CMAKE_MODULE_LINKER_FLAGS "" CACHE STRING "linker flags" ) -set( CMAKE_EXE_LINKER_FLAGS "-lstdc++ -lm -lEGL -lGLESv2 -lbps -lscreen" CACHE STRING "linker flags" ) +set( CMAKE_EXE_LINKER_FLAGS "-lstdc++" CACHE STRING "linker flags" ) # Finish flags set( BLACKBERRY_CXX_FLAGS "${BLACKBERRY_CXX_FLAGS}" CACHE INTERNAL "Extra BlackBerry compiler flags")