532 lines
21 KiB
CMake
532 lines
21 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
set(project Sapfor)
|
|
if (TARGET ${project})
|
|
return()
|
|
endif ()
|
|
project(${project})
|
|
message("processing ${project}")
|
|
#include(CTest)
|
|
|
|
add_definitions("-D SYS5")
|
|
add_definitions("-D YYDEBUG")
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(fdvm_include projects/dvm/fdvmh/include/fdvmh/)
|
|
set(fdvm_sources projects/dvm/fdvmh/tools/fdvmh/)
|
|
set(sage_include_1 projects/dvm/fdvmh/include/sage/lib/)
|
|
set(sage_include_2 projects/dvm/fdvmh/include/sage/h/)
|
|
set(libdb_sources projects/dvm/fdvmh/lib/sage/db/)
|
|
set(sage_sources projects/dvm/fdvmh/lib/sage/sage/)
|
|
set(sagepp_sources projects/dvm/fdvmh/lib/sage/sage++/)
|
|
set(parser_sources projects/dvm/fdvmh/tools/parser/)
|
|
set(pppa_sources projects/dvm/pppa/src/)
|
|
set(zlib_sources projects/dvm/third-party/Zlib/)
|
|
set(libpred_sources projects/libpredictor/src/)
|
|
set(libpred_include projects/libpredictor/include/)
|
|
|
|
include_directories(src)
|
|
include_directories(src/Utils)
|
|
include_directories(src/SgUtils)
|
|
include_directories(src/Distribution)
|
|
include_directories(src/GraphCall)
|
|
include_directories(src/GraphLoop)
|
|
include_directories(src/Transformations/ExpressionSubstitution)
|
|
|
|
#Sage lib includes
|
|
include_directories(${fdvm_include})
|
|
include_directories(${sage_include_1})
|
|
include_directories(${sage_include_2})
|
|
#Zlib includes
|
|
include_directories(${zlib_sources}/include)
|
|
#PPPA includes
|
|
include_directories(${pppa_sources})
|
|
#Libpredictor includes
|
|
include_directories(${libpred_include})
|
|
|
|
set(PR_PARAM src/ProjectParameters/projectParameters.cpp
|
|
src/ProjectParameters/projectParameters.h)
|
|
|
|
set(GR_LAYOUT src/VisualizerCalls/graphLayout/algebra.cpp
|
|
src/VisualizerCalls/graphLayout/algebra.hpp
|
|
src/VisualizerCalls/graphLayout/fruchterman_reingold.cpp
|
|
src/VisualizerCalls/graphLayout/fruchterman_reingold.hpp
|
|
src/VisualizerCalls/graphLayout/kamada_kawai.cpp
|
|
src/VisualizerCalls/graphLayout/kamada_kawai.hpp
|
|
src/VisualizerCalls/graphLayout/layout.cpp
|
|
src/VisualizerCalls/graphLayout/layout.hpp
|
|
src/VisualizerCalls/graphLayout/nodesoup.cpp
|
|
src/VisualizerCalls/graphLayout/nodesoup.hpp)
|
|
|
|
set(VS_CALLS src/VisualizerCalls/get_information.cpp
|
|
src/VisualizerCalls/get_information.h
|
|
src/VisualizerCalls/SendMessage.cpp
|
|
src/VisualizerCalls/SendMessage.h
|
|
src/VisualizerCalls/BuildGraph.cpp
|
|
src/VisualizerCalls/BuildGraph.h)
|
|
|
|
set(VERIF src/VerificationCode/CorrectVarDecl.cpp
|
|
src/VerificationCode/IncludeChecker.cpp
|
|
src/VerificationCode/StructureChecker.cpp
|
|
src/VerificationCode/VerifySageStructures.cpp
|
|
src/VerificationCode/verifications.h)
|
|
|
|
set(UTILS src/Utils/AstWrapper.h
|
|
src/Utils/BoostStackTrace.cpp
|
|
src/Utils/CommonBlock.h
|
|
src/Utils/DefUseList.h
|
|
src/Utils/errors.h
|
|
src/Utils/leak_detector.h
|
|
src/Utils/RationalNum.cpp
|
|
src/Utils/RationalNum.h
|
|
src/Utils/SgUtils.cpp
|
|
src/Utils/SgUtils.h
|
|
src/Utils/types.h
|
|
src/Utils/utils.cpp
|
|
src/Utils/utils.h
|
|
src/Utils/version.h
|
|
src/Utils/module_utils.h
|
|
src/Utils/module_utils.cpp
|
|
src/Utils/json.hpp)
|
|
|
|
set(OMEGA src/SageAnalysisTool/OmegaForSage/add-assert.cpp
|
|
src/SageAnalysisTool/OmegaForSage/affine.cpp
|
|
src/SageAnalysisTool/OmegaForSage/cover.cpp
|
|
src/SageAnalysisTool/OmegaForSage/ddomega-build.cpp
|
|
src/SageAnalysisTool/OmegaForSage/ddomega-use.cpp
|
|
src/SageAnalysisTool/OmegaForSage/ddomega.cpp
|
|
src/SageAnalysisTool/OmegaForSage/debug.cpp
|
|
src/SageAnalysisTool/OmegaForSage/ip.cpp
|
|
src/SageAnalysisTool/OmegaForSage/kill.cpp
|
|
src/SageAnalysisTool/OmegaForSage/refine.cpp
|
|
src/SageAnalysisTool/OmegaForSage/sagedriver.cpp
|
|
src/SageAnalysisTool/annotationDriver.cpp
|
|
src/SageAnalysisTool/arrayRef.cpp
|
|
src/SageAnalysisTool/computeInducVar.cpp
|
|
src/SageAnalysisTool/constanteProp.cpp
|
|
src/SageAnalysisTool/constanteSet.h
|
|
src/SageAnalysisTool/controlFlow.cpp
|
|
src/SageAnalysisTool/defUse.cpp
|
|
src/SageAnalysisTool/dependence.cpp
|
|
src/SageAnalysisTool/depGraph.cpp
|
|
src/SageAnalysisTool/depInterface.cpp
|
|
src/SageAnalysisTool/depInterfaceExt.h
|
|
src/SageAnalysisTool/flowAnalysis.cpp
|
|
src/SageAnalysisTool/inducVar.h
|
|
src/SageAnalysisTool/intrinsic.cpp
|
|
src/SageAnalysisTool/invariant.cpp
|
|
src/SageAnalysisTool/loopTransform.cpp
|
|
src/SageAnalysisTool/set.cpp)
|
|
|
|
set(PRIV src/PrivateAnalyzer/private_analyzer.cpp
|
|
src/PrivateAnalyzer/private_analyzer.h
|
|
src/PrivateAnalyzer/private_arrays_search.cpp
|
|
src/PrivateAnalyzer/private_arrays_search.h
|
|
src/PrivateAnalyzer/range_structures.cpp
|
|
src/PrivateAnalyzer/range_structures.h
|
|
src/PrivateAnalyzer/region.cpp
|
|
src/PrivateAnalyzer/region.h)
|
|
|
|
set(FDVM ${fdvm_sources}/acc.cpp
|
|
${fdvm_sources}/acc_across.cpp
|
|
${fdvm_sources}/acc_across_analyzer.cpp
|
|
${fdvm_sources}/acc_analyzer.cpp
|
|
${fdvm_sources}/acc_data.cpp
|
|
${fdvm_sources}/acc_f2c.cpp
|
|
${fdvm_sources}/acc_f2c_handlers.cpp
|
|
${fdvm_sources}/acc_rtc.cpp
|
|
${fdvm_sources}/acc_rtc.cpp
|
|
${fdvm_sources}/acc_utilities.cpp
|
|
${fdvm_sources}/aks_analyzeLoops.cpp
|
|
${fdvm_sources}/aks_structs.cpp
|
|
${fdvm_sources}/checkpoint.cpp
|
|
${fdvm_sources}/debug.cpp
|
|
${fdvm_sources}/dvm.cpp
|
|
${fdvm_sources}/calls.cpp
|
|
${fdvm_sources}/funcall.cpp
|
|
${fdvm_sources}/help.cpp
|
|
${fdvm_sources}/hpf.cpp
|
|
${fdvm_sources}/io.cpp
|
|
${fdvm_sources}/omp.cpp
|
|
${fdvm_sources}/ompdebug.cpp
|
|
${fdvm_sources}/parloop.cpp
|
|
${fdvm_sources}/stmt.cpp)
|
|
|
|
set(PARALLEL_REG src/ParallelizationRegions/ParRegions.cpp
|
|
src/ParallelizationRegions/ParRegions.h
|
|
src/ParallelizationRegions/ParRegions_func.h
|
|
src/ParallelizationRegions/expand_extract_reg.cpp
|
|
src/ParallelizationRegions/expand_extract_reg.h
|
|
src/ParallelizationRegions/resolve_par_reg_conflicts.cpp
|
|
src/ParallelizationRegions/resolve_par_reg_conflicts.h)
|
|
|
|
set(TR_DEAD_CODE src/Transformations/DeadCodeRemoving/dead_code.cpp
|
|
src/Transformations/DeadCodeRemoving/dead_code.h)
|
|
set(TR_CP src/Transformations/CheckPoints/checkpoints.cpp
|
|
src/Transformations/CheckPoints/checkpoints.h)
|
|
set(TR_VECTOR src/Transformations/VectorAssignToLoop/array_assign_to_loop.cpp
|
|
src/Transformations/VectorAssignToLoop/array_assign_to_loop.h)
|
|
set(TR_ENDDO_LOOP src/Transformations/LoopEndDoConverter/enddo_loop_converter.cpp
|
|
src/Transformations/LoopEndDoConverter/enddo_loop_converter.h)
|
|
set(TR_LOOP_NEST src/Transformations/LoopNesting/loop_transform.cpp
|
|
src/Transformations/LoopNesting/loop_transform.h)
|
|
set(TR_LOOP_COMB src/Transformations/LoopCombining/loops_combiner.cpp
|
|
src/Transformations/LoopCombining/loops_combiner.h)
|
|
set(TR_LOOP_SPLIT src/Transformations/LoopSplitting/loops_splitter.cpp
|
|
src/Transformations/LoopSplitting/loops_splitter.h)
|
|
set(TR_LOOP_UNROLL src/Transformations/LoopUnrolling/loops_unrolling.cpp
|
|
src/Transformations/LoopUnrolling/loops_unrolling.h)
|
|
set(TR_PRIV_BR src/Transformations/PrivateArrayResizing/private_arrays_resizing.cpp
|
|
src/Transformations/PrivateArrayResizing/private_arrays_resizing.h)
|
|
set(TR_PRIV_DEL src/Transformations/PrivateArrayRemoving/private_removing.cpp
|
|
src/Transformations/PrivateArrayRemoving/private_removing.h)
|
|
set(TR_SWAP_ARR_DIMS src/Transformations/ArrayDimsSwapping/swap_array_dims.cpp
|
|
src/Transformations/ArrayDimsSwapping/swap_array_dims.h)
|
|
set(TR_FUNC_DUP src/Transformations/FunctionDuplication/uniq_call_chain_dup.cpp
|
|
src/Transformations/FunctionDuplication/uniq_call_chain_dup.h)
|
|
set(TR_FUNC_PURE src/Transformations/FunctionPurifying/function_purifying.cpp
|
|
src/Transformations/FunctionPurifying/function_purifying.h)
|
|
set(TR_GV src/Transformations/GlobalVariables/fix_common_blocks.cpp
|
|
src/Transformations/GlobalVariables/fix_common_blocks.h)
|
|
set(TR_CONV src/Transformations/ConvertToC/convert_to_c.cpp
|
|
src/Transformations/ConvertToC/convert_to_c.h)
|
|
set(TR_IMPLICIT_NONE src/Transformations/SetImplicitNone/set_implicit_none.cpp
|
|
src/Transformations/SetImplicitNone/set_implicit_none.h)
|
|
set(TR_REPLACE_ARRAYS_IN_IO src/Transformations/ReplaceArraysInIO/replace_dist_arrays_in_io.cpp
|
|
src/Transformations/ReplaceArraysInIO/replace_dist_arrays_in_io.h)
|
|
set(TR_EXPR_TRANSFORM src/Transformations/ExpressionSubstitution/control_flow_graph_part.cpp
|
|
src/Transformations/ExpressionSubstitution/expr_transform.cpp
|
|
src/Transformations/ExpressionSubstitution/expr_transform.h)
|
|
set(TR_INLINER src/Transformations/FunctionInlining/inliner.cpp
|
|
src/Transformations/FunctionInlining/inliner.h)
|
|
set(TR_RENAME_SYMBOLS src/Transformations/RenameSymbols/rename_symbols.cpp
|
|
src/Transformations/RenameSymbols/rename_symbols.h)
|
|
SET(SWAP_OPERATORS src/SwapOperators/swapOperators.cpp
|
|
src/SwapOperators/swapOperators.h)
|
|
|
|
set(TRANSFORMS
|
|
${TR_DEAD_CODE}
|
|
${TR_CP}
|
|
${TR_VECTOR}
|
|
${TR_ENDDO_LOOP}
|
|
${TR_LOOP_NEST}
|
|
${TR_LOOP_COMB}
|
|
${TR_LOOP_SPLIT}
|
|
${TR_PRIV_BR}
|
|
${TR_SWAP_ARR_DIMS}
|
|
${TR_FUNC_DUP}
|
|
${TR_FUNC_PURE}
|
|
${TR_LOOP_UNROLL}
|
|
${TR_GV}
|
|
${TR_PRIV_DEL}
|
|
${TR_CONV}
|
|
${TR_PRIV_DEL}
|
|
${TR_IMPLICIT_NONE}
|
|
${TR_REPLACE_ARRAYS_IN_IO}
|
|
${TR_EXPR_TRANSFORM}
|
|
${TR_INLINER}
|
|
${TR_RENAME_SYMBOLS})
|
|
|
|
set(CFG src/CFGraph/IR.cpp
|
|
src/CFGraph/IR.h
|
|
src/CFGraph/CFGraph.cpp
|
|
src/CFGraph/CFGraph.h
|
|
src/CFGraph/RD_subst.cpp
|
|
src/CFGraph/RD_subst.h
|
|
src/CFGraph/live_variable_analysis.cpp
|
|
src/CFGraph/live_variable_analysis.h
|
|
src/CFGraph/private_variables_analysis.cpp
|
|
src/CFGraph/private_variables_analysis.h
|
|
)
|
|
|
|
set(DATA_FLOW
|
|
src/CFGraph/DataFlow/data_flow.h
|
|
src/CFGraph/DataFlow/data_flow_impl.h
|
|
src/CFGraph/DataFlow/backward_data_flow.h
|
|
src/CFGraph/DataFlow/backward_data_flow_impl.h
|
|
)
|
|
|
|
set(CREATE_INTER_T src/CreateInterTree/CreateInterTree.cpp
|
|
src/CreateInterTree/CreateInterTree.h)
|
|
|
|
set(DIRA src/DirectiveProcessing/directive_analyzer.cpp
|
|
src/DirectiveProcessing/directive_analyzer.h
|
|
src/DirectiveProcessing/directive_creator.cpp
|
|
src/DirectiveProcessing/directive_creator_base.cpp
|
|
src/DirectiveProcessing/directive_creator.h
|
|
src/DirectiveProcessing/directive_parser.cpp
|
|
src/DirectiveProcessing/directive_parser.h
|
|
src/DirectiveProcessing/directive_omp_parser.cpp
|
|
src/DirectiveProcessing/directive_omp_parser.h
|
|
src/DirectiveProcessing/insert_directive.cpp
|
|
src/DirectiveProcessing/insert_directive.h
|
|
src/DirectiveProcessing/remote_access.cpp
|
|
src/DirectiveProcessing/remote_access_base.cpp
|
|
src/DirectiveProcessing/remote_access.h
|
|
src/DirectiveProcessing/shadow.cpp
|
|
src/DirectiveProcessing/shadow.h
|
|
src/DirectiveProcessing/spf_directive_preproc.cpp)
|
|
|
|
set(DISTR src/Distribution/Array.cpp
|
|
src/Distribution/ArrayAnalysis.cpp
|
|
src/Distribution/Array.h
|
|
src/Distribution/Arrays.h
|
|
src/Distribution/CreateDistributionDirs.cpp
|
|
src/Distribution/CreateDistributionDirs.h
|
|
src/Distribution/Cycle.cpp
|
|
src/Distribution/Cycle.h
|
|
src/Distribution/Distribution.cpp
|
|
src/Distribution/Distribution.h
|
|
src/Distribution/DvmhDirective.cpp
|
|
src/Distribution/DvmhDirective.h
|
|
src/Distribution/DvmhDirective_func.h
|
|
src/Distribution/DvmhDirectiveBase.cpp
|
|
src/Distribution/DvmhDirectiveBase.h
|
|
src/Distribution/GraphCSR.cpp
|
|
src/Distribution/GraphCSR.h)
|
|
|
|
set(DVMH_REG src/DvmhRegions/DvmhRegionInserter.cpp
|
|
src/DvmhRegions/DvmhRegionInserter.h
|
|
src/DvmhRegions/RegionsMerger.cpp
|
|
src/DvmhRegions/RegionsMerger.h
|
|
src/DvmhRegions/ReadWriteAnalyzer.cpp
|
|
src/DvmhRegions/ReadWriteAnalyzer.h
|
|
src/DvmhRegions/LoopChecker.cpp
|
|
src/DvmhRegions/LoopChecker.h
|
|
src/DvmhRegions/DvmhRegion.cpp
|
|
src/DvmhRegions/DvmhRegion.h
|
|
src/DvmhRegions/VarUsages.cpp
|
|
src/DvmhRegions/VarUsages.h
|
|
src/DvmhRegions/TypedSymbol.cpp
|
|
src/DvmhRegions/TypedSymbol.h)
|
|
|
|
set(DYNA src/DynamicAnalysis/createParallelRegions.cpp
|
|
src/DynamicAnalysis/createParallelRegions.h
|
|
src/DynamicAnalysis/gcov_info.cpp
|
|
src/DynamicAnalysis/gcov_info.h
|
|
src/DynamicAnalysis/gCov_parser.cpp
|
|
src/DynamicAnalysis/gCov_parser_func.h)
|
|
|
|
set(GR_CALL src/GraphCall/graph_calls.cpp
|
|
src/GraphCall/graph_calls.h
|
|
src/GraphCall/graph_calls_base.cpp
|
|
src/GraphCall/graph_calls_func.h)
|
|
|
|
set(GR_LOOP src/GraphLoop/graph_loops_base.cpp
|
|
src/GraphLoop/graph_loops.cpp
|
|
src/GraphLoop/graph_loops.h
|
|
src/GraphLoop/graph_loops_func.h)
|
|
|
|
set(LOOP_ANALYZER src/LoopAnalyzer/allocations_prepoc.cpp
|
|
src/LoopAnalyzer/dep_analyzer.cpp
|
|
src/LoopAnalyzer/loop_analyzer.cpp
|
|
src/LoopAnalyzer/loop_analyzer.h)
|
|
|
|
set(MAIN src/Sapfor.cpp
|
|
src/Sapfor.h
|
|
src/SapforData.h
|
|
src/Utils/PassManager.h)
|
|
|
|
set(PREDICTOR src/Predictor/PredictScheme.cpp
|
|
src/Predictor/PredictScheme.h)
|
|
|
|
set(LIBPREDICTOR ${libpred_sources}/cluster.cpp
|
|
${libpred_sources}/predictor.cpp
|
|
${libpred_sources}/transfer.cpp
|
|
${libpred_sources}/utils.cpp
|
|
${libpred_include}/libpredict/predictor.h
|
|
${libpred_include}/internal/cluster.h
|
|
${libpred_include}/internal/transfer.h
|
|
${libpred_include}/internal/utils.h)
|
|
|
|
set(PROJ_MAN src/ProjectManipulation/ParseFiles.cpp
|
|
src/ProjectManipulation/ParseFiles.h
|
|
src/ProjectManipulation/StdCapture.h
|
|
src/ProjectManipulation/PerfAnalyzer.cpp
|
|
src/ProjectManipulation/PerfAnalyzer.h
|
|
src/ProjectManipulation/FileInfo.cpp
|
|
src/ProjectManipulation/FileInfo.h
|
|
src/ProjectManipulation/ConvertFiles.cpp
|
|
src/ProjectManipulation/ConvertFiles.h)
|
|
|
|
set(PARSER ${parser_sources}/cftn.c
|
|
${parser_sources}/errors.c
|
|
${parser_sources}/gram1.tab.c
|
|
${parser_sources}/hash.c
|
|
${parser_sources}/init.c
|
|
${parser_sources}/lexfdvm.c
|
|
${parser_sources}/lists.c
|
|
${parser_sources}/low_hpf.c
|
|
${parser_sources}/misc.c
|
|
${parser_sources}/stat.c
|
|
${parser_sources}/sym.c
|
|
${parser_sources}/types.c
|
|
${parser_sources}/unparse_hpf.c)
|
|
|
|
set(PPPA ${pppa_sources}/inter.cpp
|
|
${pppa_sources}/potensyn.cpp
|
|
${pppa_sources}/stat.cpp
|
|
${pppa_sources}/statfile.cpp
|
|
${pppa_sources}/statinter.cpp
|
|
${pppa_sources}/statlist.cpp
|
|
${pppa_sources}/statprintf.cpp
|
|
${pppa_sources}/statread.cpp
|
|
${pppa_sources}/treeinter.cpp
|
|
|
|
${pppa_sources}/bool.h
|
|
${pppa_sources}/dvmh_stat.h
|
|
${pppa_sources}/inter.h
|
|
${pppa_sources}/potensyn.h
|
|
${pppa_sources}/statist.h
|
|
${pppa_sources}/statlist.h
|
|
${pppa_sources}/statprintf.h
|
|
${pppa_sources}/statread.h
|
|
${pppa_sources}/strall.h
|
|
${pppa_sources}/sysstat.h
|
|
${pppa_sources}/treeinter.h
|
|
${pppa_sources}/ver.h
|
|
${pppa_sources}/statinter.h
|
|
${pppa_sources}/json.hpp)
|
|
|
|
set(ZLIB ${zlib_sources}/src/adler32.c
|
|
${zlib_sources}/src/compress.c
|
|
${zlib_sources}/src/crc32.c
|
|
${zlib_sources}/src/deflate.c
|
|
${zlib_sources}/src/gzio.c
|
|
${zlib_sources}/src/infblock.c
|
|
${zlib_sources}/src/infcodes.c
|
|
${zlib_sources}/src/inffast.c
|
|
${zlib_sources}/src/inflate.c
|
|
${zlib_sources}/src/inftrees.c
|
|
${zlib_sources}/src/infutil.c
|
|
${zlib_sources}/src/trees.c
|
|
${zlib_sources}/src/uncompr.c
|
|
${zlib_sources}/src/zutil.c)
|
|
|
|
set(SOURCE_EXE
|
|
${CFG}
|
|
${DATA_FLOW}
|
|
${CREATE_INTER_T}
|
|
${DIRA}
|
|
${DISTR}
|
|
${DVMH_REG}
|
|
${DYNA}
|
|
${GR_CALL}
|
|
${GR_LOOP}
|
|
${LOOP_ANALYZER}
|
|
${TRANSFORMS}
|
|
${PARALLEL_REG}
|
|
${PRIV}
|
|
${FDVM}
|
|
${OMEGA}
|
|
${UTILS}
|
|
${VERIF}
|
|
${VS_CALLS}
|
|
${MAIN}
|
|
${PREDICTOR}
|
|
${LIBPREDICTOR}
|
|
${PARSER}
|
|
${PPPA}
|
|
${ZLIB}
|
|
${GR_LAYOUT}
|
|
${PR_PARAM}
|
|
${PROJ_MAN}
|
|
${SWAP_OPERATORS})
|
|
|
|
add_executable(Sapfor_F ${SOURCE_EXE})
|
|
source_group (CFGraph FILES ${CFG})
|
|
source_group (CFGraph\\DataFlow FILES ${DATA_FLOW})
|
|
|
|
source_group (Transformations\\DeadCodeRemoving FILES ${TR_DEAD_CODE})
|
|
source_group (Transformations\\ExpressionSubstitution FILES ${TR_EXPR_TRANSFORM})
|
|
source_group (Transformations\\CheckPoints FILES ${TR_CP})
|
|
source_group (Transformations\\LoopEndDoConverter FILES ${TR_ENDDO_LOOP})
|
|
source_group (Transformations\\LoopNesting FILES ${TR_LOOP_NEST})
|
|
source_group (Transformations\\LoopCombining FILES ${TR_LOOP_COMB})
|
|
source_group (Transformations\\LoopSplitting FILES ${TR_LOOP_SPLIT})
|
|
source_group (Transformations\\LoopUnrolling FILES ${TR_LOOP_UNROLL})
|
|
source_group (Transformations\\FunctionDuplication FILES ${TR_FUNC_DUP})
|
|
source_group (Transformations\\FunctionInlining FILES ${TR_INLINER})
|
|
source_group (Transformations\\FunctionPurifying FILES ${TR_FUNC_PURE})
|
|
source_group (Transformations\\ArrayDimsSwapping FILES ${TR_SWAP_ARR_DIMS})
|
|
source_group (Transformations\\PrivateArrayResizing FILES ${TR_PRIV_BR})
|
|
source_group (Transformations\\PrivateArrayRemoving FILES ${TR_PRIV_DEL})
|
|
source_group (Transformations\\VectorAssignToLoop FILES ${TR_VECTOR})
|
|
source_group (Transformations\\RenameSymbols FILES ${TR_RENAME_SYMBOLS})
|
|
source_group (Transformations\\GlobalVariables FILES ${TR_GV})
|
|
source_group (Transformations\\ConvertToC FILES ${TR_CONV})
|
|
source_group (Transformations\\SetImplicitNone FILES ${TR_IMPLICIT_NONE})
|
|
source_group (Transformations\\ReplaceArraysInIO FILES ${TR_REPLACE_ARRAYS_IN_IO})
|
|
|
|
|
|
source_group (CreateIntervals FILES ${CREATE_INTER_T})
|
|
source_group (DirectiveProcessing FILES ${DIRA})
|
|
source_group (Distribution FILES ${DISTR})
|
|
source_group (DvmhRegions FILES ${DVMH_REG})
|
|
source_group (DynamicAnalysis FILES ${DYNA})
|
|
source_group (GraphCall FILES ${GR_CALL})
|
|
source_group (GraphLoop FILES ${GR_LOOP})
|
|
source_group (LoopAnalyzer FILES ${LOOP_ANALYZER})
|
|
source_group (ParallelizationRegions FILES ${PARALLEL_REG})
|
|
source_group (PrivateAnalyzer FILES ${PRIV})
|
|
source_group (FDVM_Compiler FILES ${FDVM})
|
|
source_group (SageExtension FILES ${OMEGA})
|
|
source_group (Utils FILES ${UTILS})
|
|
source_group (VerificationCode FILES ${VERIF})
|
|
source_group (ProjectParameters FILES ${PR_PARAM})
|
|
source_group (ProjectManipulation FILES ${PROJ_MAN})
|
|
source_group (SwapOperators FILES ${SWAP_OPERATORS})
|
|
|
|
source_group (VisualizerCalls FILES ${VS_CALLS})
|
|
source_group (VisualizerCalls\\GraphLayout FILES ${GR_LAYOUT})
|
|
|
|
source_group (_SapforMain FILES ${MAIN})
|
|
source_group (Predictor\\Analyzer FILES ${PREDICTOR})
|
|
source_group (Predictor\\Library FILES ${LIBPREDICTOR})
|
|
source_group (Parser FILES ${PARSER})
|
|
source_group (PPPA\\PPPA FILES ${PPPA})
|
|
source_group (PPPA\\ZLib FILES ${ZLIB})
|
|
|
|
if (MSVC_IDE)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /Zc:__cplusplus")
|
|
else()
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
|
else()
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
endif()
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
|
endif()
|
|
|
|
add_subdirectory(projects/Fdvm)
|
|
|
|
add_definitions("-D __SPF")
|
|
add_definitions("-D _CRT_SECURE_NO_WARNINGS")
|
|
add_definitions("-D _CRT_NON_CONFORMING_SWPRINTFS")
|
|
|
|
add_subdirectory(projects/SageOldSrc)
|
|
add_subdirectory(projects/SageNewSrc)
|
|
add_subdirectory(projects/SageLib)
|
|
add_subdirectory(projects/Parser)
|
|
|
|
add_definitions("-D __SPF_BUILT_IN_FDVM")
|
|
add_definitions("-D __SPF_BUILT_IN_PARSER")
|
|
add_definitions("-D __SPF_BUILT_IN_PPPA")
|
|
|
|
if (WIN32)
|
|
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc)
|
|
elseif(APPLE)
|
|
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread)
|
|
elseif(UNIX)
|
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
|
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread stdc++fs)
|
|
else()
|
|
target_link_libraries(Sapfor_F SageNewSrc SageLib SageOldSrc pthread)
|
|
endif()
|
|
endif()
|
|
|
|
#install(TARGETS <name.exe/dll>
|
|
# LIBRARY DESTINATION <name_f>
|
|
# RUNTIME DESTINATION <name_f>)
|