[Top][All Lists]
[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)
- [certi-cvs] applications/HLA_TestsSuite CMakeLists.txt test...,
certi-cvs <=