diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000000000000000000000000000000000000..767f4c4f9f65b4342f703065f4b44d57cee0439f --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,47 @@ +version: 1.0.{build} + +skip_branch_with_pr: true + +os: + - Visual Studio 2015 + - Visual Studio 2017 + +platform: + - x86 + +before_build: +- del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets" +- ps: | + $env:CUSTOM_BUILD_NAME = ("{0}_{1}_{2}" -f $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH, $env:APPVEYOR_BUILD_NUMBER, $env:APPVEYOR_BUILD_WORKER_IMAGE -replace " ","-" ) + if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") + { + Write-Host "This build will push the shared notes" + $env:DO_PUSH_NOTES = "TRUE" + } else { + Write-Host "This build will only pushed the CMake cache" + $env:DO_PUSH_NOTES = "FALSE" + } +- ctest.exe -VV -S ../adios2/scripts\appveyor\av_default.cmake + -Ddashboard_full=OFF + -Ddashboard_do_update=true + -DCTEST_BUILD_NAME=%CUSTOM_BUILD_NAME% + -DADIOS_CTEST_SUBMIT_NOTES=%DO_PUSH_NOTES% + +build_script: +- ctest.exe -VV -S ../adios2/scripts\appveyor\av_default.cmake + -Ddashboard_full=OFF + -Ddashboard_do_configure=true + -DCTEST_BUILD_NAME=%CUSTOM_BUILD_NAME% + -DADIOS_CTEST_SUBMIT_NOTES=true +- ctest.exe -VV -S ../adios2/scripts\appveyor\av_default.cmake + -Ddashboard_full=OFF + -Ddashboard_do_build=true + -DCTEST_BUILD_NAME=%CUSTOM_BUILD_NAME% + -DADIOS_CTEST_SUBMIT_NOTES=%DO_PUSH_NOTES% + +test_script: +- ctest.exe -VV -S ../adios2/scripts\appveyor\av_default.cmake + -Ddashboard_full=OFF + -Ddashboard_do_test=true + -DCTEST_BUILD_NAME=%CUSTOM_BUILD_NAME% + -DADIOS_CTEST_SUBMIT_NOTES=%DO_PUSH_NOTES% diff --git a/scripts/appveyor/av_default.cmake b/scripts/appveyor/av_default.cmake new file mode 100644 index 0000000000000000000000000000000000000000..717d6bbe1fede8ff4910712e8b93ff493174d404 --- /dev/null +++ b/scripts/appveyor/av_default.cmake @@ -0,0 +1,31 @@ +# Client maintainer: chuck.atkins@kitware.com +set(CTEST_SITE "AppVeyor") +set(CTEST_BUILD_CONFIGURATION Release) +set(CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64") +# set(CTEST_BUILD_FLAGS "-k -j4") +set(CTEST_TEST_ARGS PARALLEL_LEVEL 4) + +message("av_default.cmake, CTEST_BUILD_NAME=${CTEST_BUILD_NAME}, push build notes is ADIOS_CTEST_SUBMIT_NOTES=${ADIOS_CTEST_SUBMIT_NOTES}") + +set(dashboard_model Experimental) +set(dashboard_binary_name "build_visual-studio") +set(dashboard_track "Continuous Integration") + +set(CTEST_GIT_COMMAND "git.exe") +set(CTEST_UPDATE_VERSION_ONLY TRUE) +set(CTEST_SOURCE_DIRECTORY "$ENV{APPVEYOR_BUILD_FOLDER}") +set(CTEST_DASHBOARD_ROOT "C:/projects/adios2build") + +set(dashboard_cache " +ADIOS2_USE_ADIOS1:STRING=OFF +ADIOS2_USE_BZip2:STRING=OFF +ADIOS2_USE_DataMan:STRING=OFF +ADIOS2_USE_Fortran:STRING=OFF +ADIOS2_USE_HDF5:STRING=OFF +ADIOS2_USE_MPI:STRING=OFF +ADIOS2_USE_Python:STRING=OFF +ADIOS2_USE_ZFP:STRING=OFF +ADIOS2_USE_ZeroMQ:STRING=OFF +") + +include(${CMAKE_CURRENT_LIST_DIR}/../dashboard/adios_common.cmake) diff --git a/scripts/dashboard/adios_common.cmake b/scripts/dashboard/adios_common.cmake index 55ae300478d5176cca7c46a7e27a13c4f43c8554..4cd0b3ab8a085fdf63f2795ebdbf6de13ce88728 100644 --- a/scripts/dashboard/adios_common.cmake +++ b/scripts/dashboard/adios_common.cmake @@ -66,6 +66,9 @@ set(CTEST_PROJECT_NAME "ADIOS2") set(CTEST_DROP_SITE "open.cdash.org") set(dashboard_git_url "https://github.com/ornladios/ADIOS2.git") +if(NOT ADIOS_CTEST_SUBMIT_NOTES) + set(ADIOS_CTEST_SUBMIT_NOTES TRUE) +endif() if(NOT dashboard_root_name) set(dashboard_root_name "Builds/My Tests") endif() diff --git a/scripts/dashboard/common.cmake b/scripts/dashboard/common.cmake index 11b691153089ee7334b704b68ddbbe9d0d24683c..ac88d93726957d9728a67b9e0b1d6f81f42a3d2a 100644 --- a/scripts/dashboard/common.cmake +++ b/scripts/dashboard/common.cmake @@ -283,12 +283,6 @@ endif() #----------------------------------------------------------------------------- -# Send the main script as a note. -list(APPEND CTEST_NOTES_FILES - "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}" - "${CMAKE_CURRENT_LIST_FILE}" - ) - # Check for required variables. foreach(req CTEST_CMAKE_GENERATOR @@ -387,7 +381,19 @@ if(dashboard_do_update) ctest_update(RETURN_VALUE count) set(CTEST_CHECKOUT_COMMAND) # checkout on first iteration only message("Found ${count} changed files") - ctest_submit(PARTS Update) + + if(ADIOS_CTEST_SUBMIT_NOTES) + message("Submitting dashboard scripts as Notes") + # Send the main script as a note while submitting the Update part + set(CTEST_NOTES_FILES + "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}" + "${CMAKE_CURRENT_LIST_FILE}" + ) + ctest_submit(PARTS Update Notes) + else() + message("Skipping notes submission for Update step") + ctest_submit(PARTS Update) + endif() endif() if(dashboard_do_configure) @@ -396,7 +402,14 @@ if(dashboard_do_configure) endif() message("Calling ctest_configure") ctest_configure(${dashboard_configure_args}) - ctest_submit(PARTS Configure) + if(ADIOS_CTEST_SUBMIT_NOTES) + message("Submitting CMakeCache.txt as Notes") + set(CTEST_NOTES_FILES "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt") + ctest_submit(PARTS Configure Notes) + else() + message("Skipping notes submission for Configure step") + ctest_submit(PARTS Configure) + endif() endif() ctest_read_custom_files(${CTEST_BINARY_DIRECTORY}) diff --git a/thirdparty/KWSys/CMakeLists.txt b/thirdparty/KWSys/CMakeLists.txt index 600c5c9b4b33e07316486b5f2aaba8ac85d00fe8..a801248a1766bc96b887d866a2a924007ffaf8eb 100644 --- a/thirdparty/KWSys/CMakeLists.txt +++ b/thirdparty/KWSys/CMakeLists.txt @@ -2,8 +2,14 @@ set(KWSYS_NAMESPACE adios2sys) set(KWSYS_USE_DynamicLoader ON) set(KWSYS_USE_RegularExpression ON) set(KWSYS_USE_SystemTools ON) -set(KWSYS_BUILD_SHARED ${ADIOS2_BUILD_SHARED_LIBS}) -set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE ON) +set(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS}) + +if(WIN32) + set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE OFF) +else() + set(KWSYS_SPLIT_OBJECTS_FROM_INTERFACE ON) +endif() + set(KWSYS_INSTALL_EXPORT_NAME adios2Exports) set(KWSYS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})