Week 7 Class 19 Wed Oct 07 Posted: Oct 07

Class session:

  1. Screencast: Project 1 & Project 2

    Motivation: Jekyll is a static website generator closely associated with GitHub Pages. Besides fixed .html pages, it is the most common way to create a GitHub Pages website. Jekyll generates the website you are looking at now.

    Jekyll supports data files in the text data formats YAML, JSON, CSV, and TSV. I recently had to convert srcML documentation pages from an XML format to one of these data formats (JSON or YAML). This conversion was much more difficult than I expected. After much searching and experimentation, I first converted to JSON, manually fixed the JSON, and then converted it to YAML. In addition to the manual work, this involved multiple tools and multiple dead ends.

  2. Screencast: CMake CMAKE_BUILD_TYPE
  3. Screencast: CMake Options
  4. Screencast: CMake Object Libraries

    Note: Seems on some platforms (WSL2?) CMake doesn’t pick up that the Object library needs to compile with -fPIC. So add the following to your srcmlxpathobj target:

    set_target_properties(srcmlxpathobj PROPERTIES POSITION_INDEPENDENT_CODE ON)

  5. Exercises 45 & 46: CMake for SEComplexity

    Create a CMake build for SEComplexity. You can start with your CMakeLists.txt that has both shared and static libraries.

    Then, create a showterm session where you generate, build, and run with a Debug build and then with a Release build.

    Upload your CMakeLists.txt and showterm URL to DevOps Exercises 45 & 46: CMake for SEComplexity (Not to Brightspace).

Screencast Folder: Class 19 Wed Oct 07

Exercise Due Date: 4 pm on Thursday, Oct 08