certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] applications/HLA_TestsSuite CMakeLists.txt test...


From: certi-cvs
Subject: [certi-cvs] applications/HLA_TestsSuite CMakeLists.txt test...
Date: Sat, 03 May 2008 10:22:43 +0000

CVSROOT:        /sources/certi
Module name:    applications
Changes by:     Eric NOULARD <erk>      08/05/03 10:22:43

Modified files:
        HLA_TestsSuite : CMakeLists.txt 
Added files:
        HLA_TestsSuite : test_FedTime.cc MacroTools.cmake 
                         HLATestsSuiteTools.cmake 
Removed files:
        HLA_TestsSuite : HLATestSuiteTools.cmake 

Log message:
        First functionnal version of HLATestsSuite_ADD_TEST

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/applications/HLA_TestsSuite/CMakeLists.txt?cvsroot=certi&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/applications/HLA_TestsSuite/test_FedTime.cc?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/applications/HLA_TestsSuite/MacroTools.cmake?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/applications/HLA_TestsSuite/HLATestsSuiteTools.cmake?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/applications/HLA_TestsSuite/HLATestSuiteTools.cmake?cvsroot=certi&r1=1.1&r2=0

Patches:
Index: CMakeLists.txt
===================================================================
RCS file: /sources/certi/applications/HLA_TestsSuite/CMakeLists.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- CMakeLists.txt      28 Apr 2008 12:17:00 -0000      1.3
+++ CMakeLists.txt      3 May 2008 10:22:42 -0000       1.4
@@ -22,8 +22,11 @@
 # You should set CERTI_HOME env var to appropriate value
 # or put here the full path to the directory
 # containing FindCERTI.cmake
-SET(CERTI_HOME $ENV{CERTI_HOME} CACHE PATH "The CERTI install directory")
-SET(CMAKE_MODULE_PATH ${CERTI_HOME}/share/scripts)
+FILE(TO_CMAKE_PATH "$ENV{CERTI_HOME}" CERTI_HOME_TEMP)
+SET(CERTI_HOME ${CERTI_HOME_TEMP} CACHE PATH "The CERTI install directory")
+LIST(APPEND CMAKE_MODULE_PATH "${CERTI_HOME}/share/scripts")
+LIST(APPEND CMAKE_MODULE_PATH "${HLA_TestsSuite_SOURCE_DIR}")
+MESSAGE(STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}")
 
 # You should uncomment the following line
 # if you want VERBOSE build
@@ -91,32 +94,26 @@
 
 INCLUDE(CPack)
 
-#INCLUDE(HLATestSuiteTools)
+INCLUDE(HLATestsSuiteTools)
 #########################################################################
 # ADD TEST ELEMENTARY PROGRAM
 #########################################################################
-#HLATestSuite_ADD_TEST(test_CreateJoinResignDestroy
-#                      FEDFILE test_CreateJoinResignDestroy.fed
-#                      SOURCE_FILES test_CreateJoinResignDestroy.cc)
-
-SET(TESTNAME test_CreateJoinResignDestroy)
-ADD_EXECUTABLE(${TESTNAME} ${TESTNAME}.cc)
-TARGET_LINK_LIBRARIES(${TESTNAME} ${CERTI_LIBRARIES})
-INSTALL(TARGETS ${TESTNAME} RUNTIME DESTINATION bin)
-INSTALL(FILES ${TESTNAME}.fed DESTINATION share/federations)
+HLATestsSuite_ADD_TEST(test_CreateJoinResignDestroy
+                       FED_FILE test_CreateJoinResignDestroy.fed
+                       SOURCE_FILES test_CreateJoinResignDestroy.cc)
 
 #########################################################################
 # ADD TEST CREATE-JOIN-RESIGN-SAVE-RESTORE-PUBLISH.... PROGRAM
 #########################################################################
-#HLATestSuite_ADD_TEST(create_destroy
-#                      FEDFILE create-destroy.fed
-#                      SOURCE_FILES create_destroy.cc create_destroy.hh)
-
-SET(TESTNAME create_destroy)
-ADD_EXECUTABLE(${TESTNAME} ${TESTNAME}.cc)
-TARGET_LINK_LIBRARIES(${TESTNAME} ${CERTI_LIBRARIES})
-INSTALL(TARGETS ${TESTNAME} RUNTIME DESTINATION bin)
-INSTALL(FILES ${TESTNAME}.fed DESTINATION share/federations)
+HLATestsSuite_ADD_TEST(create_destroy
+                       FED_FILE create-destroy.fed
+                       SOURCE_FILES create_destroy.cc create_destroy.hh)
 
