symbian.cmake
changeset 1 260cb5ec6c19
parent 0 bde4ae8d615e
     1.1 --- a/symbian.cmake	Fri Jun 15 03:10:57 2012 +0200
     1.2 +++ b/symbian.cmake	Tue Jun 10 14:32:02 2014 +0200
     1.3 @@ -11,7 +11,7 @@
     1.4  
     1.5  
     1.6  #Make sure all the output from all projects will go in one place
     1.7 -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin)
     1.8 +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
     1.9  #------------------------------------------------------------------
    1.10  
    1.11  project (symbian)
    1.12 @@ -25,6 +25,8 @@
    1.13  add_definitions(-D__LEAVE_EQUALS_THROW__)
    1.14  add_definitions(-D__SUPPORT_CPP_EXCEPTIONS__)
    1.15  add_definitions(-D__PLATSEC_UNLOCKED__)
    1.16 +add_definitions(-DMONITOR_THREAD_CPU_TIME)
    1.17 +add_definitions(-DSYMBIAN_FIX_TDESC_CONSTRUCTORS)
    1.18  # TODO: I guess public stuff should also define SYMBIAN_ENABLE_SPLIT_HEADERS 
    1.19  
    1.20  
    1.21 @@ -68,14 +70,44 @@
    1.22  add_subdirectory(./os/kernelhwsrv/kerneltest)
    1.23  #-------------------------------------------------------------
    1.24  
    1.25 +#Copy epoc.ini to binary directory
    1.26 +#Not used anymore we are using configure instead, see below
    1.27 +#install(	FILES 
    1.28 +#			${PROJECT_SOURCE_DIR}/symc/epoc.ini
    1.29 +#			DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${BUILD_TYPE}/data )
    1.30 +
    1.31 +
    1.32 +#If SYMC_DRIVE_C is not defined we default to parent folder
    1.33 +if (NOT DEFINED SYMC_DRIVE_C)
    1.34 +    set(SYMC_DRIVE_C_NOT_DEFINED ON)
    1.35 +endif()
    1.36 +
    1.37 +
    1.38 +###### Configure epoc.ini
    1.39 +set(DEBUG_EPOC_INI "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/data/epoc.ini")
    1.40 +set(RELEASE_EPOC_INI "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/data/epoc.ini")
    1.41 +
    1.42 +#Specify default C drive root for debug build
    1.43 +if (DEFINED SYMC_DRIVE_C_NOT_DEFINED)
    1.44 +    set(SYMC_DRIVE_C "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/c" )
    1.45 +endif()
    1.46 +
    1.47 +#Configure epoc.ini for debug build
    1.48 +configure_file( ${PROJECT_SOURCE_DIR}/symc/epoc.ini ${DEBUG_EPOC_INI})
    1.49 +
    1.50 +#Specify default C drive root for release build
    1.51 +if (DEFINED SYMC_DRIVE_C_NOT_DEFINED)
    1.52 +    set(SYMC_DRIVE_C "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/c" )
    1.53 +endif()
    1.54 +
    1.55 +#Configure epoc.ini for release build
    1.56 +configure_file( ${PROJECT_SOURCE_DIR}/symc/epoc.ini ${RELEASE_EPOC_INI})
    1.57 +
    1.58  #Add a custom target just to group our cmake files together
    1.59  file(GLOB_RECURSE DotCMakeFiles	"./*.cmake")
    1.60 -add_custom_target(symbian SOURCES ${source}	${DotCMakeFiles} ./symc/epoc.ini )					
    1.61 +add_custom_target(symbian SOURCES ${source}	${DotCMakeFiles} ./symc/epoc.ini ${DEBUG_EPOC_INI} ${RELEASE_EPOC_INI})	
    1.62  source_group(CMake FILES ${DotCMakeFiles} ${CMAKE_CURRENT_LIST_FILE} )	
    1.63 -source_group(Data FILES ./symc/epoc.ini)	
    1.64 -
    1.65 -#Copy epoc.ini to binary directory
    1.66 -install(	FILES 
    1.67 -			${PROJECT_SOURCE_DIR}/symc/epoc.ini
    1.68 -			DESTINATION ${CMAKE_BINARY_DIR}/\${BUILD_TYPE}/data )
    1.69 +source_group(Data FILES ./symc/epoc.ini)
    1.70 +source_group(Data\\Debug FILES ${DEBUG_EPOC_INI})
    1.71 +source_group(Data\\Release FILES ${RELEASE_EPOC_INI})
    1.72