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 @@ ...@@ -16,6 +16,10 @@
SUBDIRS (tests) SUBDIRS (tests)
# include static brook
SET(INCLUDE_BROOK_STATIC 1)
# logging # logging
SET(LOG TRUE) SET(LOG TRUE)
...@@ -157,10 +161,14 @@ IF(LOG) ...@@ -157,10 +161,14 @@ IF(LOG)
ENDIF(LOG) ENDIF(LOG)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# BROOK_INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/src) # 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(${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) IF(LOG)
...@@ -190,15 +198,20 @@ LINK_DIRECTORIES(${SHARED_BROOK_TARGET} ${PROJECT_BINARY_DIR}) ...@@ -190,15 +198,20 @@ LINK_DIRECTORIES(${SHARED_BROOK_TARGET} ${PROJECT_BINARY_DIR})
#static #static
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug ${OPENMM_LIBRARY_NAME}_static_d optimized ${OPENMM_LIBRARY_NAME}_static) IF(INCLUDE_BROOK_STATIC)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug brook_d optimized brook) TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug ${OPENMM_LIBRARY_NAME}_static_d optimized ${OPENMM_LIBRARY_NAME}_static)
TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} ${STATIC_TARGET}) TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} debug brook_d optimized brook)
LINK_DIRECTORIES(${STATIC_BROOK_TARGET} ${BROOK_LIB_PATH}) TARGET_LINK_LIBRARIES(${STATIC_BROOK_TARGET} ${STATIC_TARGET})
LINK_DIRECTORIES(${STATIC_BROOK_TARGET} ${BROOK_LIB_PATH})
ENDIF(INCLUDE_BROOK_STATIC)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
#install #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}) INSTALL_TARGETS(/lib RUNTIME_DIRECTORY /lib ${SHARED_BROOK_TARGET})
...@@ -5,6 +5,10 @@ ENABLE_TESTING() ...@@ -5,6 +5,10 @@ ENABLE_TESTING()
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# include static brook
SET(INCLUDE_BROOK_STATIC 0)
# logging # logging
SET(LOG TRUE) SET(LOG TRUE)
...@@ -24,7 +28,9 @@ SET(BROOK_LIB brookStatic) ...@@ -24,7 +28,9 @@ SET(BROOK_LIB brookStatic)
SET(OpenMM_BROOK_LIBRARY_NAME OpenMM_Brook) SET(OpenMM_BROOK_LIBRARY_NAME OpenMM_Brook)
SET(SHARED_BROOK_TARGET ${OpenMM_BROOK_LIBRARY_NAME}) 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" # Automatically create tests using files named "Test*.cpp"
...@@ -53,29 +59,35 @@ FOREACH(TEST_PROG ${TEST_PROGS}) ...@@ -53,29 +59,35 @@ FOREACH(TEST_PROG ${TEST_PROGS})
# Link with static library # Link with static library
# SET(TEST_STATIC ${TEST_ROOT}Static) SET(TEST_STATIC ${TEST_ROOT}Static)
# ADD_EXECUTABLE(${TEST_STATIC} ${TEST_PROG}) IF(INCLUDE_BROOK_STATIC)
# SET_TARGET_PROPERTIES(${TEST_STATIC} ADD_EXECUTABLE(${TEST_STATIC} ${TEST_PROG})
# PROPERTIES SET_TARGET_PROPERTIES(${TEST_STATIC}
# COMPILE_FLAGS "-DOPENMM_USE_STATIC_LIBRARIES" PROPERTIES
# ) COMPILE_FLAGS "-DOPENMM_USE_STATIC_LIBRARIES"
)
# TARGET_LINK_LIBRARIES(${TEST_STATIC} ${STATIC_TARGET} ${STATIC_BROOK_TARGET} ${BROOK_LIB}) TARGET_LINK_LIBRARIES(${TEST_STATIC} ${STATIC_TARGET} ${STATIC_BROOK_TARGET} ${BROOK_LIB})
# ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC}) ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
ENDIF(INCLUDE_BROOK_STATIC)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# IF(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") 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) ENDIF(LOG)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# ADD_TEST(${TEST_STATIC} ${EXECUTABLE_OUTPUT_PATH}/${TEST_STATIC})
ENDFOREACH(TEST_PROG ${TEST_PROGS}) 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) IF(LOG)
FILE( APPEND ${LOG_FILE} "Leaving Brook Test Cmake\n") FILE( APPEND ${LOG_FILE} "Leaving Brook Test Cmake\n")
ENDIF(LOG) ENDIF(LOG)
...@@ -330,7 +330,7 @@ static OpenMMContext* testObcForceFileSetup( std::string fileName, int brookCont ...@@ -330,7 +330,7 @@ static OpenMMContext* testObcForceFileSetup( std::string fileName, int brookCont
return context; return context;
} }
void testObcForce( FILE* log ){ void testObcForce( FILE* log, char* testInputFileName ){
// --------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------
...@@ -349,9 +349,9 @@ void testObcForce( FILE* log ){ ...@@ -349,9 +349,9 @@ void testObcForce( FILE* log ){
//OpenMMContext* context = testObcForceSetup( numParticles, 0, log ); //OpenMMContext* context = testObcForceSetup( numParticles, 0, log );
//OpenMMContext* brookContext = testObcForceSetup( numParticles, 1, 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* context = NULL;
OpenMMContext* brookContext = testObcForceFileSetup( std::string( "ObcInfo.txt" ), 1, &numParticles, log ); OpenMMContext* brookContext = testObcForceFileSetup( std::string( testInputFileName ), 1, &numParticles, log );
//OpenMMContext* brookContext = NULL; //OpenMMContext* brookContext = NULL;
vector<Vec3> forces; vector<Vec3> forces;
...@@ -516,7 +516,7 @@ void testObcEConsistentForce( FILE* log ){ ...@@ -516,7 +516,7 @@ void testObcEConsistentForce( FILE* log ){
} }
int main( ){ int main( int argc, char* argv[] ){
// --------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------
...@@ -525,10 +525,20 @@ int main( ){ ...@@ -525,10 +525,20 @@ int main( ){
// --------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------
(void) fflush( stdout ); (void) fflush( stdout ); (void) fflush( stderr );
(void) fflush( stderr );
try { 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 ); testObcSingleParticle( log );
testObcEConsistentForce( log ); testObcEConsistentForce( log );
} catch( const exception& e ){ } catch( const exception& e ){
......
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