diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a2ad4c00..99a80b291 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ endif() # This is the top level CMake file for the SCOREC build cmake_minimum_required(VERSION 3.12) -project(SCOREC VERSION 4.1.0 LANGUAGES CXX C) +project(SCOREC VERSION 4.2.0 LANGUAGES CXX C) include(cmake/bob.cmake) include(cmake/xsdk.cmake) @@ -174,6 +174,19 @@ endif() configure_file(SCOREC_config.h.in SCOREC_config.h) install(FILES "${CMAKE_BINARY_DIR}/SCOREC_config.h" DESTINATION include) + +if(ENABLE_SIMMETRIX) + option(ENABLE_FIELDSIM "Enable use of FieldSim from Simmetrix SimModSuite" FALSE) + message(STATUS "ENABLE_FIELDSIM: ${ENABLE_FIELDSIM}") + set(USE_FIELDSIM FALSE) + if(SIMMODSUITE_SimField_FOUND AND ENABLE_FIELDSIM) + set(USE_FIELDSIM TRUE) + endif() + set(USE_SIM_ADVMESHING ${SIMMODSUITE_SimAdvMeshing_FOUND}) + configure_file(pumi_simModSuiteConfig.h.in pumi_simModSuiteConfig.h) + install(FILES "${CMAKE_BINARY_DIR}/pumi_simModSuiteConfig.h" DESTINATION include) +endif() + include_directories(PUBLIC "$") # Include the SCOREC project packages diff --git a/apf_cap/pkg_tribits.cmake b/apf_cap/pkg_tribits.cmake index 595337175..8738e6bbe 100644 --- a/apf_cap/pkg_tribits.cmake +++ b/apf_cap/pkg_tribits.cmake @@ -2,8 +2,8 @@ tribits_package(SCORECapf_cap) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -#directory containing apf_simConfig.h -include_directories("${CMAKE_CURRENT_BINARY_DIR}") +#directory containing pumi_simModSuiteConfig.h +include_directories("${PROJECT_BINARY_DIR}") #Sources & Headers set(SOURCES apfCAP.cc) diff --git a/apf_sim/CMakeLists.txt b/apf_sim/CMakeLists.txt index 7606ef720..17fba445c 100644 --- a/apf_sim/CMakeLists.txt +++ b/apf_sim/CMakeLists.txt @@ -10,7 +10,7 @@ endif() #Sources & Headers set(SOURCES apfSIM.cc) -set(HEADERS apfSIM.h) +set(HEADERS apfSIM.h apf_simConfig.h) #Library add_library(apf_sim ${SOURCES}) @@ -21,24 +21,6 @@ target_include_directories(apf_sim PUBLIC $ ) -option(ENABLE_FIELDSIM "Enable use of FieldSim from Simmetrix SimModSuite" FALSE) -message(STATUS "ENABLE_FIELDSIM: ${ENABLE_FIELDSIM}") -set(USE_FIELDSIM FALSE) -if( ${SIMMODSUITE_SimField_FOUND} AND ENABLE_FIELDSIM ) - set(USE_FIELDSIM TRUE) -endif() -set(USE_SIM_ADVMESHING ${HAVE_SIMADVMESHING}) - -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/apf_simConfig.h.in" - "${CMAKE_CURRENT_BINARY_DIR}/apf_simConfig.h") -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/apf_simConfig.h - DESTINATION include) -#directory containing apf_simConfig.h -target_include_directories(apf_sim PUBLIC - $) - - scorec_export_library(apf_sim) bob_end_subdir() diff --git a/apf_sim/apfSIM.cc b/apf_sim/apfSIM.cc index 09a447a19..6b501ef45 100644 --- a/apf_sim/apfSIM.cc +++ b/apf_sim/apfSIM.cc @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/apf_sim/apf_simConfig.h b/apf_sim/apf_simConfig.h new file mode 100644 index 000000000..a41955fca --- /dev/null +++ b/apf_sim/apf_simConfig.h @@ -0,0 +1,8 @@ +#include + +#if defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) + #warning "apf_simConfig.h is deprecated. Please use pumi_simModSuiteConfig.h instead." +#elif defined(_MSC_VER) + #pragma message("warning: apf_simConfig.h is deprecated. Please use pumi_simModSuiteConfig.h instead.") +#endif + diff --git a/apf_sim/pkg_tribits.cmake b/apf_sim/pkg_tribits.cmake index 7661a479d..6b073fb9b 100644 --- a/apf_sim/pkg_tribits.cmake +++ b/apf_sim/pkg_tribits.cmake @@ -2,23 +2,13 @@ tribits_package(SCORECapf_sim) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -if(SCORECapf_sim_ENABLE_SimField) - add_definitions(-DUSE_FIELDSIM) -endif() - -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/apf_simConfig.h.in" - "${PROJECT_BINARY_DIR}/apf_simConfig.h") -#directory containing apf_simConfig.h -include_directories("${CMAKE_CURRENT_BINARY_DIR}") - #Sources & Headers set(SOURCES apfSIM.cc) set(HEADERS apfSIM.h) #Library tribits_add_library( - apf_sim + apf_sim HEADERS ${HEADERS} SOURCES ${SOURCES}) diff --git a/cmake/FindSimModSuite.cmake b/cmake/FindSimModSuite.cmake index a41b9dbc5..6fdbe5ecd 100644 --- a/cmake/FindSimModSuite.cmake +++ b/cmake/FindSimModSuite.cmake @@ -84,7 +84,7 @@ string(REGEX REPLACE "${SIM_VERSION}") set(MIN_VALID_SIM_VERSION 15.0.191017) -set(MAX_VALID_SIM_VERSION 2025.0.250108) +set(MAX_VALID_SIM_VERSION 2026.0.260411) if( ${SKIP_SIMMETRIX_VERSION_CHECK} ) message(STATUS "Skipping Simmetrix SimModSuite version check." " This may result in undefined behavior") diff --git a/gmi_sim/gmi_sim.cc b/gmi_sim/gmi_sim.cc index e79b25d6b..2d58c1fe6 100644 --- a/gmi_sim/gmi_sim.cc +++ b/gmi_sim/gmi_sim.cc @@ -16,6 +16,7 @@ #include #include "gmi_sim_config.h" +#include //simmodsuite version #ifdef SIM_PARASOLID #include "SimParasolidKrnl.h" @@ -493,8 +494,14 @@ struct gmi_model* gmi_sim_load(const char* nativefile, const char* smdfile) if (NM_isAssemblyModel(nm)) { pGModel am = GAM_createFromNativeModel(nm, NULL); NM_release(nm); +#if SIMMODSUITE_MAJOR_VERSION < 2026 sm = GM_createFromAssemblyModel(am, NULL, NULL); GM_release(am); +#else + pModelBuilder mb = ModelBuilder_new(am); + ModelBuilder_setOperation(mb, ModelBuilder_unite); + sm = ModelBuilder_execute(mb, NULL); +#endif nm = GM_nativeModel(sm); } else sm = GM_createFromNativeModel(nm, NULL); diff --git a/phasta/phAttrib.cc b/phasta/phAttrib.cc index 5c98a63f5..11d509ba5 100644 --- a/phasta/phAttrib.cc +++ b/phasta/phAttrib.cc @@ -6,7 +6,7 @@ #include #include #include -#include "apf_simConfig.h" +#include typedef ph::BC* (*BCFactory)(pAttribute a, pGEntity ge); typedef std::map BCFactories; diff --git a/apf_sim/apf_simConfig.h.in b/pumi_simModSuiteConfig.h.in similarity index 100% rename from apf_sim/apf_simConfig.h.in rename to pumi_simModSuiteConfig.h.in diff --git a/test/generate.cc b/test/generate.cc index 5e76958e5..50da46516 100644 --- a/test/generate.cc +++ b/test/generate.cc @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include "gmi_sim_config.h" #include #include diff --git a/test/rm_extrusion.cc b/test/rm_extrusion.cc index 701c7ab85..ab7132f60 100644 --- a/test/rm_extrusion.cc +++ b/test/rm_extrusion.cc @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test/simSpjToSmd.cc b/test/simSpjToSmd.cc index aef78648e..5887b1f96 100644 --- a/test/simSpjToSmd.cc +++ b/test/simSpjToSmd.cc @@ -2,6 +2,7 @@ #include "SimAttribute.h" #include "AttributeTypes.h" #include "SimParasolidKrnl.h" +#include "pumi_simModSuiteConfig.h" #include "string.h" #include #include @@ -37,8 +38,14 @@ int main(int argc, char* argv[]) if(NM_isAssemblyModel(pnModel)) { pGModel amodel = GAM_createFromNativeModel(pnModel, prog); NM_release(pnModel); +#if SIMMODSUITE_MAJOR_VERSION < 2026 model = GM_createFromAssemblyModel(amodel, NULL, prog); GM_release(amodel); +#else + pModelBuilder mb = ModelBuilder_new(amodel); + ModelBuilder_setOperation(mb, ModelBuilder_unite); + model = ModelBuilder_execute(mb, NULL); +#endif pnModel = GM_nativeModel(model); } else diff --git a/test/simTranslate.cc b/test/simTranslate.cc index 3f9ad3e59..4d7ed1b48 100644 --- a/test/simTranslate.cc +++ b/test/simTranslate.cc @@ -18,7 +18,7 @@ #include #include -#include +#include /* cheap hackish way to get SIM_PARASOLID and SIM_ACIS */ #include "gmi_sim_config.h" #include