Merge pull request #534 from jnguyen75/ref-test-resources

Refactor test resources: Use CMake to replace mkdir()
This commit is contained in:
Lee Thomason 2017-04-28 11:21:39 -07:00 committed by GitHub
commit 7b40ce1942
3 changed files with 8 additions and 40 deletions

View File

@ -29,25 +29,6 @@ set(GENERIC_LIB_SOVERSION "4")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/.") include_directories("${CMAKE_CURRENT_SOURCE_DIR}/.")
################################
# Add custom target to copy all data
set(TARGET_DATA_COPY DATA_COPY)
set(DATA_COPY_FILES)
if(NOT ${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
foreach(data dream.xml empty.xml utf8test.xml utf8testverify.xml)
set(DATA_COPY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/resources/${data})
set(DATA_COPY_DEST ${CMAKE_CURRENT_BINARY_DIR}/resources/${data})
add_custom_command(
OUTPUT ${DATA_COPY_DEST}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${DATA_COPY_SRC} ${DATA_COPY_DEST}
DEPENDS ${DATA_COPY_SRC})
list(APPEND DATA_COPY_FILES ${DATA_COPY_DEST})
endforeach(data)
endif(NOT ${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
add_custom_target(${TARGET_DATA_COPY} DEPENDS ${DATA_COPY_FILES})
################################ ################################
# Add definitions # Add definitions
@ -109,14 +90,18 @@ endif()
add_executable(xmltest xmltest.cpp) add_executable(xmltest xmltest.cpp)
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
add_dependencies(xmltest tinyxml2) add_dependencies(xmltest tinyxml2)
add_dependencies(xmltest ${TARGET_DATA_COPY})
target_link_libraries(xmltest tinyxml2) target_link_libraries(xmltest tinyxml2)
else(BUILD_STATIC_LIBS) else(BUILD_STATIC_LIBS)
add_dependencies(xmltest tinyxml2_static) add_dependencies(xmltest tinyxml2_static)
add_dependencies(xmltest ${TARGET_DATA_COPY})
target_link_libraries(xmltest tinyxml2_static) target_link_libraries(xmltest tinyxml2_static)
endif() endif()
install(TARGETS DESTINATION ${CMAKE_INSTALL_BINDIR})
# Copy test resources and create test output directory
add_custom_command(TARGET xmltest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/resources $<TARGET_FILE_DIR:xmltest>/resources
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:xmltest>/resources/out
COMMENT "Configuring xmltest resources directory: ${CMAKE_BINARY_DIR}/resources"
)
install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

View File

@ -3,5 +3,5 @@ before_build:
build_script: build_script:
- msbuild tinyxml2.sln /m /p:Configuration=Release /t:ALL_BUILD - msbuild tinyxml2.sln /m /p:Configuration=Release /t:ALL_BUILD
- copy Release\xmltest.exe .\ && copy Release\tinyxml2.dll .\ - cd Release
- xmltest.exe - xmltest.exe

View File

@ -10,16 +10,10 @@
#include <ctime> #include <ctime>
#if defined( _MSC_VER ) #if defined( _MSC_VER )
#include <direct.h> // _mkdir
#include <crtdbg.h> #include <crtdbg.h>
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>
_CrtMemState startMemState; _CrtMemState startMemState;
_CrtMemState endMemState;
#elif defined(MINGW32) || defined(__MINGW32__)
#include <io.h> // mkdir
#else
#include <sys/stat.h> // mkdir
#endif #endif
using namespace tinyxml2; using namespace tinyxml2;
@ -299,17 +293,6 @@ int main( int argc, const char ** argv )
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF); _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
#endif #endif
#if defined(_MSC_VER) || defined(MINGW32) || defined(__MINGW32__)
#if defined __MINGW64_VERSION_MAJOR && defined __MINGW64_VERSION_MINOR
//MINGW64: both 32 and 64-bit
mkdir( "resources/out/" );
#else
_mkdir( "resources/out/" );
#endif
#else
mkdir( "resources/out/", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
#endif
{ {
TIXMLASSERT( true ); TIXMLASSERT( true );
} }