summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-12-04 22:26:41 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-12-04 22:26:41 (GMT)
commit3a32cec96923cf057aad00274b4a8ab7ad82a82f (patch)
tree304527c04dbad8b51ce2bccda1a434f424bf1a9a /Modules
parentde8ffcaef492e23af57ed5489dd8a21fdd7ad5d8 (diff)
downloadCMake-3a32cec96923cf057aad00274b4a8ab7ad82a82f.zip
CMake-3a32cec96923cf057aad00274b4a8ab7ad82a82f.tar.gz
CMake-3a32cec96923cf057aad00274b4a8ab7ad82a82f.tar.bz2
ENH: merge in changes for beos support
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeDetermineCXXCompiler.cmake8
-rw-r--r--Modules/CheckForPthreads.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake
index ed909ce..3b1413c 100644
--- a/Modules/CMakeDetermineCXXCompiler.cmake
+++ b/Modules/CMakeDetermineCXXCompiler.cmake
@@ -59,6 +59,14 @@ IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
SET(CMAKE_COMPILER_IS_GNUCXX_RUN 1)
ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+# The g++ that comes with BeOS 5 segfaults if you run "g++ -E"
+# ("gcc -E" is fine), which throws up a system dialog box that hangs cmake
+# until the user clicks "OK"...so for now, we just assume it's g++.
+IF(BEOS)
+ SET(CMAKE_COMPILER_IS_GNUCXX 1)
+ SET(CMAKE_COMPILER_IS_GNUCXX_RUN 1)
+ENDIF(BEOS)
+
IF(NOT CMAKE_COMPILER_IS_GNUCXX_RUN)
# test to see if the cxx compiler is gnu
SET(CMAKE_COMPILER_IS_GNUCXX_RUN 1)
diff --git a/Modules/CheckForPthreads.c b/Modules/CheckForPthreads.c
index 2f0c203..a846567 100644
--- a/Modules/CheckForPthreads.c
+++ b/Modules/CheckForPthreads.c
@@ -16,7 +16,10 @@ int main(int ac, char*av[]){
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
+#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
+#endif
+
pthread_join(tid[0], 0);
pthread_join(tid[1], 0);
if(ac > 1000){return *av[0];}