+#########################################################################
+# ADD TEST FedTime PROGRAM
+#########################################################################
+HLATestsSuite_ADD_TEST(test_FedTime
+                       FED_FILE create-destroy.fed
+                       SOURCE_FILES test_FedTime.cc)
 
 MESSAGE(STATUS "*** ${CMAKE_PROJECT_NAME} has been successfully configured 
***")

Index: test_FedTime.cc
===================================================================
RCS file: test_FedTime.cc
diff -N test_FedTime.cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ test_FedTime.cc     3 May 2008 10:22:42 -0000       1.1
@@ -0,0 +1,33 @@
+#include <iostream>
+#include <RTI.hh>
+#include <fedtime.hh>
+
+std::string printable(RTI::FedTime& aFedTime) {
+       char* myPrintable;
+       std::string retval;
+       
+       int i = aFedTime.getPrintableLength();
+       myPrintable = new char[i+1];    
+       aFedTime.getPrintableString(myPrintable);       
+       retval = std::string(myPrintable);
+       delete[] myPrintable;   
+       return retval;
+}
+
+int main(void)
+{
+  int retcode = 0;
+  std::cout << "RTI::FedTime test <BEGIN>" << std::endl;
+  RTI::FedTime* providedTime = RTI::FedTimeFactory::makeZero();
+  RTI::FedTime* currentTime  = new RTIfedTime(16384.0);
+  RTI::FedTime* lookahead    = new RTIfedTime(0.10000000000000000555);  
+  
+  std::cout.precision(20);
+  std::cout << "            currentTime = " << printable(*currentTime) 
<<std::endl;
+  std::cout << "              lookahead = " << printable(*lookahead) 
<<std::endl;
+  *providedTime = *currentTime;
+  *providedTime += *lookahead;
+  std::cout << "currentTime + lookahead = " << printable(*providedTime) << 
std::endl;
+  std::cout << "RTI::FedTime test <BEGIN>" << std::endl;
+  return retcode;
+}

Index: MacroTools.cmake
===================================================================
RCS file: MacroTools.cmake
diff -N MacroTools.cmake
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ MacroTools.cmake    3 May 2008 10:22:42 -0000       1.1
@@ -0,0 +1,112 @@
+# Those are CMake MACROs that one can find
+# on the CMake wiki ()
+# The one-liner before each MACRO definition
+# gives the URL
+
+# Here is following several macros from
+# http://www.cmake.org/Wiki/CMakeMacroListOperations
+MACRO(LIST_LENGTH var)
+  SET(entries)
+  FOREACH(e ${ARGN})
+    SET(entries "${entries}.")
+  ENDFOREACH(e)
+  STRING(LENGTH ${entries} ${var})
+ENDMACRO(LIST_LENGTH)
+
+MACRO(LIST_INDEX var index)
+  SET(list . ${ARGN})
+  FOREACH(i RANGE 1 ${index})
+    CDR(list ${list})
+  ENDFOREACH(i)
+  CAR(${var} ${list})
+ENDMACRO(LIST_INDEX)
+
+MACRO(CAR var)
+  SET(${var} ${ARGV1})
+ENDMACRO(CAR)
+
+MACRO(CDR var junk)
+  SET(${var} ${ARGN})
+ENDMACRO(CDR)
+
+MACRO(LIST_CONTAINS var value)
+  SET(${var})
+  FOREACH (value2 ${ARGN})
+    IF (${value} STREQUAL ${value2})
+      SET(${var} TRUE)
+    ENDIF (${value} STREQUAL ${value2})
+  ENDFOREACH (value2)
+ENDMACRO(LIST_CONTAINS)
+
+# LIST_FILTER(<list> <regexp_var> [<regexp_var> ...]
+#              [OUTPUT_VARIABLE <variable>])
+# Removes items from <list> which do not match any of the specified
+# regular expressions. An optional argument OUTPUT_VARIABLE
+# specifies a variable in which to store the matched items instead of
+# updating <list>
+# As regular expressions can not be given to macros (see bug #5389), we pass
+# variable names whose content is the regular expressions.
+# Note that this macro requires PARSE_ARGUMENTS macro, available here:
+# http://www.cmake.org/Wiki/CMakeMacroParseArguments
+MACRO(LIST_FILTER)
+  PARSE_ARGUMENTS(LIST_FILTER "OUTPUT_VARIABLE" "" ${ARGV})
+  # Check arguments.
+  LIST(LENGTH LIST_FILTER_DEFAULT_ARGS LIST_FILTER_default_length)
+  IF(${LIST_FILTER_default_length} EQUAL 0)
+    MESSAGE(FATAL_ERROR "LIST_FILTER: missing list variable.")
+  ENDIF(${LIST_FILTER_default_length} EQUAL 0)
+  IF(${LIST_FILTER_default_length} EQUAL 1)
+    MESSAGE(FATAL_ERROR "LIST_FILTER: missing regular expression variable.")
+  ENDIF(${LIST_FILTER_default_length} EQUAL 1)
+  # Reset output variable
+  IF(NOT LIST_FILTER_OUTPUT_VARIABLE)
+    SET(LIST_FILTER_OUTPUT_VARIABLE "LIST_FILTER_internal_output")
+  ENDIF(NOT LIST_FILTER_OUTPUT_VARIABLE)
+  SET(${LIST_FILTER_OUTPUT_VARIABLE})
+  # Extract input list from arguments
+  LIST(GET LIST_FILTER_DEFAULT_ARGS 0 LIST_FILTER_input_list)
+  LIST(REMOVE_AT LIST_FILTER_DEFAULT_ARGS 0)
+  FOREACH(LIST_FILTER_item ${${LIST_FILTER_input_list}})
+    FOREACH(LIST_FILTER_regexp_var ${LIST_FILTER_DEFAULT_ARGS})
+      FOREACH(LIST_FILTER_regexp ${${LIST_FILTER_regexp_var}})
+        IF(${LIST_FILTER_item} MATCHES ${LIST_FILTER_regexp})
+          LIST(APPEND ${LIST_FILTER_OUTPUT_VARIABLE} ${LIST_FILTER_item})
+        ENDIF(${LIST_FILTER_item} MATCHES ${LIST_FILTER_regexp})
+      ENDFOREACH(LIST_FILTER_regexp ${${LIST_FILTER_regexp_var}})
+    ENDFOREACH(LIST_FILTER_regexp_var)
+  ENDFOREACH(LIST_FILTER_item)
+  # If OUTPUT_VARIABLE is not specified, overwrite the input list.
+  IF(${LIST_FILTER_OUTPUT_VARIABLE} STREQUAL "LIST_FILTER_internal_output")
+    SET(${LIST_FILTER_input_list} ${${LIST_FILTER_OUTPUT_VARIABLE}})
+  ENDIF(${LIST_FILTER_OUTPUT_VARIABLE} STREQUAL "LIST_FILTER_internal_output")
+ENDMACRO(LIST_FILTER)
+
+#http://www.cmake.org/Wiki/CMakeMacroParseArguments
+MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
+  SET(DEFAULT_ARGS)
+  FOREACH(arg_name ${arg_names})    
+    SET(${prefix}_${arg_name})
+  ENDFOREACH(arg_name)
+  FOREACH(option ${option_names})
+    SET(${prefix}_${option} FALSE)
+  ENDFOREACH(option)
+
+  SET(current_arg_name DEFAULT_ARGS)
+  SET(current_arg_list)
+  FOREACH(arg ${ARGN})    
+    LIST_CONTAINS(is_arg_name ${arg} ${arg_names})
+    IF (is_arg_name)
+      SET(${prefix}_${current_arg_name} ${current_arg_list})
+      SET(current_arg_name ${arg})
+      SET(current_arg_list)
+    ELSE (is_arg_name)
+      LIST_CONTAINS(is_option ${arg} ${option_names})
+      IF (is_option)
+            SET(${prefix}_${arg} TRUE)
+      ELSE (is_option)
+            SET(current_arg_list ${current_arg_list} ${arg})
+      ENDIF (is_option)
+    ENDIF (is_arg_name)
+  ENDFOREACH(arg)
+  SET(${prefix}_${current_arg_name} ${current_arg_list})
+ENDMACRO(PARSE_ARGUMENTS)
\ No newline at end of file

Index: HLATestsSuiteTools.cmake
===================================================================
RCS file: HLATestsSuiteTools.cmake
diff -N HLATestsSuiteTools.cmake
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ HLATestsSuiteTools.cmake    3 May 2008 10:22:43 -0000       1.1
@@ -0,0 +1,18 @@
+
+INCLUDE(MacroTools.cmake)
+
+MACRO(HLATestsSuite_ADD_TEST)
+    PARSE_ARGUMENTS(HLATSTools "FED_FILE;SOURCE_FILES" "VERBOSE" ${ARGN})      
    
+    CAR(TESTNAME ${HLATSTools_DEFAULT_ARGS})       
+    MESSAGE(STATUS "Configuring HLA Test: ${TESTNAME}")
+    IF (HLATSTools_VERBOSE)     
+       MESSAGE(STATUS "       FED_FILE = ${HLATSTools_FED_FILE}")
+       MESSAGE(STATUS "   SOURCE_FILES = ${HLATSTools_SOURCE_FILES}")
+    ENDIF(HLATSTools_VERBOSE)
+    ADD_EXECUTABLE(${TESTNAME} ${HLATSTools_SOURCE_FILES})    
+    TARGET_LINK_LIBRARIES (${TESTNAME} ${CERTI_LIBRARIES})    
+    INSTALL(TARGETS ${TESTNAME} 
+            RUNTIME DESTINATION bin)
+    INSTALL(FILES ${HLATSTools_FED_FILE}
+            DESTINATION share/federations)
+ENDMACRO(HLATestsSuite_ADD_TEST)

Index: HLATestSuiteTools.cmake
===================================================================
RCS file: HLATestSuiteTools.cmake
diff -N HLATestSuiteTools.cmake
--- HLATestSuiteTools.cmake     27 Apr 2008 13:16:40 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,10 +0,0 @@
-MACRO(HLATestSuite_ADD_TEST TESTNAME FEDFILE TEST_FILES_LIST)        
-    ADD_EXECUTABLE(${TESTNAME} ${TEST_FILES_LIST})
-    
-    TARGET_LINK_LIBRARIES (${TESTNAME} ${CERTI_LIBRARIES})
-    
-    INSTALL(TARGETS ${TESTNAME} 
-            RUNTIME DESTINATION bin)
-    INSTALL(FILES ${FEDFILE}
-            DESTINATION share/federations)
-ENDMACRO(TestSuite_ADDTEST TESTNAME TEST_FILES_LIST)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]