# $ 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:
# > /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
#
set( CMAKE_SYSTEM_VERSION 1 )
# Check for PlayBook
-if( EXISTS "${BLACKBERRY_TARGET_ROOT}/usr/include" )
-set( PLAYBOOK True )
+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
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" )
- if( PLAYBOOK )
- set( BLACKBERRY_CC_FLAGS " -V4.4.2,gcc_ntoarmv7le -D__PLAYBOOK__" )
- set( BLACKBERRY_CXX_FLAGS " -V4.4.2,gcc_ntoarmv7le -Y_gpp -D__PLAYBOOK__" )
- else()
- set( BLACKBERRY_CC_FLAGS " -V4.6.3,gcc_ntoarmv7le -D__QNX__" )
- set( BLACKBERRY_CXX_FLAGS " -V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__" )
- endif()
+ set( BLACKBERRY_COMP_TARGET "gcc_ntoarmv7le" )
else()
- if( PLAYBOOK )
- set( BLACKBERRY_CC_FLAGS " -V4.4.2,gcc_ntox86 -D__PLAYBOOK__" )
- set( BLACKBERRY_CXX_FLAGS " -V4.4.2,gcc_ntox86 -Y_gpp -D__PLAYBOOK__" )
- 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__" )
- endif()
+ 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( 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" )