# -*- mode: CMAKE; explicit-buffer-name: "CMakeLists.txt" -*- set(CMAKE_LEGACY_CYGWIN_WIN32 0) project(DOCUMENTATION) cmake_minimum_required(VERSION 3.18) set(ignoreVariables "${LIB_SUFFIX} ${CMAKE_INSTALL_DIR}") option(BUILD_DOC "Build the documentation (html+pdf)" OFF) option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF) list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/") find_package(Bootstrap REQUIRED) #find_package(Sphinx) find_package(Pelican) setup_project_paths(CORIOLIS) set_cmake_policies() add_subdirectory(examples) set( htmlInstallDir share/doc/coriolis2/en/html ) if(BUILD_DOC) if(PELICAN_EXECUTABLE) message(STATUS "Pelican has been found, generate the documentation...") set ( pythonCppRst content/pages/python-cpp/PythonCpp_HTML.rst content/pages/python-cpp/Introduction.rst content/pages/python-cpp/Configuration.rst content/pages/python-cpp/DBoStandalone.rst content/pages/python-cpp/DBoHierarchy.rst content/pages/python-cpp/NonDBo.rst content/pages/python-cpp/DbU.rst content/pages/python-cpp/Name.rst ) set ( pythonTutorialRst content/pages/python-tutorial/PythonTutorial_HTML.rst content/pages/python-tutorial/Introduction.rst content/pages/python-tutorial/Environment.rst content/pages/python-tutorial/CellNetComponent.rst content/pages/python-tutorial/Collections.rst content/pages/python-tutorial/CgtScript.rst content/pages/python-tutorial/Netlist.rst content/pages/python-tutorial/RealDesigns.rst content/pages/python-tutorial/ToolEngines.rst content/pages/python-tutorial/AdvancedTopics.rst ) set ( usersGuideRst content/pages/users-guide/UsersGuide_HTML.rst content/pages/users-guide/LicenseCredits.rst content/pages/users-guide/Releases.rst content/pages/users-guide/DesignFlow.rst content/pages/users-guide/Installation.rst content/pages/users-guide/Configuration.rst content/pages/users-guide/ViewerTools.rst content/pages/users-guide/ScriptsPlugins.rst ) set ( designFlowRst content/pages/design-flow/DesignFlow_HTML.rst content/pages/design-flow/DesignFlow.rst content/pages/design-flow/QuickStart.rst ) set ( rdsRst content/pages/rds/RDS_HTML.rst content/pages/rds/RDSpage.rst ) set ( stratusRst content/pages/stratus/Stratus_HTML.rst content/pages/stratus/Developper.rst content/pages/stratus/Language.rst content/pages/stratus/DpGen.rst content/pages/stratus/Patterns.rst ) add_custom_target ( doc_HTML ALL cd ${DOCUMENTATION_SOURCE_DIR} && rm -rf output && ./build.py --pdfs --pelican DEPENDS etc/definitions.rst themes/nest-coriolis/static/css/nest.css themes/nest-coriolis/static/css/pygment.css themes/nest-coriolis/static/css/coriolis.css content/pages/documentation.rst content/pages/gitlab.rst content/pages/homepage.rst content/pages/symbolic-layout.rst ${usersGuideRst} ${pythonTutorialRst} ${pythonCppRst} ${designFlowRst} ${rdsRst} ${stratusRst} ) else(PELICAN_EXECUTABLE) message(STATUS "Pelican has *not* been found, use the git supplied documentation.") endif(PELICAN_EXECUTABLE) endif(BUILD_DOC) install( DIRECTORY output/ DESTINATION ${htmlInstallDir} ) # Old part for Sphinx, keep it for now. #set( htmlInstallDir share/doc/coriolis2/en/html/main ) #set( pdfInstallDir share/doc/coriolis2/en/pdf/main ) #if(BUILD_DOC) # if(SPHINX_EXECUTABLE) # message(STATUS "Sphinx has been found, generate the documentation...") # set ( pythonCppRst PythonCpp/pdfHeader.rst # PythonCpp/Introduction.rst # PythonCpp/Configuration.rst # PythonCpp/DBoStandalone.rst # PythonCpp/DBoHierarchy.rst # PythonCpp/NonDBo.rst # PythonCpp/DbU.rst # PythonCpp/Name.rst ) # # set ( pythonTutorialRst PythonTutorial/pdfHeader.rst # PythonTutorial/Introduction.rst # PythonTutorial/Environment.rst # PythonTutorial/CellNetComponent.rst # PythonTutorial/Collections.rst # PythonTutorial/CgtScript.rst # PythonTutorial/Netlist.rst # PythonTutorial/RealDesigns.rst # PythonTutorial/ToolEngines.rst # PythonTutorial/AdvancedTopics.rst ) # # set ( usersGuideRst UsersGuide/pdfHeader.rst # UsersGuide/LicenseCredits.rst # UsersGuide/Releases.rst # UsersGuide/DesignFlow.rst # UsersGuide/Installation.rst # UsersGuide/Configuration.rst # UsersGuide/ViewerTools.rst # UsersGuide/ScriptsPlugins.rst ) # # set ( confTechnoRst ConfigurationTechnology/pdfHeader.rst # ConfigurationTechnology/Architecture.rst ) # # set ( rdsRst RDS/pdfHeader.rst # RDS/RDSpage.rst ) # # set (stratusRst Stratus/pdfHeader.rst # Stratus/Developper.rst # Stratus/Language.rst # Stratus/DpGen.rst # Stratus/Patterns.rst ) # # add_custom_target ( doc_HTML ALL # cd ${DOCUMENTATION_SOURCE_DIR} # && rm -rf _build # && sphinx-build -b html -d _build/doctrees . _build/html # DEPENDS etc/definitions.rst # _static/SoC.css # _static/www-SoC.css # _static/SoC-ReST.css # _static/pygments.css # CrlCore/CrlCore.rst # Hurricane/Hurricane.rst # Unicorn/Unicorn.rst # Viewer/Viewer.rst # ${usersGuideRst} UsersGuide/index.rst # ${pythonTutorialRst} PythonTutorial/index.rst # ${pythonCppRst} PythonCpp/index.rst # ${rdsRst} RDS/index.rst # ${stratusRst} Stratus/index.rst # ) # # add_custom_target ( pdf_UsersGuide ALL # cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide # && ../etc/doPdf.sh ${usersGuideRst} UsersGuide.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # ${usersGuideRst} ) # # add_custom_target ( pdf_PythonTutorial ALL # cd ${DOCUMENTATION_SOURCE_DIR}/PythonTutorial # && ../etc/doPdf.sh ${pythonTutorialRst} PythonTutorial.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # PythonTutorial/definitions.rst # ${pythonTutorialRst} ) # # add_custom_target ( pdf_Stratus ALL # cd ${DOCUMENTATION_SOURCE_DIR}/Stratus # && ../etc/doPdf.sh ${stratusRst} Stratus.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # ${stratusRst} ) # # add_custom_target ( pdf_PythonCpp ALL # cd ${DOCUMENTATION_SOURCE_DIR}/PythonCpp # && ../etc/doPdf.sh ${pythonCppRst} PythonCpp.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # ${pythonCppRst} ) # # add_custom_target ( pdf_ConfTechno ALL # cd ${DOCUMENTATION_SOURCE_DIR}/ConfigurationTechnology # && ../etc/doPdf.sh ${confTechnoRst} ConfigurationTechnology.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # ${confTechnoRst} ) # # add_custom_target ( pdf_RDS ALL # cd ${DOCUMENTATION_SOURCE_DIR}/RDS # && ../etc/doPdf.sh ${rdsRst} RDS.rst # DEPENDS etc/definitions.rst # etc/SoC-ReST.tex # ${rdsRst} ) # else(SPHINX_EXECUTABLE) # message(STATUS "Sphinx has *not* been found, use the git supplied documentation.") # endif(SPHINX_EXECUTABLE) #endif(BUILD_DOC) # #install( DIRECTORY _build/html/ DESTINATION ${htmlInstallDir} ) #install( FILES RDS/RDS.pdf # PythonTutorial/PythonTutorial.pdf # PythonCpp/PythonCpp.pdf # UsersGuide/UsersGuide.pdf DESTINATION ${pdfInstallDir} )