diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ff546a1d7..fd2e73c9ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,8 @@ option(STORM_FORCE_POPCNT "Sets whether the popcnt instruction is forced to be u MARK_AS_ADVANCED(STORM_FORCE_POPCNT) option(STORM_COMPILE_WITH_CCACHE "Compile using CCache [if found]" ON) mark_as_advanced(STORM_COMPILE_WITH_CCACHE) +option(STORM_COMPILE_WITH_PCH "Enable pre-compiled headers" ON) +mark_as_advanced(STORM_COMPILE_WITH_PCH) option(STORM_LOG_DISABLE_DEBUG "Disable log and trace message support" OFF) option(STORM_COMPILE_WITH_ADDRESS_SANITIZER "Sets whether to compile with AddressSanitizer enabled" OFF) option(STORM_COMPILE_WITH_ALL_SANITIZERS "Sets whether to compile with all sanitizers enabled" OFF) @@ -308,6 +310,11 @@ endif () ## ############################################################# +if(NOT STORM_COMPILE_WITH_PCH) + set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON) + message(STATUS "Storm - Disabling precompiled headers.") +endif() + # Selection is based on (relatively extensive, but ad-hoc) compilation profiling in late 2023. # As changes mean recompilations of the complete code base, we only use std libraries and boost libraries here for now. SET(STORM_PRECOMPILED_HEADERS "" "" "" "" "" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 02123bbe29..37f91c1a82 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -34,6 +34,13 @@ if (STORM_COMPILE_WITH_ADDRESS_SANITIZER) add_link_options(-fsanitize=address) endif() +# Allow for disabling pre compiled headers +function(storm_target_precompile_headers target) + if(NOT CMAKE_DISABLE_PRECOMPILE_HEADERS) + target_precompile_headers(${target} ${ARGN}) + endif() +endfunction() + # In release mode, we turn on even more optimizations if we do not have to provide a portable binary. if (NOT STORM_PORTABLE AND (NOT APPLE_SILICON OR (STORM_COMPILER_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0))) add_compile_options($<$:-march=native>) diff --git a/src/storm-cli-utilities/AutomaticSettings.h b/src/storm-cli-utilities/AutomaticSettings.h index d3a3bc69b2..ba500c05ad 100644 --- a/src/storm-cli-utilities/AutomaticSettings.h +++ b/src/storm-cli-utilities/AutomaticSettings.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/utility/Engine.h" namespace storm { diff --git a/src/storm-cli-utilities/CMakeLists.txt b/src/storm-cli-utilities/CMakeLists.txt index eba3308270..1af0660f31 100644 --- a/src/storm-cli-utilities/CMakeLists.txt +++ b/src/storm-cli-utilities/CMakeLists.txt @@ -9,7 +9,7 @@ target_sources(storm-cli-utilities ${STORM_CLI_UTIL_SOURCES} PUBLIC FILE_SET fs_storm_cli_utilities_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_CLI_UTIL_HEADERS}) -target_precompile_headers(storm-cli-utilities REUSE_FROM storm) +storm_target_precompile_headers(storm-cli-utilities REUSE_FROM storm) set_target_properties(storm-cli-utilities PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-cli-utilities PUBLIC storm storm-counterexamples storm-gamebased-ar storm-parsers storm-version-info) set_target_properties(storm-cli-utilities PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-cli/CMakeLists.txt b/src/storm-cli/CMakeLists.txt index d5b15d2956..10fc6080d5 100644 --- a/src/storm-cli/CMakeLists.txt +++ b/src/storm-cli/CMakeLists.txt @@ -3,7 +3,7 @@ add_executable(storm-cli ${PROJECT_SOURCE_DIR}/src/storm-cli/storm-cli.cpp) target_link_libraries(storm-cli storm storm-cli-utilities) set_target_properties(storm-cli PROPERTIES OUTPUT_NAME "storm") set_target_properties(storm-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) -target_precompile_headers(storm-cli PRIVATE ${STORM_PRECOMPILED_HEADERS}) +storm_target_precompile_headers(storm-cli PRIVATE ${STORM_PRECOMPILED_HEADERS}) add_dependencies(binaries storm-cli) diff --git a/src/storm-conv-cli/CMakeLists.txt b/src/storm-conv-cli/CMakeLists.txt index dc7056087b..b79633db98 100644 --- a/src/storm-conv-cli/CMakeLists.txt +++ b/src/storm-conv-cli/CMakeLists.txt @@ -3,7 +3,7 @@ add_executable(storm-conv-cli ${PROJECT_SOURCE_DIR}/src/storm-conv-cli/storm-con target_link_libraries(storm-conv-cli storm-conv storm-cli-utilities) set_target_properties(storm-conv-cli PROPERTIES OUTPUT_NAME "storm-conv") set_target_properties(storm-conv-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) -target_precompile_headers(storm-conv-cli REUSE_FROM storm-cli) +storm_target_precompile_headers(storm-conv-cli REUSE_FROM storm-cli) add_dependencies(binaries storm-conv-cli) diff --git a/src/storm-conv/CMakeLists.txt b/src/storm-conv/CMakeLists.txt index 05d5a98901..89d7e234f3 100644 --- a/src/storm-conv/CMakeLists.txt +++ b/src/storm-conv/CMakeLists.txt @@ -8,7 +8,7 @@ target_sources(storm-conv ${STORM_CONV_SOURCES} PUBLIC FILE_SET fs_storm_conv_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_CONV_HEADERS}) -target_precompile_headers(storm-conv REUSE_FROM storm) +storm_target_precompile_headers(storm-conv REUSE_FROM storm) set_target_properties(storm-conv PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-conv PUBLIC storm) set_target_properties(storm-conv PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-counterexamples/CMakeLists.txt b/src/storm-counterexamples/CMakeLists.txt index 4b787e33ca..7448579d0f 100644 --- a/src/storm-counterexamples/CMakeLists.txt +++ b/src/storm-counterexamples/CMakeLists.txt @@ -7,7 +7,7 @@ target_sources(storm-counterexamples ${STORM_CEX_SOURCES} PUBLIC FILE_SET fs_storm_cex_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_CEX_HEADERS}) -target_precompile_headers(storm-counterexamples REUSE_FROM storm) +storm_target_precompile_headers(storm-counterexamples REUSE_FROM storm) set_target_properties(storm-counterexamples PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-counterexamples PUBLIC storm) set_target_properties(storm-counterexamples PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-dft-cli/CMakeLists.txt b/src/storm-dft-cli/CMakeLists.txt index b68602e7e9..d44d0e14a4 100644 --- a/src/storm-dft-cli/CMakeLists.txt +++ b/src/storm-dft-cli/CMakeLists.txt @@ -3,7 +3,7 @@ add_executable(storm-dft-cli ${PROJECT_SOURCE_DIR}/src/storm-dft-cli/storm-dft.c target_link_libraries(storm-dft-cli storm-dft storm-cli-utilities) set_target_properties(storm-dft-cli PROPERTIES OUTPUT_NAME "storm-dft") set_target_properties(storm-dft-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) -target_precompile_headers(storm-dft-cli REUSE_FROM storm-cli) +storm_target_precompile_headers(storm-dft-cli REUSE_FROM storm-cli) add_dependencies(binaries storm-dft-cli) diff --git a/src/storm-dft/CMakeLists.txt b/src/storm-dft/CMakeLists.txt index b3e6ce4b3c..1391f7d509 100644 --- a/src/storm-dft/CMakeLists.txt +++ b/src/storm-dft/CMakeLists.txt @@ -8,7 +8,7 @@ target_sources(storm-dft ${STORM_DFT_SOURCES} PUBLIC FILE_SET fs_storm_dft_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_DFT_HEADERS}) -target_precompile_headers(storm-dft REUSE_FROM storm) +storm_target_precompile_headers(storm-dft REUSE_FROM storm) set_target_properties(storm-dft PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-dft PUBLIC storm storm-gspn storm-conv storm-parsers storm-pars ${STORM_DFT_LINK_LIBRARIES}) set_target_properties(storm-dft PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-gamebased-ar/CMakeLists.txt b/src/storm-gamebased-ar/CMakeLists.txt index 190a22d89f..d9f1b92113 100644 --- a/src/storm-gamebased-ar/CMakeLists.txt +++ b/src/storm-gamebased-ar/CMakeLists.txt @@ -7,7 +7,7 @@ target_sources(storm-gamebased-ar ${STORM_GBAR_SOURCES} PUBLIC FILE_SET fs_storm_gbar_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_GBAR_HEADERS}) -target_precompile_headers(storm-gamebased-ar REUSE_FROM storm) +storm_target_precompile_headers(storm-gamebased-ar REUSE_FROM storm) set_target_properties(storm-gamebased-ar PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-gamebased-ar PUBLIC storm) set_target_properties(storm-gamebased-ar PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-gspn-cli/CMakeLists.txt b/src/storm-gspn-cli/CMakeLists.txt index 1fca3c6b8e..dfc836dcf3 100644 --- a/src/storm-gspn-cli/CMakeLists.txt +++ b/src/storm-gspn-cli/CMakeLists.txt @@ -3,7 +3,7 @@ add_executable(storm-gspn-cli ${PROJECT_SOURCE_DIR}/src/storm-gspn-cli/storm-gsp target_link_libraries(storm-gspn-cli storm-gspn storm-cli-utilities) set_target_properties(storm-gspn-cli PROPERTIES OUTPUT_NAME "storm-gspn") set_target_properties(storm-gspn-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) -target_precompile_headers(storm-gspn-cli REUSE_FROM storm-cli) +storm_target_precompile_headers(storm-gspn-cli REUSE_FROM storm-cli) add_dependencies(binaries storm-gspn-cli) diff --git a/src/storm-gspn/CMakeLists.txt b/src/storm-gspn/CMakeLists.txt index b8e5caeef0..c4d72c7d57 100644 --- a/src/storm-gspn/CMakeLists.txt +++ b/src/storm-gspn/CMakeLists.txt @@ -7,7 +7,7 @@ target_sources(storm-gspn ${STORM_GSPN_SOURCES} PUBLIC FILE_SET fs_storm_gspn_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_GSPN_HEADERS}) -target_precompile_headers(storm-gspn REUSE_FROM storm) +storm_target_precompile_headers(storm-gspn REUSE_FROM storm) set_target_properties(storm-gspn PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) target_link_libraries(storm-gspn PUBLIC storm storm-conv storm-parsers ${STORM_GSPN_LINK_LIBRARIES}) set_target_properties(storm-gspn PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. diff --git a/src/storm-gspn/storage/gspn/Place.h b/src/storm-gspn/storage/gspn/Place.h index 478f0f4d6c..3ab3a8b976 100644 --- a/src/storm-gspn/storage/gspn/Place.h +++ b/src/storm-gspn/storage/gspn/Place.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include namespace storm { diff --git a/src/storm-gspn/storage/gspn/TransitionPartition.h b/src/storm-gspn/storage/gspn/TransitionPartition.h index 676e87c50c..70f1614a0c 100644 --- a/src/storm-gspn/storage/gspn/TransitionPartition.h +++ b/src/storm-gspn/storage/gspn/TransitionPartition.h @@ -1,4 +1,5 @@ #pragma once +#include #include namespace storm { diff --git a/src/storm-pars-cli/CMakeLists.txt b/src/storm-pars-cli/CMakeLists.txt index 5c51c5036a..edf199adaa 100644 --- a/src/storm-pars-cli/CMakeLists.txt +++ b/src/storm-pars-cli/CMakeLists.txt @@ -8,7 +8,7 @@ target_link_libraries(storm-pars-cli storm-pars storm-cli-utilities) target_include_directories(storm-pars-cli PRIVATE "${PROJECT_SOURCE_DIR}/src") set_target_properties(storm-pars-cli PROPERTIES OUTPUT_NAME "storm-pars") set_target_properties(storm-pars-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) -target_precompile_headers(storm-pars-cli REUSE_FROM storm-cli) +storm_target_precompile_headers(storm-pars-cli REUSE_FROM storm-cli) add_dependencies(binaries storm-pars-cli) diff --git a/src/storm-pars/CMakeLists.txt b/src/storm-pars/CMakeLists.txt index 5ceba61162..cdff27042b 100644 --- a/src/storm-pars/CMakeLists.txt +++ b/src/storm-pars/CMakeLists.txt @@ -8,7 +8,7 @@ target_sources(storm-pars ${STORM_PARS_SOURCES} PUBLIC FILE_SET fs_storm_pars_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_PARS_HEADERS}) -target_precompile_headers(storm-pars REUSE_FROM storm) +storm_target_precompile_headers(storm-pars REUSE_FROM storm) set_target_properties(storm-pars PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) set_target_properties(storm-pars PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. target_link_libraries(storm-pars PUBLIC storm) diff --git a/src/storm-pars/modelchecker/region/RegionSplittingStrategy.h b/src/storm-pars/modelchecker/region/RegionSplittingStrategy.h index df7698ad57..17db3bc944 100644 --- a/src/storm-pars/modelchecker/region/RegionSplittingStrategy.h +++ b/src/storm-pars/modelchecker/region/RegionSplittingStrategy.h @@ -1,5 +1,8 @@ #pragma once +#include +#include +#include #include #include "RegionSplitEstimateKind.h" diff --git a/src/storm-parsers/CMakeLists.txt b/src/storm-parsers/CMakeLists.txt index 8564131b35..e758deb683 100644 --- a/src/storm-parsers/CMakeLists.txt +++ b/src/storm-parsers/CMakeLists.txt @@ -11,7 +11,7 @@ target_sources(storm-parsers ${STORM_PARSER_SOURCES} PUBLIC FILE_SET fs_storm_parsers_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_PARSER_HEADERS}) -target_precompile_headers(storm-parsers REUSE_FROM storm) +storm_target_precompile_headers(storm-parsers REUSE_FROM storm) set_target_properties(storm-parsers PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) set_target_properties(storm-parsers PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. target_link_libraries(storm-parsers PUBLIC storm) diff --git a/src/storm-parsers/parser/ExpressionParser.h b/src/storm-parsers/parser/ExpressionParser.h index 87887b04f8..e32a1aefc1 100644 --- a/src/storm-parsers/parser/ExpressionParser.h +++ b/src/storm-parsers/parser/ExpressionParser.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include "storm-parsers/parser/SpiritErrorHandler.h" diff --git a/src/storm-parsers/parser/SparseChoiceLabelingParser.h b/src/storm-parsers/parser/SparseChoiceLabelingParser.h index 22e33aa49d..0eaa861c56 100644 --- a/src/storm-parsers/parser/SparseChoiceLabelingParser.h +++ b/src/storm-parsers/parser/SparseChoiceLabelingParser.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include diff --git a/src/storm-permissive/CMakeLists.txt b/src/storm-permissive/CMakeLists.txt index 1b5138ce8b..323ac622a0 100644 --- a/src/storm-permissive/CMakeLists.txt +++ b/src/storm-permissive/CMakeLists.txt @@ -8,7 +8,7 @@ target_sources(storm-permissive ${STORM_PERMISSIVE_SOURCES} PUBLIC FILE_SET fs_storm_permissive_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_PERMISSIVE_HEADERS}) -target_precompile_headers(storm-permissive REUSE_FROM storm) +storm_target_precompile_headers(storm-permissive REUSE_FROM storm) set_target_properties(storm-permissive PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) set_target_properties(storm-permissive PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. target_link_libraries(storm-permissive PUBLIC storm) diff --git a/src/storm-permissive/analysis/PermissiveSchedulerPenalty.h b/src/storm-permissive/analysis/PermissiveSchedulerPenalty.h index 75dd20b38b..a502a42f66 100644 --- a/src/storm-permissive/analysis/PermissiveSchedulerPenalty.h +++ b/src/storm-permissive/analysis/PermissiveSchedulerPenalty.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include "storm/storage/StateActionPair.h" diff --git a/src/storm-pomdp-cli/CMakeLists.txt b/src/storm-pomdp-cli/CMakeLists.txt index db8afc778e..2bd9b8780f 100644 --- a/src/storm-pomdp-cli/CMakeLists.txt +++ b/src/storm-pomdp-cli/CMakeLists.txt @@ -5,7 +5,7 @@ add_executable(storm-pomdp-cli ${PROJECT_SOURCE_DIR}/src/storm-pomdp-cli/storm-p target_link_libraries(storm-pomdp-cli storm-pomdp storm-cli-utilities) set_target_properties(storm-pomdp-cli PROPERTIES OUTPUT_NAME "storm-pomdp") target_include_directories(storm-pomdp-cli PRIVATE "${PROJECT_SOURCE_DIR}/src") -target_precompile_headers(storm-pomdp-cli REUSE_FROM storm-cli) +storm_target_precompile_headers(storm-pomdp-cli REUSE_FROM storm-cli) set_target_properties(storm-pomdp-cli PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) add_dependencies(binaries storm-pomdp-cli) diff --git a/src/storm-pomdp/CMakeLists.txt b/src/storm-pomdp/CMakeLists.txt index 019585a307..9701f93bf7 100644 --- a/src/storm-pomdp/CMakeLists.txt +++ b/src/storm-pomdp/CMakeLists.txt @@ -8,7 +8,7 @@ target_sources(storm-pomdp ${STORM_POMDP_SOURCES} PUBLIC FILE_SET fs_storm_pomdp_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_POMDP_HEADERS}) -target_precompile_headers(storm-pomdp REUSE_FROM storm) +storm_target_precompile_headers(storm-pomdp REUSE_FROM storm) set_target_properties(storm-pomdp PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) set_target_properties(storm-pomdp PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. target_link_libraries(storm-pomdp PUBLIC storm storm-parsers storm-pars) diff --git a/src/storm/CMakeLists.txt b/src/storm/CMakeLists.txt index 24d978ca82..742197c28d 100644 --- a/src/storm/CMakeLists.txt +++ b/src/storm/CMakeLists.txt @@ -19,7 +19,7 @@ add_library(storm SHARED) target_sources(storm PRIVATE ${STORM_SOURCES}) target_sources(storm PUBLIC FILE_SET fs_storm_headers TYPE HEADERS BASE_DIRS "${PROJECT_SOURCE_DIR}/src" FILES ${STORM_HEADERS}) target_sources(storm PUBLIC FILE_SET fs_storm_configured_headers TYPE HEADERS BASE_DIRS "${PROJECT_BINARY_DIR}/include" FILES ${STORM_BUILD_HEADERS}) -target_precompile_headers(storm PRIVATE ${STORM_PRECOMPILED_HEADERS}) +storm_target_precompile_headers(storm PRIVATE ${STORM_PRECOMPILED_HEADERS}) set_target_properties(storm PROPERTIES VERSION ${STORM_VERSION} SOVERSION ${STORM_VERSION}) set_target_properties(storm PROPERTIES DEFINE_SYMBOL "") # to avoid problems with pch on linux. set_target_properties(storm PROPERTIES BUILD_RPATH ${STORM_3RDPARTY_BINARY_DIR}/spot/lib/) diff --git a/src/storm/adapters/JsonForward.h b/src/storm/adapters/JsonForward.h index d8d32c6a2b..ebc410e26a 100644 --- a/src/storm/adapters/JsonForward.h +++ b/src/storm/adapters/JsonForward.h @@ -1,4 +1,5 @@ #pragma once +#include #include #include #include diff --git a/src/storm/adapters/sylvan.h b/src/storm/adapters/sylvan.h index a34e880596..cc7328e8ab 100644 --- a/src/storm/adapters/sylvan.h +++ b/src/storm/adapters/sylvan.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm-config.h" #ifdef STORM_HAVE_SYLVAN diff --git a/src/storm/environment/solver/EigenSolverEnvironment.h b/src/storm/environment/solver/EigenSolverEnvironment.h index 0504c4e151..f42384f756 100644 --- a/src/storm/environment/solver/EigenSolverEnvironment.h +++ b/src/storm/environment/solver/EigenSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/SolverSelectionOptions.h" diff --git a/src/storm/environment/solver/GameSolverEnvironment.h b/src/storm/environment/solver/GameSolverEnvironment.h index 1e2e8fb0c0..dd43de15e5 100644 --- a/src/storm/environment/solver/GameSolverEnvironment.h +++ b/src/storm/environment/solver/GameSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/MultiplicationStyle.h" diff --git a/src/storm/environment/solver/GmmxxSolverEnvironment.h b/src/storm/environment/solver/GmmxxSolverEnvironment.h index 232cd25ae8..e0a83e2d0c 100644 --- a/src/storm/environment/solver/GmmxxSolverEnvironment.h +++ b/src/storm/environment/solver/GmmxxSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/SolverSelectionOptions.h" diff --git a/src/storm/environment/solver/LongRunAverageSolverEnvironment.h b/src/storm/environment/solver/LongRunAverageSolverEnvironment.h index 08fe4f528a..796ddbe390 100644 --- a/src/storm/environment/solver/LongRunAverageSolverEnvironment.h +++ b/src/storm/environment/solver/LongRunAverageSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/SolverSelectionOptions.h" diff --git a/src/storm/environment/solver/MinMaxSolverEnvironment.h b/src/storm/environment/solver/MinMaxSolverEnvironment.h index 07548fb63d..dbdbd22afe 100644 --- a/src/storm/environment/solver/MinMaxSolverEnvironment.h +++ b/src/storm/environment/solver/MinMaxSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/MultiplicationStyle.h" diff --git a/src/storm/environment/solver/NativeSolverEnvironment.h b/src/storm/environment/solver/NativeSolverEnvironment.h index 0d68e1f5ca..d1ba321f8d 100644 --- a/src/storm/environment/solver/NativeSolverEnvironment.h +++ b/src/storm/environment/solver/NativeSolverEnvironment.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/adapters/RationalNumberAdapter.h" #include "storm/environment/solver/SolverEnvironment.h" #include "storm/solver/MultiplicationStyle.h" diff --git a/src/storm/logic/Formula.h b/src/storm/logic/Formula.h index 591c604204..f2497c1c20 100644 --- a/src/storm/logic/Formula.h +++ b/src/storm/logic/Formula.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/logic/MultiObjectiveFormula.h b/src/storm/logic/MultiObjectiveFormula.h index 3b53e06645..f4520c7d60 100644 --- a/src/storm/logic/MultiObjectiveFormula.h +++ b/src/storm/logic/MultiObjectiveFormula.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/logic/StateFormula.h" namespace storm { diff --git a/src/storm/logic/QuantileFormula.h b/src/storm/logic/QuantileFormula.h index 8832114dfd..e5cae605b5 100644 --- a/src/storm/logic/QuantileFormula.h +++ b/src/storm/logic/QuantileFormula.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/logic/StateFormula.h" namespace storm { diff --git a/src/storm/modelchecker/lexicographic/spotHelper/SpotProduct.h b/src/storm/modelchecker/lexicographic/spotHelper/SpotProduct.h index d0780ce61d..6825459a33 100644 --- a/src/storm/modelchecker/lexicographic/spotHelper/SpotProduct.h +++ b/src/storm/modelchecker/lexicographic/spotHelper/SpotProduct.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/automata/DeterministicAutomaton.h" #include "storm/logic/ExtractMaximalStateFormulasVisitor.h" #include "storm/logic/MultiObjectiveFormula.h" diff --git a/src/storm/modelchecker/multiobjective/deterministicScheds/DeterministicSchedsAchievabilityChecker.h b/src/storm/modelchecker/multiobjective/deterministicScheds/DeterministicSchedsAchievabilityChecker.h index f9c21ee0cc..bbd1528556 100644 --- a/src/storm/modelchecker/multiobjective/deterministicScheds/DeterministicSchedsAchievabilityChecker.h +++ b/src/storm/modelchecker/multiobjective/deterministicScheds/DeterministicSchedsAchievabilityChecker.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/modelchecker/results/QualitativeCheckResult.h b/src/storm/modelchecker/results/QualitativeCheckResult.h index 142d346dc4..7f09c77645 100644 --- a/src/storm/modelchecker/results/QualitativeCheckResult.h +++ b/src/storm/modelchecker/results/QualitativeCheckResult.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/modelchecker/results/CheckResult.h" namespace storm { diff --git a/src/storm/settings/ArgumentValidators.h b/src/storm/settings/ArgumentValidators.h index dda3a9b991..d14d55fc7a 100644 --- a/src/storm/settings/ArgumentValidators.h +++ b/src/storm/settings/ArgumentValidators.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/solver/helper/DiscountedValueIterationHelper.h b/src/storm/solver/helper/DiscountedValueIterationHelper.h index 4bf2ca110a..fa654ca8d0 100644 --- a/src/storm/solver/helper/DiscountedValueIterationHelper.h +++ b/src/storm/solver/helper/DiscountedValueIterationHelper.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/solver/helper/OptimisticValueIterationHelper.h b/src/storm/solver/helper/OptimisticValueIterationHelper.h index c292c5a6d5..5491046f1f 100644 --- a/src/storm/solver/helper/OptimisticValueIterationHelper.h +++ b/src/storm/solver/helper/OptimisticValueIterationHelper.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/solver/helper/RationalSearchHelper.h b/src/storm/solver/helper/RationalSearchHelper.h index 45af97a247..7f85b4051f 100644 --- a/src/storm/solver/helper/RationalSearchHelper.h +++ b/src/storm/solver/helper/RationalSearchHelper.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/solver/helper/SchedulerTrackingHelper.h b/src/storm/solver/helper/SchedulerTrackingHelper.h index 7a3ad04c37..2c909091ab 100644 --- a/src/storm/solver/helper/SchedulerTrackingHelper.h +++ b/src/storm/solver/helper/SchedulerTrackingHelper.h @@ -1,4 +1,7 @@ #pragma once + +#include +#include #include #include diff --git a/src/storm/solver/helper/ValueIterationHelper.h b/src/storm/solver/helper/ValueIterationHelper.h index 3a78450463..cfe3bee7d9 100644 --- a/src/storm/solver/helper/ValueIterationHelper.h +++ b/src/storm/solver/helper/ValueIterationHelper.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/solver/multiplier/Multiplier.h b/src/storm/solver/multiplier/Multiplier.h index b9c8e6a244..d471a85f2e 100644 --- a/src/storm/solver/multiplier/Multiplier.h +++ b/src/storm/solver/multiplier/Multiplier.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include diff --git a/src/storm/solver/multiplier/NativeMultiplier.h b/src/storm/solver/multiplier/NativeMultiplier.h index fbecd2e861..3453e8a5fa 100644 --- a/src/storm/solver/multiplier/NativeMultiplier.h +++ b/src/storm/solver/multiplier/NativeMultiplier.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/solver/multiplier/Multiplier.h" #include "storm/solver/OptimizationDirection.h" diff --git a/src/storm/storage/BitVector.cpp b/src/storm/storage/BitVector.cpp index 4a3624cbfb..0af7894c83 100644 --- a/src/storm/storage/BitVector.cpp +++ b/src/storm/storage/BitVector.cpp @@ -1,9 +1,11 @@ +#include "storm/storage/BitVector.h" + #include #include #include +#include #include -#include "storm/storage/BitVector.h" #include "storm/storage/BoostTypes.h" #include "storm/utility/macros.h" diff --git a/src/storm/storage/ConsecutiveUint64DynamicPriorityQueue.h b/src/storm/storage/ConsecutiveUint64DynamicPriorityQueue.h index 1d5b59332e..c0f964e429 100644 --- a/src/storm/storage/ConsecutiveUint64DynamicPriorityQueue.h +++ b/src/storm/storage/ConsecutiveUint64DynamicPriorityQueue.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include diff --git a/src/storm/storage/PairHash.h b/src/storm/storage/PairHash.h index 53e079b4f9..e2a083c1fd 100644 --- a/src/storm/storage/PairHash.h +++ b/src/storm/storage/PairHash.h @@ -1,6 +1,7 @@ #pragma once #include +#include namespace std { template<> diff --git a/src/storm/storage/Qvbs.h b/src/storm/storage/Qvbs.h index 8f89c61e6e..d883e72c63 100644 --- a/src/storm/storage/Qvbs.h +++ b/src/storm/storage/Qvbs.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include diff --git a/src/storm/storage/StateActionPair.h b/src/storm/storage/StateActionPair.h index 918c7c8706..abde6d527e 100644 --- a/src/storm/storage/StateActionPair.h +++ b/src/storm/storage/StateActionPair.h @@ -1,5 +1,6 @@ #pragma once +#include #include namespace storm { diff --git a/src/storm/storage/StateActionTargetTuple.h b/src/storm/storage/StateActionTargetTuple.h index e70b4665d5..2839375c95 100644 --- a/src/storm/storage/StateActionTargetTuple.h +++ b/src/storm/storage/StateActionTargetTuple.h @@ -1,5 +1,6 @@ #pragma once +#include #include namespace storm { diff --git a/src/storm/storage/bisimulation/Block.h b/src/storm/storage/bisimulation/Block.h index db412e739b..d7bc864991 100644 --- a/src/storm/storage/bisimulation/Block.h +++ b/src/storm/storage/bisimulation/Block.h @@ -1,5 +1,7 @@ #pragma once +#include + #include "storm/storage/sparse/StateType.h" namespace storm { diff --git a/src/storm/storage/bisimulation/DeterministicBlockData.h b/src/storm/storage/bisimulation/DeterministicBlockData.h index e0f345813b..84f274436c 100644 --- a/src/storm/storage/bisimulation/DeterministicBlockData.h +++ b/src/storm/storage/bisimulation/DeterministicBlockData.h @@ -1,5 +1,9 @@ #pragma once +#include +#include +#include + #include "storm/storage/bisimulation/Block.h" namespace storm { diff --git a/src/storm/storage/dd/Odd.h b/src/storm/storage/dd/Odd.h index 869020e97c..749077ac6b 100644 --- a/src/storm/storage/dd/Odd.h +++ b/src/storm/storage/dd/Odd.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/storage/jani/ParallelComposition.h b/src/storm/storage/jani/ParallelComposition.h index 9a28dfe0f7..fdeb8f4535 100644 --- a/src/storm/storage/jani/ParallelComposition.h +++ b/src/storm/storage/jani/ParallelComposition.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/storage/umb/model/FileTypes.h b/src/storm/storage/umb/model/FileTypes.h index eb41a29a44..6f892f3316 100644 --- a/src/storm/storage/umb/model/FileTypes.h +++ b/src/storm/storage/umb/model/FileTypes.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/storm/storage/umb/model/StringEncoding.h b/src/storm/storage/umb/model/StringEncoding.h index 46c849bdb0..4d35cf943d 100644 --- a/src/storm/storage/umb/model/StringEncoding.h +++ b/src/storm/storage/umb/model/StringEncoding.h @@ -1,4 +1,5 @@ #pragma once +#include #include #include diff --git a/src/storm/utility/ProgressMeasurement.h b/src/storm/utility/ProgressMeasurement.h index 3453d72fa8..05cf2de41b 100644 --- a/src/storm/utility/ProgressMeasurement.h +++ b/src/storm/utility/ProgressMeasurement.h @@ -2,6 +2,7 @@ #include #include +#include #include namespace storm { diff --git a/src/storm/utility/SignalHandler.h b/src/storm/utility/SignalHandler.h index 59cba034b2..76f27e42cb 100644 --- a/src/storm/utility/SignalHandler.h +++ b/src/storm/utility/SignalHandler.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include diff --git a/src/storm/utility/numerical.h b/src/storm/utility/numerical.h index 25e15308d6..b8e904c582 100644 --- a/src/storm/utility/numerical.h +++ b/src/storm/utility/numerical.h @@ -1,5 +1,6 @@ #pragma once +#include #include namespace storm { diff --git a/src/storm/utility/random.h b/src/storm/utility/random.h index 8b711b50c4..bfd7c82792 100644 --- a/src/storm/utility/random.h +++ b/src/storm/utility/random.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include "storm/adapters/RationalNumberAdapter.h" diff --git a/src/storm/utility/shortestPaths.h b/src/storm/utility/shortestPaths.h index 113641cf0a..6be74c7ed7 100644 --- a/src/storm/utility/shortestPaths.h +++ b/src/storm/utility/shortestPaths.h @@ -1,6 +1,13 @@ #pragma once +#include #include +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/storm/utility/threads.cpp b/src/storm/utility/threads.cpp index eee44c2e9e..0731c75edd 100644 --- a/src/storm/utility/threads.cpp +++ b/src/storm/utility/threads.cpp @@ -1,5 +1,7 @@ #include "storm/utility/threads.h" +#include +#include #include #include diff --git a/src/storm/utility/threads.h b/src/storm/utility/threads.h index a5851a0d68..2fe6e9b7b5 100644 --- a/src/storm/utility/threads.h +++ b/src/storm/utility/threads.h @@ -1,5 +1,7 @@ #pragma once +#include + namespace storm { namespace utility { uint64_t getNumberOfThreads(); diff --git a/src/test/storm-dft/CMakeLists.txt b/src/test/storm-dft/CMakeLists.txt index d8e12cc84d..bb54502a4f 100644 --- a/src/test/storm-dft/CMakeLists.txt +++ b/src/test/storm-dft/CMakeLists.txt @@ -12,7 +12,7 @@ foreach (testsuite api bdd simulator storage transformations) target_link_libraries(test-dft-${testsuite} storm-dft storm-parsers) target_link_libraries(test-dft-${testsuite} ${STORM_TEST_LINK_LIBRARIES}) target_include_directories(test-dft-${testsuite} PRIVATE "${PROJECT_SOURCE_DIR}/src") - target_precompile_headers(test-dft-${testsuite} REUSE_FROM test-builder) + storm_target_precompile_headers(test-dft-${testsuite} REUSE_FROM test-builder) add_dependencies(test-dft-${testsuite} test-resources) add_test(NAME run-test-dft-${testsuite} COMMAND $) diff --git a/src/test/storm-gamebased-ar/CMakeLists.txt b/src/test/storm-gamebased-ar/CMakeLists.txt index 7436c99b5f..5547645675 100644 --- a/src/test/storm-gamebased-ar/CMakeLists.txt +++ b/src/test/storm-gamebased-ar/CMakeLists.txt @@ -11,7 +11,7 @@ foreach (testsuite abstraction modelchecker) target_link_libraries(test-gamebased-ar-${testsuite} storm-gamebased-ar storm-parsers) target_link_libraries(test-gamebased-ar-${testsuite} ${STORM_TEST_LINK_LIBRARIES}) target_include_directories(test-gamebased-ar-${testsuite} PRIVATE "${PROJECT_SOURCE_DIR}/src") - target_precompile_headers(test-gamebased-ar-${testsuite} REUSE_FROM test-builder) + storm_target_precompile_headers(test-gamebased-ar-${testsuite} REUSE_FROM test-builder) add_dependencies(test-gamebased-ar-${testsuite} test-resources) add_test(NAME run-test-gamebased-ar-${testsuite} COMMAND $) diff --git a/src/test/storm-pars/CMakeLists.txt b/src/test/storm-pars/CMakeLists.txt index 6b66b6d6ee..32753f211d 100644 --- a/src/test/storm-pars/CMakeLists.txt +++ b/src/test/storm-pars/CMakeLists.txt @@ -11,7 +11,7 @@ foreach (testsuite derivative modelchecker transformer utility) target_link_libraries(test-pars-${testsuite} storm-pars storm-parsers) target_link_libraries(test-pars-${testsuite} ${STORM_TEST_LINK_LIBRARIES}) target_include_directories(test-pars-${testsuite} PRIVATE "${PROJECT_SOURCE_DIR}/src") - target_precompile_headers(test-pars-${testsuite} REUSE_FROM test-builder) + storm_target_precompile_headers(test-pars-${testsuite} REUSE_FROM test-builder) add_dependencies(test-pars-${testsuite} test-resources) add_test(NAME run-test-pars-${testsuite} COMMAND $) diff --git a/src/test/storm-permissive/CMakeLists.txt b/src/test/storm-permissive/CMakeLists.txt index e382cf98e0..49406045c5 100644 --- a/src/test/storm-permissive/CMakeLists.txt +++ b/src/test/storm-permissive/CMakeLists.txt @@ -11,7 +11,7 @@ foreach (testsuite analysis) target_link_libraries(test-permissive-${testsuite} storm-permissive storm-parsers) target_link_libraries(test-permissive-${testsuite} ${STORM_TEST_LINK_LIBRARIES}) target_include_directories(test-permissive-${testsuite} PRIVATE "${PROJECT_SOURCE_DIR}/src") - target_precompile_headers(test-permissive-${testsuite} REUSE_FROM test-builder) + storm_target_precompile_headers(test-permissive-${testsuite} REUSE_FROM test-builder) add_dependencies(test-permissive-${testsuite} test-resources) add_test(NAME run-test-permissive-${testsuite} COMMAND $) diff --git a/src/test/storm-pomdp/CMakeLists.txt b/src/test/storm-pomdp/CMakeLists.txt index 59956f7702..97cff7825c 100644 --- a/src/test/storm-pomdp/CMakeLists.txt +++ b/src/test/storm-pomdp/CMakeLists.txt @@ -11,7 +11,7 @@ foreach (testsuite analysis api modelchecker tracking transformation generator) target_link_libraries(test-pomdp-${testsuite} storm-pomdp storm-parsers) target_link_libraries(test-pomdp-${testsuite} ${STORM_TEST_LINK_LIBRARIES}) target_include_directories(test-pomdp-${testsuite} PRIVATE "${PROJECT_SOURCE_DIR}/src") - target_precompile_headers(test-pomdp-${testsuite} REUSE_FROM test-builder) + storm_target_precompile_headers(test-pomdp-${testsuite} REUSE_FROM test-builder) add_dependencies(test-pomdp-${testsuite} test-resources) add_test(NAME run-test-pomdp-${testsuite} COMMAND $) diff --git a/src/test/storm/CMakeLists.txt b/src/test/storm/CMakeLists.txt index 714422bcf4..fc5ea78048 100755 --- a/src/test/storm/CMakeLists.txt +++ b/src/test/storm/CMakeLists.txt @@ -26,10 +26,10 @@ foreach(testsuite ${NON_SPLIT_TESTS}) add_executable(test-${testsuite} ${TEST_${testsuite}_FILES} ${STORM_TESTS_BASE_PATH}/storm-test.cpp) if (REUSE_PCH_FROM STREQUAL "") # note that reusing from storm main leads to errors on arch linux (late 2023). - target_precompile_headers(test-${testsuite} PRIVATE ${STORM_PRECOMPILED_HEADERS}) + storm_target_precompile_headers(test-${testsuite} PRIVATE ${STORM_PRECOMPILED_HEADERS}) set(REUSE_PCH_FROM "test-${testsuite}") else () - target_precompile_headers(test-${testsuite} REUSE_FROM ${REUSE_PCH_FROM}) + storm_target_precompile_headers(test-${testsuite} REUSE_FROM ${REUSE_PCH_FROM}) endif() configure_testsuite_target(${testsuite}) endforeach() @@ -39,7 +39,7 @@ foreach(modelchecker_split ${MODELCHECKER_TEST_SPLITS}) file(GLOB_RECURSE TEST_MODELCHECKER_${modelchecker_split}_FILES ${STORM_TESTS_BASE_PATH}/modelchecker/${modelchecker_split}/*.h ${STORM_TESTS_BASE_PATH}/modelchecker/${modelchecker_split}/*.cpp ${STORM_TESTS_BASE_PATH}/../storm_gtest.cpp) add_executable(test-modelchecker-${modelchecker_split} ${TEST_MODELCHECKER_${modelchecker_split}_FILES} ${STORM_TESTS_BASE_PATH}/storm-test.cpp) configure_testsuite_target(modelchecker-${modelchecker_split}) - target_precompile_headers(test-modelchecker-${modelchecker_split} REUSE_FROM ${REUSE_PCH_FROM}) + storm_target_precompile_headers(test-modelchecker-${modelchecker_split} REUSE_FROM ${REUSE_PCH_FROM}) endforeach() # Modelchecker-Prctl testsuite split @@ -47,5 +47,5 @@ foreach(prctl_split ${MODELCHECKER_PRCTL_TEST_SPLITS}) file(GLOB_RECURSE TEST_MODELCHECKER_PRCTL_${prctl_split}_FILES ${STORM_TESTS_BASE_PATH}/modelchecker/prctl/${prctl_split}/*.h ${STORM_TESTS_BASE_PATH}/modelchecker/prctl/${prctl_split}/*.cpp ${STORM_TESTS_BASE_PATH}/../storm_gtest.cpp) add_executable(test-modelchecker-prctl-${prctl_split} ${TEST_MODELCHECKER_PRCTL_${prctl_split}_FILES} ${STORM_TESTS_BASE_PATH}/storm-test.cpp) configure_testsuite_target(modelchecker-prctl-${prctl_split}) - target_precompile_headers(test-modelchecker-prctl-${prctl_split} REUSE_FROM ${REUSE_PCH_FROM}) + storm_target_precompile_headers(test-modelchecker-prctl-${prctl_split} REUSE_FROM ${REUSE_PCH_FROM}) endforeach()