Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a static windows build to CI #4037

Merged
merged 8 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/everything.yml
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ jobs:

runs-on: ${{ matrix.image }}
env:
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.shared == 'static' && '-static' || ''}}-${{ matrix.parallel }}
GH_YML_BASE_OS: Windows
GH_YML_MATRIX_OS: ${{ matrix.os }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
Expand All @@ -349,6 +349,7 @@ jobs:
fail-fast: false
matrix:
os: [win2019, win2022]
shared: [shared]
parallel: [serial, ompi]
include:
- os: win2019
Expand All @@ -357,6 +358,11 @@ jobs:
- os: win2022
image: windows-2022
compiler: vs2022
- os: win2022
image: windows-2022
shared: static
compiler: vs2022
parallel: serial

defaults:
run:
Expand Down
28 changes: 28 additions & 0 deletions scripts/ci/cmake/ci-win2022-vs2022-static-serial.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
set(ENV{CC} cl)
set(ENV{CXX} cl)
set(ENV{CFLAGS} /WX)
set(ENV{CXXFLAGS} /WX)

# Tests need to find hdf5.dll
# set(ENV{PATH} "$ENV{PATH};C:/hdf5/HDF5-1.14.2.1-win64/bin")

set(dashboard_cache "
CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug
BUILD_SHARED_LIBS=OFF
gtest_force_shared_crt=ON
ADIOS2_USE_EXTERNAL_GTEST=OFF
BUILD_TESTING:BOOL=ON
ADIOS2_BUILD_EXAMPLES:BOOL=ON

ADIOS2_USE_Fortran:BOOL=OFF
ADIOS2_USE_MPI:BOOL=OFF
ADIOS2_USE_HDF5:STRING=OFF
ADIOS2_USE_Python:BOOL=OFF
ADIOS2_USE_HDF5_VOL:STRING=OFF
# HDF5_ROOT:PATH=C:/hdf5/HDF5-1.14.2.1-win64
")

set(CTEST_CMAKE_GENERATOR "Visual Studio 17 2022")
set(CTEST_CMAKE_GENERATOR_PLATFORM "x64")
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
2 changes: 1 addition & 1 deletion thirdparty/EVPath/EVPath/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ if (MSVC)
set(EVPATH_USE_ZPL_ENET FALSE)
endif()
if(NOT (DEFINED EVPATH_USE_ZPL_ENET))
option(EVPATH_USE_ZPL_ENET "Build the enet transport" "ON")
option(EVPATH_USE_ZPL_ENET "Build the enet transport" "OFF")
endif()
if(EVPATH_USE_ZPL_ENET)
set(RUN_ZPL_ENET_TESTS TRUE)
Expand Down
2 changes: 1 addition & 1 deletion thirdparty/EVPath/EVPath/cmenet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1414,7 +1414,7 @@ int err;
* NT Sux.
*/

int
static int
pipe(filedes)
SOCKET filedes[2];
{
Expand Down
128 changes: 26 additions & 102 deletions thirdparty/EVPath/EVPath/cmepoll.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,7 @@ static char*WSAerror_str(int err);
#endif

static void
init_select_data(svc, sdp, cm)
CMtrans_services svc;
select_data_ptr *sdp;
CManager cm;
init_select_data(CMtrans_services svc, select_data_ptr *sdp, CManager cm)
{
select_data_ptr sd = malloc(sizeof(struct select_data));
*sdp = sd;
Expand Down Expand Up @@ -157,9 +154,7 @@ typedef struct _periodic_task {
} task_handle_s;

static void
free_epoll_data(svc, sdp)
CMtrans_services svc;
select_data_ptr *sdp;
free_epoll_data(CMtrans_services svc, select_data_ptr *sdp)
{
periodic_task_handle tasks;
select_data_ptr sd = *sdp;
Expand All @@ -184,10 +179,7 @@ select_data_ptr *sdp;
((tvp)->tv_usec cmp (uvp)->tv_usec))))

static void
set_soonest_timeout(timeout, task_list, now)
struct timeval *timeout;
periodic_task_handle task_list;
struct timeval now;
set_soonest_timeout(struct timeval *timeout, periodic_task_handle task_list, struct timeval now)
{
struct timeval this_delay;
if (task_list == NULL) return;
Expand All @@ -210,10 +202,7 @@ struct timeval now;
}

static void
increment_time(time, increment_sec, increment_usec)
struct timeval *time;
int increment_sec;
int increment_usec;
increment_time(struct timeval *time, int increment_sec, int increment_usec)
{
time->tv_usec += increment_usec;
time->tv_sec += increment_sec;
Expand All @@ -227,11 +216,7 @@ static void
shutdown_wake_mechanism(select_data_ptr sd);

static void
socket_select(svc, sd, timeout_sec, timeout_usec)
CMtrans_services svc;
select_data_ptr sd;
int timeout_sec;
int timeout_usec;
socket_select(CMtrans_services svc, select_data_ptr sd, int timeout_sec, int timeout_usec)
{
int i, res;
int fd;
Expand Down Expand Up @@ -475,13 +460,7 @@ int timeout_usec;
}

extern void
libcmepoll_LTX_add_select(svc, sdp, fd, func, arg1, arg2)
CMtrans_services svc;
select_data_ptr *sdp;
int fd;
select_list_func func;
void *arg1;
void *arg2;
libcmepoll_LTX_add_select(CMtrans_services svc, select_data_ptr *sdp, int fd, select_list_func func, void *arg1, void *arg2)
{
select_data_ptr sd = *((select_data_ptr *)sdp);
struct epoll_event ep_event;
Expand Down Expand Up @@ -540,13 +519,7 @@ void *arg2;
}

extern void
libcmepoll_LTX_write_select(svc, sdp, fd, func, arg1, arg2)
CMtrans_services svc;
select_data_ptr *sdp;
int fd;
select_list_func func;
void *arg1;
void *arg2;
libcmepoll_LTX_write_select(CMtrans_services svc, select_data_ptr *sdp, int fd, select_list_func func, void *arg1, void *arg2)
{
select_data_ptr sd = *((select_data_ptr *)sdp);
struct epoll_event ep_event;
Expand Down Expand Up @@ -616,15 +589,7 @@ void *arg2;
}

extern periodic_task_handle
libcmepoll_LTX_add_periodic(svc, sdp, interval_sec, interval_usec,
func, arg1, arg2)
CMtrans_services svc;
select_data_ptr *sdp;
int interval_sec;
int interval_usec;
select_list_func func;
void *arg1;
void *arg2;
libcmepoll_LTX_add_periodic(CMtrans_services svc, select_data_ptr *sdp, int interval_sec, int interval_usec, select_list_func func, void *arg1, void *arg2)
{
select_data_ptr sd = *((select_data_ptr *)sdp);
periodic_task_handle handle = malloc(sizeof(struct _periodic_task));
Expand Down Expand Up @@ -671,15 +636,7 @@ void *arg2;


extern periodic_task_handle
libcmepoll_LTX_add_delayed_task(svc, sdp, delay_sec, delay_usec,
func, arg1, arg2)
CMtrans_services svc;
select_data_ptr *sdp;
int delay_sec;
int delay_usec;
select_list_func func;
void *arg1;
void *arg2;
libcmepoll_LTX_add_delayed_task(CMtrans_services svc, select_data_ptr *sdp, int delay_sec, int delay_usec, select_list_func func, void *arg1, void *arg2)
{
select_data_ptr sd = *((select_data_ptr *)sdp);
periodic_task_handle handle = malloc(sizeof(struct _periodic_task));
Expand Down Expand Up @@ -725,9 +682,7 @@ void *arg2;
}

static int
remove_periodic_task(sd, handle)
select_data_ptr sd;
periodic_task_handle handle;
remove_periodic_task(select_data_ptr sd, periodic_task_handle handle)
{
periodic_task_handle list, last = NULL;
list = sd->periodic_task_list;
Expand Down Expand Up @@ -765,10 +720,7 @@ periodic_task_handle handle;


extern void
libcmepoll_LTX_remove_periodic(svc, sdp, handle)
CMtrans_services svc;
select_data_ptr *sdp;
periodic_task_handle handle;
libcmepoll_LTX_remove_periodic(CMtrans_services svc, select_data_ptr *sdp, periodic_task_handle handle)
{
select_data_ptr sd = *((select_data_ptr *)sdp);
if (sd == NULL) return;
Expand All @@ -778,10 +730,7 @@ periodic_task_handle handle;
}

extern void
libcmepoll_LTX_remove_select(svc, sdp, fd)
CMtrans_services svc;
select_data_ptr *sdp;
int fd;
libcmepoll_LTX_remove_select(CMtrans_services svc, select_data_ptr *sdp, int fd)
{
select_data_ptr sd = *((select_data_ptr *)sdp);

Expand Down Expand Up @@ -812,18 +761,15 @@ int fd;
}

static void
shutdown_wake_mechanism(sd)
select_data_ptr sd;
shutdown_wake_mechanism(select_data_ptr sd)
{
if (sd->wake_read_fd == -1) return;
close(sd->wake_read_fd);
close(sd->wake_write_fd);
sd->wake_read_fd = sd->wake_write_fd = -1;
}

static void read_wake_fd(fd_as_ptr, junk)
void *fd_as_ptr;
void *junk;
static void read_wake_fd(void *fd_as_ptr, void *junk)
{
char buffer;
int fd = (int) (long)fd_as_ptr;
Expand All @@ -838,8 +784,7 @@ void *junk;

#ifdef HAVE_WINDOWS_H
static char*
WSAerror_str(err)
int err;
WSAerror_str(int err)
{
switch(err) {
case WSAEINTR: return "WSAEINTR";
Expand Down Expand Up @@ -900,9 +845,8 @@ int err;
* NT Sux.
*/

int
pipe(filedes)
int filedes[2];
static int
pipe(int filedes[2])
{

int length;
Expand Down Expand Up @@ -990,9 +934,7 @@ int filedes[2];
#endif

static void
setup_wake_mechanism(svc, sdp)
CMtrans_services svc;
select_data_ptr *sdp;
setup_wake_mechanism(CMtrans_services svc, select_data_ptr *sdp)
{
int filedes[2];

Expand All @@ -1015,18 +957,15 @@ select_data_ptr *sdp;
}

extern void
libcmepoll_LTX_wake_function(svc, sdp)
CMtrans_services svc;
select_data_ptr *sdp;
libcmepoll_LTX_wake_function(CMtrans_services svc, select_data_ptr *sdp)
{
if (*sdp != NULL) {
wake_server_thread(*sdp);
}
}

static void
wake_server_thread(sd)
select_data_ptr sd;
wake_server_thread(select_data_ptr sd)
{
static char buffer = 'W'; /* doesn't matter what we write */
if (sd->wake_write_fd != -1) {
Expand All @@ -1041,9 +980,7 @@ select_data_ptr sd;
}

extern void
libcmepoll_LTX_blocking_function(svc, client_data)
CMtrans_services svc;
void *client_data;
libcmepoll_LTX_blocking_function(CMtrans_services svc, void *client_data)
{
select_data_ptr sd = *((select_data_ptr *)client_data);
if (sd == NULL) {
Expand All @@ -1058,9 +995,7 @@ void *client_data;
}

extern void
libcmepoll_LTX_polling_function(svc, client_data)
CMtrans_services svc;
void *client_data;
libcmepoll_LTX_polling_function(CMtrans_services svc, void *client_data)
{
select_data_ptr sd = *((select_data_ptr *)client_data);
if (sd == NULL) {
Expand All @@ -1075,21 +1010,15 @@ void *client_data;
}

extern void
libcmepoll_LTX_select_initialize(svc, cm, client_data)
CMtrans_services svc;
CManager cm;
void *client_data;
libcmepoll_LTX_select_initialize(CMtrans_services svc, CManager cm, void *client_data)
{
if (*((select_data_ptr *)client_data) == NULL) {
init_select_data(svc, (select_data_ptr*)client_data, cm);
}
}

extern void
libcmepoll_LTX_select_shutdown(svc, cm, client_data)
CMtrans_services svc;
CManager cm;
void *client_data;
libcmepoll_LTX_select_shutdown(CMtrans_services svc, CManager cm, void *client_data)
{
select_data_ptr *sdp = client_data;
select_data_ptr sd = *sdp;
Expand All @@ -1103,10 +1032,7 @@ void *client_data;
}

extern void
libcmepoll_LTX_select_free(svc, cm, client_data)
CMtrans_services svc;
CManager cm;
void *client_data;
libcmepoll_LTX_select_free(CMtrans_services svc, CManager cm, void *client_data)
{
select_data_ptr *sdp = client_data;
select_data_ptr sd = *sdp;
Expand All @@ -1119,9 +1045,7 @@ void *client_data;
}

extern void
libcmepoll_LTX_select_stop(svc, client_data)
CMtrans_services svc;
void *client_data;
libcmepoll_LTX_select_stop(CMtrans_services svc, void *client_data)
{
if (*((select_data_ptr *)client_data) != NULL) {
(*((select_data_ptr*)client_data))->closed = 1;
Expand Down
2 changes: 1 addition & 1 deletion thirdparty/EVPath/EVPath/cmmulticast.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ libcmmulticast_LTX_writev_func(CMtrans_services svc, mcast_conn_data_ptr mcd, st
}

#ifdef HAVE_WINDOWS_H
int socket_global_init = 0;
static int socket_global_init = 0;
/* Winsock init stuff, ask for ver 1.1 */
static WORD wVersionRequested = MAKEWORD(1, 1);
static WSADATA wsaData;
Expand Down
2 changes: 1 addition & 1 deletion thirdparty/EVPath/EVPath/cmselect.c
Original file line number Diff line number Diff line change
Expand Up @@ -879,7 +879,7 @@ int err;
* NT Sux.
*/

int
static int
pipe(SOCKET *filedes)
{

Expand Down
Loading
Loading