[SCM] OCE packaging branch, upstream, updated. OCE-0.6.0-230-g17bea23

davyw davy.wouters at gmail.com
Fri Feb 24 18:50:48 UTC 2012


The following commit has been merged in the upstream branch:
commit a9d890c7d3e6c5b2876adfa65c281b7777fe572b
Author: davyw <davy.wouters at gmail.com>
Date:   Mon Jan 16 22:32:53 2012 +0100

    Added additional borland support for cmake build system.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 186591f..95ff37e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,10 @@ IF(MSVC)
 	OPTION_WITH_DEFAULT( ${PROJECT_NAME}_USE_BUNDLE "Use OCE Windows Bundle" OFF )
 ENDIF(MSVC)
 
+IF(BORLAND)
+	OPTION_WITH_DEFAULT( ${PROJECT_NAME}_INSTALL_TDS_FILES "Instal TDS files (debug informations)" ON )
+ENDIF(BORLAND)
+
 IF(${PROJECT_NAME}_USE_BUNDLE)
 	OPTION_WITH_DEFAULT( ${PROJECT_NAME}_BUNDLE_AUTOINSTALL "Autoinstall bundle DLLs" ON )
 	MARK_AS_ADVANCED(${PROJECT_NAME}_BUNDLE_AUTOINSTALL)
@@ -115,11 +119,11 @@ MARK_AS_ADVANCED(${PROJECT_NAME}_RPATH_FILTER_SYSTEM_PATHS)
 # In MSVC it is not desirable to have it ON by default, since users must 
 # compile/use the OCE debug libraries to build it's own programs in DEBUG mode.
 # DEB should be enabled by developers only, in this case
-IF (MSVC AND CMAKE_CONFIGURATION_TYPES)
+IF ((MSVC OR BORLAND) AND CMAKE_CONFIGURATION_TYPES)
   SET (DEB_DEFAULT "OFF")
 ELSE ()
    SET (DEB_DEFAULT "ON")
-ENDIF (MSVC AND CMAKE_CONFIGURATION_TYPES)
+ENDIF ((MSVC OR BORLAND) AND CMAKE_CONFIGURATION_TYPES)
 
 OPTION_WITH_DEFAULT( ${PROJECT_NAME}_ENABLE_DEB_FLAG "Enables DEB define in debug configuration" ${DEB_DEFAULT} )
 MARK_AS_ADVANCED(${PROJECT_NAME}_ENABLE_DEB_FLAG)
@@ -184,7 +188,7 @@ SET_DIRECTORY_PROPERTIES(PROPERTIES COMPILE_DEFINITIONS_MINSIZEREL NDEBUG)
 SET_DIRECTORY_PROPERTIES(PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO  NDEBUG)
 
 IF(${PROJECT_NAME}_ENABLE_DEB_FLAG)
-  SET_DIRECTORY_PROPERTIES(PROPERTIES COMPILE_DEFINITIONS_DEBUG "DEB;_DEBUG")
+  SET_DIRECTORY_PROPERTIES(PROPERTIES COMPILE_DEFINITIONS_DEBUG "DEB=1;_DEBUG")
 ELSE ()
   SET_DIRECTORY_PROPERTIES(PROPERTIES COMPILE_DEFINITIONS_DEBUG "_DEBUG")
 ENDIF (${PROJECT_NAME}_ENABLE_DEB_FLAG)
@@ -635,6 +639,65 @@ IF (NOT WIN32)
 ENDIF(NOT WIN32)
 
 #######################################################
+# Check compiler version - Determine Borland compiler #
+#######################################################
+IF(BORLAND AND NOT BORLAND_VERSION)
+	IF(EXISTS ${CMAKE_CXX_COMPILER})
+		EXECUTE_PROCESS(
+			COMMAND ${CMAKE_CXX_COMPILER}  /?
+			OUTPUT_VARIABLE _output
+			ERROR_QUIET
+		)
+		
+		string(REGEX MATCH "Embarcadero C[+][+] [0-9]+.[0-9]+"
+			_borland_version "${_output}")
+			
+		if(_borland_version)
+			string(REGEX MATCHALL "[0-9]+" _borland_version_list "${_borland_version}")
+			list(GET _borland_version_list 0 _borland_major)
+			list(GET _borland_version_list 1 _borland_minor)
+		else()
+			string(REGEX MATCH "Borland C[+][+] [0-9]+].[0-9]+"
+				_borland_version "${_output}")
+			
+			if(_borland_version)
+				string(REGEX MATCHALL "[0-9]+" _borland_version_list "${_borland_version}")
+				list(GET _borland_version_list 0 _borland_major)
+				list(GET _borland_version_list 1 _borland_minor)
+			endif()
+		endif()
+			
+		# XE2 compiler?
+		if("v${_borland_major}.${_borland_minor}" STREQUAL "v6.41")
+			SET(BORLAND_VERSION "bcc32 v6.41 (RS XE2)")
+			SET(BORLAND_VERSION_RS_XE2 1)
+		# XE compiler?
+		elseif("v${_borland_major}.${_borland_minor}" STREQUAL "v6.30")
+			SET(BORLAND_VERSION "bcc32 v6.30 (RS XE)")
+			SET(BORLAND_VERSION_RS_XE 1)
+		# 2010 compiler?
+		elseif("v${_borland_major}.${_borland_minor}" STREQUAL "v6.20")
+			SET(BORLAND_VERSION "bcc32 v6.20 (RS 2010)")
+			SET(BORLAND_VERSION_RS_2010 1)
+		# TODO: 2009 compiler?
+		# TODO: 2007 compiler?
+		# 2006 compiler?
+		elseif("v${_borland_major}.${_borland_minor}" STREQUAL "v5.82")
+			SET(BORLAND_VERSION "bcc32 v5.82 (BDS 2006)")
+			SET(BORLAND_VERSION_BDS_2006 1)
+		#TODO: Older compilers?
+		else()
+			SET(BORLAND_VERSION "Unknown")
+		endif()
+		
+		UNSET(_output)
+		UNSET(_borland_version)
+		UNSET(_borland_major)
+		UNSET(_borland_minor)
+	ENDIF()
+ENDIF()
+
+#######################################################
 # Check platforms - Define specific compilation flags #
 #######################################################
 IF(UNIX)
