Revision: 40608
http://brlcad.svn.sourceforge.net/brlcad/?rev=40608&view=rev
Author: starseeker
Date: 2010-09-19 15:11:22 +0000 (Sun, 19 Sep 2010)
Log Message:
-----------
Reorganize some macro logic, move the basename and dirname test logic into the
CheckFunctions macro file.
Modified Paths:
--------------
brlcad/branches/cmake/CMakeLists.txt
brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt 2010-09-19 14:37:46 UTC (rev
40607)
+++ brlcad/branches/cmake/CMakeLists.txt 2010-09-19 15:11:22 UTC (rev
40608)
@@ -789,6 +789,27 @@
BRLCAD_INCLUDE_FILE_CXX(limits HAVE_LIMITS)
BRLCAD_INCLUDE_FILE_CXX(istream HAVE_ISTREAM)
+# Other special-case tests that need custom macros
+CHECK_BASENAME()
+CHECK_DIRNAME()
+
+# *******************************************************************
+# *** Check for Types/Structures - Stage 5 of 9 ***
+# *******************************************************************
+
+BRLCAD_TYPE_SIZE("ssize_t" SSIZE_T)
+
+
+
+# *******************************************************************
+# *** Check for Compile Characteristics - Stage 6 of 9 ***
+# *******************************************************************
+
+INCLUDE(${BRLCAD_CMAKE_DIR}/CompilerFlags.cmake)
+
+# *******************************************************************
+# *** Check for Functions - Stage 7 of 9 ***
+# *******************************************************************
BRLCAD_FUNCTION_EXISTS(XQueryExtension HAVE_XQUERYEXTENSION)
BRLCAD_FUNCTION_EXISTS(alarm HAVE_ALARM)
BRLCAD_FUNCTION_EXISTS(alloca HAVE_ALLOCA)
@@ -828,65 +849,7 @@
BRLCAD_FUNCTION_EXISTS(writev HAVE_WRITEV)
-BRLCAD_TYPE_SIZE("ssize_t" SSIZE_T)
-
-INCLUDE(CheckCSourceRuns)
-
-# Check for basename and dirname
-CHECK_LIBRARY_EXISTS(gen basename "" HAVE_LIBGEN)
-if(HAVE_LIBGEN)
- SET(basename_SRC "
- #include <libgen.h>
- int main(int argc, char *argv[]) {
- (void)basename(argv[0]);
- return 0;
- }")
- SET(dirname_SRC "
- #include <libgen.h>
- int main(int argc, char *argv[]) {
- (void)dirname(argv[0]);
- return 0;
- }")
-ELSE(HAVE_LIBGEN_H)
- SET(basename_SRC "
- int main(int argc, char *argv[]) {
- (void)basename(argv[0]);
- return 0;
- }")
- SET(dirname_SRC "
- int main(int argc, char *argv[]) {
- (void)dirname(argv[0]);
- return 0;
- }")
-ENDIF(HAVE_LIBGEN)
-
-CHECK_C_SOURCE_RUNS("${basename_SRC}" HAVE_BASENAME)
-CHECK_C_SOURCE_RUNS("${dirname_SRC}" HAVE_DIRNAME)
-if (HAVE_BASENAME)
- FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_BASENAME 1\n")
-endif()
-if (HAVE_DIRNAME)
- FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_DIRNAME 1\n")
-endif()
-
# *******************************************************************
-# *** Check for Types/Structures - Stage 5 of 9 ***
-# *******************************************************************
-
-
-
-
-# *******************************************************************
-# *** Check for Compile Characteristics - Stage 6 of 9 ***
-# *******************************************************************
-
-INCLUDE(${BRLCAD_CMAKE_DIR}/CompilerFlags.cmake)
-
-# *******************************************************************
-# *** Check for Functions - Stage 7 of 9 ***
-# *******************************************************************
-
-# *******************************************************************
# *** Check for System Services - Stage 8 of 9 ***
# *******************************************************************
Modified: brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
2010-09-19 14:37:46 UTC (rev 40607)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
2010-09-19 15:11:22 UTC (rev 40608)
@@ -45,3 +45,34 @@
ENDIF(HAVE_${targetname}_${lname})
ENDIF(NOT ${targetname}_LIBRARY)
ENDMACRO(BRLCAD_CHECK_LIBRARY lname func)
+
+# Special purpose macros
+
+INCLUDE(CheckCSourceRuns)
+
+MACRO(CHECK_BASENAME)
+SET(BASENAME_SRC "
+#include <libgen.h>
+int main(int argc, char *argv[]) {
+(void)basename(argv[0]);
+return 0;
+}")
+CHECK_C_SOURCE_RUNS("${BASENAME_SRC}" HAVE_BASENAME)
+IF(HAVE_BASENAME)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_BASENAME 1\n")
+ENDIF(HAVE_BASENAME)
+ENDMACRO(CHECK_BASENAME var)
+
+MACRO(CHECK_DIRNAME)
+SET(DIRNAME_SRC "
+#include <libgen.h>
+int main(int argc, char *argv[]) {
+(void)dirname(argv[0]);
+return 0;
+}")
+CHECK_C_SOURCE_RUNS("${DIRNAME_SRC}" HAVE_DIRNAME)
+IF(HAVE_DIRNAME)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_DIRNAME 1\n")
+ENDIF(HAVE_DIRNAME)
+ENDMACRO(CHECK_DIRNAME var)
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits