diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e03f6f..8f6e3ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,9 @@ set(TARGET_NAME RISCV) option(PROTEA_BUILD_TESTS "Enable tests build (requires riscv gnu toolchain)" OFF) +option(PROTEA_BUILD_SIM + "Build the native simulator generator and simulator" ON) + if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set_property(CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE "${CMAKE_BINARY_DIR}/install") @@ -21,7 +24,6 @@ include(cmake/Bundler.cmake) include(cmake/QEMU.cmake) include(cmake/CompilerOptions.cmake) include(cmake/CPM.cmake) -include(cmake/dependencies.cmake) include(cmake/CompilerConfig.cmake) if(PROTEA_BUILD_TESTS) @@ -29,6 +31,8 @@ if(PROTEA_BUILD_TESTS) endif() add_subdirectory(lib) -add_subdirectory(sim_lib) -add_subdirectory(sim_gen) +if(PROTEA_BUILD_SIM) + add_subdirectory(sim_lib) + add_subdirectory(sim_gen) +endif() add_subdirectory(test) diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake deleted file mode 100644 index 618e78f..0000000 --- a/cmake/dependencies.cmake +++ /dev/null @@ -1,23 +0,0 @@ -# elfio: ELF Loader Library -CPMAddPackage( - NAME elfio - GITHUB_REPOSITORY serge1/ELFIO - GIT_TAG Release_3.12 - EXCLUDE_FROM_ALL True - SYSTEM True) - -# CLI11: Command Line Input argument parser library -CPMAddPackage( - NAME CLI11 - GITHUB_REPOSITORY CLIUtils/CLI11 - VERSION 2.5.0 - EXCLUDE_FROM_ALL True - SYSTEM True) - -# fmt: Format Library -CPMAddPackage( - NAME fmt - GITHUB_REPOSITORY fmtlib/fmt - GIT_TAG 12.0.0 - EXCLUDE_FROM_ALL True - SYSTEM True) diff --git a/sim_gen/CMakeLists.txt b/sim_gen/CMakeLists.txt index 8d0c5e8..b12ed23 100644 --- a/sim_gen/CMakeLists.txt +++ b/sim_gen/CMakeLists.txt @@ -1,5 +1,29 @@ project(protea_simgen) +# elfio: ELF Loader Library +CPMAddPackage( + NAME elfio + GITHUB_REPOSITORY serge1/ELFIO + GIT_TAG Release_3.12 + EXCLUDE_FROM_ALL True + SYSTEM True) + +# CLI11: Command Line Input argument parser library +CPMAddPackage( + NAME CLI11 + GITHUB_REPOSITORY CLIUtils/CLI11 + VERSION 2.5.0 + EXCLUDE_FROM_ALL True + SYSTEM True) + +# fmt: Format Library +CPMAddPackage( + NAME fmt + GITHUB_REPOSITORY fmtlib/fmt + GIT_TAG 12.0.0 + EXCLUDE_FROM_ALL True + SYSTEM True) + set(PROTEA_SIMGEN_OUTPUT_HEADERS cpu_state.hh base_exec_engine.hh