@@ -653,6 +716,11 @@ ELSE(UNIX)
 		######### Windows ###########
 		MESSAGE(STATUS "Windows system detected")
 		ADD_DEFINITIONS(-DWNT -DWIN32 -D_WINDOWS -DCSFDB -DHAVE_CONFIG_H )
+		######### Borland ###########
+		IF(BORLAND)
+			MESSAGE(STATUS "Borland compiler detected: ${BORLAND_VERSION}")
+			ADD_DEFINITIONS(-DHAVE_IOS )
+		ENDIF(BORLAND)
 		SET(PLATFORM win)
 	ELSE(WIN32)
 		MESSAGE(STATUS "Unknown platform")
@@ -686,9 +754,11 @@ IF(WIN32)
 	IF(MSVC) # The compiler used is MSVC
 		MESSAGE(STATUS "Found MSVC compiler: ${MSVC} ${MSVC_VERSION}")
 		SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin/)
-	ELSE(MSVC)
+	ELSEIF (BORLAND) # The compiler used is BORLAND
+		SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/win${BIT}/bin/${CMAKE_BUILD_TYPE})
+	ELSE()
 		SET(LIBRARY_OUTPUT_PATH win${BIT}/bin/${CMAKE_BUILD_TYPE})
-	ENDIF(MSVC)
+	ENDIF()
 	SET(EXECUTABLE_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
 ELSE(WIN32)
 	SET(LIBRARY_OUTPUT_PATH ${PLATFORM}/${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_BUILD_TYPE}-${BIT})
diff --git a/adm/cmake/BuildToolkit.cmake b/adm/cmake/BuildToolkit.cmake
index 9664d1a..f4f5d68 100644
--- a/adm/cmake/BuildToolkit.cmake
+++ b/adm/cmake/BuildToolkit.cmake
@@ -93,6 +93,19 @@ ENDIF(${PROJECT_NAME}_COMPILER_SUPPORTS_PCH AND ${PROJECT_NAME}_USE_PCH)
 
 ADD_LIBRARY(${TOOLKIT} ${${PROJECT_NAME}_LIBRARY_TYPE} ${TOOLKIT_SOURCE_FILES} ${TOOLKIT_RESOURCES} )
 
+IF(BORLAND)
+	# cgmobin.c needs __STDC__=1 define in order to build for bcc32.
+	IF(TOOLKIT STREQUAL "TKService")
+		foreach(source_file ${TOOLKIT_SOURCE_FILES} )
+			if ((source_file MATCHES "cgmobin.c") OR
+			    (source_file MATCHES "cgmochar.c") OR
+				(source_file MATCHES "cgmotext.c"))
+				set_source_files_properties("${source_file}" PROPERTIES COMPILE_DEFINITIONS "__STDC__=1")
+			endif()
+		endforeach(source_file)
+	ENDIF()
+ENDIF(BORLAND)
+
 IF(BORLAND AND BORLAND_VERSION_RS_XE2)
 	# For bcc32 compiler v6.40 and up -x- compiler option must be passed as a compiler option
 	# in stead of #pragma option -x- in code.
@@ -199,3 +212,11 @@ IF(MSVC AND ${PROJECT_NAME}_INSTALL_PDB_FILES )
 		INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/${TOOLKIT}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION ${TOOLKIT_INSTALL_LIB_DIR} CONFIGURATIONS Debug)
 	ENDIF (CMAKE_CONFIGURATION_TYPES)
 ENDIF(MSVC AND ${PROJECT_NAME}_INSTALL_PDB_FILES )
+
+IF(BORLAND AND ${PROJECT_NAME}_INSTALL_TDS_FILES )
+	IF (CMAKE_CONFIGURATION_TYPES)
+		INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/Debug/${TOOLKIT}.tds DESTINATION ${TOOLKIT_INSTALL_BIN_DIR} CONFIGURATIONS Debug)
+	ELSE (CMAKE_CONFIGURATION_TYPES)
+		INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/${TOOLKIT}.tds DESTINATION ${TOOLKIT_INSTALL_BIN_DIR} CONFIGURATIONS Debug)
+	ENDIF (CMAKE_CONFIGURATION_TYPES)
+ENDIF(BORLAND AND ${PROJECT_NAME}_INSTALL_TDS_FILES )

-- 
OCE packaging



More information about the debian-science-commits mailing list