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

Reply via email to