changes required to cross-compile unit tests for windows
This commit is contained in:
@ -6,15 +6,27 @@ set(YAML_MD5 "bb15429d8fb787e7d3f1c83ae129a999" CACHE STRING "MD5 checksum of li
|
|||||||
mark_as_advanced(YAML_URL)
|
mark_as_advanced(YAML_URL)
|
||||||
mark_as_advanced(YAML_MD5)
|
mark_as_advanced(YAML_MD5)
|
||||||
|
|
||||||
|
# support cross-compilation to windows
|
||||||
|
if(CMAKE_CROSSCOMPILING AND (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
|
||||||
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
||||||
|
set(YAML_CROSS_HOST --host=i686-mingw64)
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||||
|
set(YAML_CROSS_HOST --host=x86_64-mingw64)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Unsupported cross-compilation "
|
||||||
|
" for ${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}"
|
||||||
|
" on ${CMAKE_HOST_SYSTEM}/${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(libyaml
|
ExternalProject_Add(libyaml
|
||||||
URL ${YAML_URL}
|
URL ${YAML_URL}
|
||||||
URL_MD5 ${YAML_MD5}
|
URL_MD5 ${YAML_MD5}
|
||||||
SOURCE_DIR "${CMAKE_BINARY_DIR}/yaml-src"
|
SOURCE_DIR "${CMAKE_BINARY_DIR}/yaml-src"
|
||||||
BINARY_DIR "${CMAKE_BINARY_DIR}/yaml-build"
|
BINARY_DIR "${CMAKE_BINARY_DIR}/yaml-build"
|
||||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${CONFIGURE_REQUEST_PIC}
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${CONFIGURE_REQUEST_PIC}
|
||||||
CXX=${CMAKE_CXX_COMPILER}
|
CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER}
|
||||||
CC=${CMAKE_C_COMPILER}
|
--prefix=<INSTALL_DIR> --disable-shared ${YAML_CROSS_HOST}
|
||||||
--prefix=<INSTALL_DIR> --disable-shared
|
|
||||||
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libyaml${CMAKE_STATIC_LIBRARY_SUFFIX}
|
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libyaml${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
TEST_COMMAND "")
|
TEST_COMMAND "")
|
||||||
|
|
||||||
|
|||||||
@ -362,7 +362,11 @@ TEST(LAMMPS_init, NoOpenMP)
|
|||||||
FILE *fp = fopen("in.lammps_class_noomp", "w");
|
FILE *fp = fopen("in.lammps_class_noomp", "w");
|
||||||
fputs("\n", fp);
|
fputs("\n", fp);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
#if defined(__WIN32)
|
||||||
|
_putenv("OMP_NUM_THREADS");
|
||||||
|
#else
|
||||||
unsetenv("OMP_NUM_THREADS");
|
unsetenv("OMP_NUM_THREADS");
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *args[] = {"LAMMPS_init", "-in", "in.lammps_class_noomp", "-log", "none", "-nocite"};
|
const char *args[] = {"LAMMPS_init", "-in", "in.lammps_class_noomp", "-log", "none", "-nocite"};
|
||||||
char **argv = (char **)args;
|
char **argv = (char **)args;
|
||||||
|
|||||||
@ -26,7 +26,7 @@ set(TEST_INPUT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/tests)
|
|||||||
add_library(style_tests STATIC yaml_writer.cpp error_stats.cpp test_config_reader.cpp test_main.cpp)
|
add_library(style_tests STATIC yaml_writer.cpp error_stats.cpp test_config_reader.cpp test_main.cpp)
|
||||||
target_compile_definitions(style_tests PRIVATE -DTEST_INPUT_FOLDER=${TEST_INPUT_FOLDER})
|
target_compile_definitions(style_tests PRIVATE -DTEST_INPUT_FOLDER=${TEST_INPUT_FOLDER})
|
||||||
target_include_directories(style_tests PRIVATE ${LAMMPS_SOURCE_DIR})
|
target_include_directories(style_tests PRIVATE ${LAMMPS_SOURCE_DIR})
|
||||||
target_link_libraries(style_tests PUBLIC GTest::GTest GTest::GMock Yaml::Yaml)
|
target_link_libraries(style_tests PUBLIC GTest::GTest GTest::GMock Yaml::Yaml lammps)
|
||||||
if(BUILD_MPI)
|
if(BUILD_MPI)
|
||||||
target_link_libraries(style_tests PUBLIC MPI::MPI_CXX)
|
target_link_libraries(style_tests PUBLIC MPI::MPI_CXX)
|
||||||
else()
|
else()
|
||||||
|
|||||||
@ -7,6 +7,7 @@ endif()
|
|||||||
include(CheckLanguage)
|
include(CheckLanguage)
|
||||||
check_language(Fortran)
|
check_language(Fortran)
|
||||||
if(CMAKE_Fortran_COMPILER)
|
if(CMAKE_Fortran_COMPILER)
|
||||||
|
enable_language(C)
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
get_filename_component(LAMMPS_FORTRAN_MODULE ${LAMMPS_SOURCE_DIR}/../fortran/lammps.f90 ABSOLUTE)
|
get_filename_component(LAMMPS_FORTRAN_MODULE ${LAMMPS_SOURCE_DIR}/../fortran/lammps.f90 ABSOLUTE)
|
||||||
if(BUILD_MPI)
|
if(BUILD_MPI)
|
||||||
|
|||||||
Reference in New Issue
Block a user