Commit 4a87b9b6 authored by Mark Friedrichs's avatar Mark Friedrichs
Browse files

Modified/added CMake commands to allow input file name argument to be passed...

Modified/added CMake commands to allow input file name argument to be passed to TstBrookGBSAOBCForce
Renamed TestBrookGBSAOBCForce.cpp to TstBrookGBSAOBCForce.cpp as part of adding command-line arg
Modified TstBrookGBSAOBCForce.cpp to accept arg
brook/CMakeLists.txt modified to allow developer to set flag for static libs/exes 
parent f9c9843b
......@@ -16,6 +16,10 @@
SUBDIRS (tests)
# include static brook
SET(INCLUDE_BROOK_STATIC 1)
# logging
SET(LOG TRUE)
......@@ -156,11 +160,15 @@ IF(LOG)
# LOG_DIR( ${LOG_FILE} "Brook cpp" ${BROOK_CPP_FILES} )
ENDIF(LOG)
# ----------------------------------------------------------------------------
# BROOK_INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/src)
ADD_LIBRARY(${SHARED_BROOK_TARGET} SHARED ${BROOK_CPP_FILES} ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} )
ADD_LIBRARY(${STATIC_BROOK_TARGET} STATIC ${BROOK_CPP_FILES} ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} )
IF(INCLUDE_BROOK_STATIC)
ADD_LIBRARY(${STATIC_BROOK_TARGET} STATIC ${BROOK_CPP_FILES} ${SOURCE_FILES} ${SOURCE_INCLUDE_FILES} )
ENDIF(INCLUDE_BROOK_STATIC)
# ----------------------------------------------------------------------------
IF(LOG)
......@@ -190,15 +198,20 @@ LINK_DIRECTORIES(${SHARED_BROOK_TARGET} ${PROJECT_BINARY_DIR})
#static
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug ${OPENMM_LIBRARY_NAME}_static_d optimized ${OPENMM_LIBRARY_NAME}_static)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug brook_d optimized brook)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} ${STATIC_TARGET})
LINK_DIRECTORIES(${STATIC_BROOK_TARGET} ${BROOK_LIB_PATH})
IF(INCLUDE_BROOK_STATIC)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug ${OPENMM_LIBRARY_NAME}_static_d optimized ${OPENMM_LIBRARY_NAME}_static)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug brook_d optimized brook)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} ${STATIC_TARGET})
LINK_DIRECTORIES(${STATIC_BROOK_TARGET} ${BROOK_LIB_PATH})
ENDIF(INCLUDE_BROOK_STATIC)
# ----------------------------------------------------------------------------
#install
INSTALL_TARGETS(/lib RUNTIME_DIRECTORY /lib ${STATIC_BROOK_TARGET})
IF(INCLUDE_BROOK_STATIC)
INSTALL_TARGETS(/lib RUNTIME_DIRECTORY /lib ${STATIC_BROOK_TARGET})
ENDIF(INCLUDE_BROOK_STATIC)
INSTALL_TARGETS(/lib RUNTIME_DIRECTORY /lib ${SHARED_BROOK_TARGET})
......@@ -5,6 +5,10 @@ ENABLE_TESTING()
# ----------------------------------------------------------------------------
# include static brook
SET(INCLUDE_BROOK_STATIC 0)
# logging
SET(LOG TRUE)
......@@ -24,7 +28,9 @@ SET(BROOK_LIB brookStatic)
SET(OpenMM_BROOK_LIBRARY_NAME OpenMM_Brook)
SET(SHARED_BROOK_TARGET ${OpenMM_BROOK_LIBRARY_NAME})
SET(STATIC_BROOK_TARGET ${OpenMM_BROOK_LIBRARY_NAME}_static)
IF(INCLUDE_BROOK_STATIC)
SET(STATIC_BROOK_TARGET ${OpenMM_BROOK_LIBRARY_NAME}_static)
ENDIF(INCLUDE_BROOK_STATIC)
# Automatically create tests using files named "Test*.cpp"
......@@ -53,29 +59,35 @@ FOREACH(TEST_PROG ${TEST_PROGS})
# Link with static library
# SET(TEST_STATIC ${TEST_ROOT}Static)
# ADD_EXECUTABLE(${TEST_STATIC} ${TEST_PROG})
# SET_TARGET_PROPERTIES(${TEST_STATIC}
# PROPERTIES
# COMPILE_FLAGS "-DOPENMM_USE_STATIC_LIBRARIES"
# )
SET(TEST_STATIC ${TEST_ROOT}Static)
IF(INCLUDE_BROOK_STATIC)
ADD_EXECUTABLE(${TEST_STATIC} ${TEST_PROG})
SET_TARGET_PROPERTIES(${TEST_STATIC}
PROPERTIES
COMPILE_FLAGS "-DOPENMM_USE_STATIC_LIBRARIES"
)
TARGET_LINK_LIBRARIES(${TEST_STATIC} ${STATIC_TARGET} ${STATIC_BROOK_TARGET} ${BROOK_LIB})
ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
ENDIF(INCLUDE_BROOK_STATIC)
# TARGET_LINK_LIBRARIES(${TEST_STATIC} ${STATIC_TARGET} ${STATIC_BROOK_TARGET} ${BROOK_LIB})
# ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
# ----------------------------------------------------------------------------
# IF(LOG)
# FILE( APPEND ${LOG_FILE} "Static: TARGET_LINK_LIBRARIES: TEST_STATIC=${TEST_STATIC} STATIC_TARGET=${STATIC_TARGET} STATIC_BROOK_TARGET=${STATIC_BROOK_TARGET} BROOK_LIB=${BROOK_LIB}\n\n")
# ENDIF(LOG)
IF(LOG)
FILE( APPEND ${LOG_FILE} "Static: TARGET_LINK_LIBRARIES: TEST_STATIC=${TEST_STATIC} STATIC_TARGET=${STATIC_TARGET} STATIC_BROOK_TARGET=${STATIC_BROOK_TARGET} BROOK_LIB=${BROOK_LIB}\n\n")
ENDIF(LOG)
# ----------------------------------------------------------------------------
# ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
ENDFOREACH(TEST_PROG ${TEST_PROGS})
# TestBrookGBSAOBCForce customized w/ command-line argument (input file name used in test)
ADD_EXECUTABLE(TestBrookGBSAOBCForce TstBrookGBSAOBCForce.cpp)
TARGET_LINK_LIBRARIES(TestBrookGBSAOBCForce ${SHARED_TARGET} ${OpenMM_BROOK_LIBRARY_NAME})
ADD_TEST(TestBrookGBSAOBCForce "${EXECUTABLE_OUTPUT_PATH}/TestBrookGBSAOBCForce" "${CMAKE_CURRENT_SOURCE_DIR}/ObcInfo.txt")
IF(LOG)
FILE( APPEND ${LOG_FILE} "TestBrookGBSAOBCForce ${EXECUTABLE_OUTPUT_PATH}/TestBrookGBSAOBCForce "${CMAKE_CURRENT_SOURCE_DIR}/ObcInfo.txt"\n\n")
ENDIF(LOG)
# ----------------------------------------------------------------------------
IF(LOG)
FILE( APPEND ${LOG_FILE} "Leaving Brook Test Cmake\n")
ENDIF(LOG)
......@@ -330,7 +330,7 @@ static OpenMMContext* testObcForceFileSetup( std::string fileName, int brookCont
return context;
}
void testObcForce( FILE* log ){
void testObcForce( FILE* log, char* testInputFileName ){
// ---------------------------------------------------------------------------------------
......@@ -349,9 +349,9 @@ void testObcForce( FILE* log ){
//OpenMMContext* context = testObcForceSetup( numParticles, 0, log );
//OpenMMContext* brookContext = testObcForceSetup( numParticles, 1, log );
OpenMMContext* context = testObcForceFileSetup( std::string( "ObcInfo.txt" ), 0, &numParticles, log );
OpenMMContext* context = testObcForceFileSetup( std::string( testInputFileName ), 0, &numParticles, log );
//OpenMMContext* context = NULL;
OpenMMContext* brookContext = testObcForceFileSetup( std::string( "ObcInfo.txt" ), 1, &numParticles, log );
OpenMMContext* brookContext = testObcForceFileSetup( std::string( testInputFileName ), 1, &numParticles, log );
//OpenMMContext* brookContext = NULL;
vector<Vec3> forces;
......@@ -516,7 +516,7 @@ void testObcEConsistentForce( FILE* log ){
}
int main( ){
int main( int argc, char* argv[] ){
// ---------------------------------------------------------------------------------------
......@@ -525,13 +525,23 @@ int main( ){
// ---------------------------------------------------------------------------------------
(void) fflush( stdout );
(void) fflush( stderr );
(void) fflush( stdout ); (void) fflush( stderr );
try {
testObcForce( log );
if( argc > 1 ){
testObcForce( log, argv[1] );
} else {
(void) fprintf( log, "%s missing input file (=ObcInfo.txt?): skipping testObcForce() argc=%d\n", methodName.c_str(), argc );
for( int ii = 0; ii < argc; ii++ ){
(void) fprintf( log, "%d <%s>\n", ii, argv[ii] );
}
(void) fflush( log );
}
testObcSingleParticle( log );
testObcEConsistentForce( log );
} catch( const exception& e ){
} catch( const exception& e ){
(void) fprintf( log, "Exception %s %.s\n", methodName.c_str(), e.what() ); (void) fflush( log );
return 1;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment