summaryrefslogtreecommitdiffstats
path: root/dev/a4-dance/cmake
diff options
context:
space:
mode:
authorKT <tran0563@umn.edu>2021-09-06 19:07:33 -0500
committerKT <tran0563@umn.edu>2021-09-06 19:07:33 -0500
commitcccd3186305915d92b1751dc616979d64116a4aa (patch)
tree5dd4834daef547cd45fc0b643f44a10b581de0ad /dev/a4-dance/cmake
parentAdded missing images for the A6 worksheet (diff)
downloadcsci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.gz
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.bz2
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.lz
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.xz
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.zst
csci4611-cccd3186305915d92b1751dc616979d64116a4aa.zip
Upload a1
Diffstat (limited to 'dev/a4-dance/cmake')
-rw-r--r--dev/a4-dance/cmake/DownloadHelper.txt.in26
-rw-r--r--dev/a4-dance/cmake/ExternalProjectDownloadBuildInstall.cmake98
-rw-r--r--dev/a4-dance/cmake/MessageMacros.cmake17
-rw-r--r--dev/a4-dance/cmake/UseOpenGL.cmake52
4 files changed, 0 insertions, 193 deletions
diff --git a/dev/a4-dance/cmake/DownloadHelper.txt.in b/dev/a4-dance/cmake/DownloadHelper.txt.in
deleted file mode 100644
index fb29bff..0000000
--- a/dev/a4-dance/cmake/DownloadHelper.txt.in
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file is part of the MinGfx cmake build system.
-# See the main MinGfx/CMakeLists.txt file for authors, copyright, and license info.
-
-# This is a "helper" cmake project -- the only thing this project does is download
-# the external project. So, the configure, build, install, and test commands for
-# ExternalProject_Add() are intentionally set as NOPs.
-
-cmake_minimum_required (VERSION 3.9)
-
-project(@EXT_PROJECT_NAME@-download)
-
-include(ExternalProject)
-ExternalProject_Add(
- @EXT_PROJECT_NAME@
- SOURCE_DIR "@DOWNLOAD_DIR@/@EXT_PROJECT_NAME@/src"
- BINARY_DIR "@DOWNLOAD_DIR@/@EXT_PROJECT_NAME@/download-helper"
- @DOWNLOAD_OPTIONS@
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ""
- INSTALL_COMMAND ""
- TEST_COMMAND ""
- LOG_DOWNLOAD ON
- GIT_PROGRESS 1
-)
-
-
diff --git a/dev/a4-dance/cmake/ExternalProjectDownloadBuildInstall.cmake b/dev/a4-dance/cmake/ExternalProjectDownloadBuildInstall.cmake
deleted file mode 100644
index ce12d1d..0000000
--- a/dev/a4-dance/cmake/ExternalProjectDownloadBuildInstall.cmake
+++ /dev/null
@@ -1,98 +0,0 @@
-# This file is part of the MinGfx cmake build system.
-# See the main MinGfx/CMakeLists.txt file for authors, copyright, and license info.
-
-
-# Calling CMAKE_CURRENT_LIST_DIR inside a function returns the list dir of the calling script
-# but we want the list dir of this file in order to find the DownloadHelper.txt.in file, which
-# should be stored right next to this one. So, defining this variable outside the scope of the
-# functions below.
-set(DIR_OF_THIS_FILE ${CMAKE_CURRENT_LIST_DIR})
-
-
-
-# Usage:
-# ExternalProject_Download(
-# # This first argument is the name of the project to download. It is required:
-# glm
-#
-# # Additional arguments specify how to download the project using GIT, SVN, CVS, or URL.
-# # These can be any of the arguments used for the downloading step of the cmake builtin
-# # ExternalProject_Add command.
-# GIT_REPOSITORY "https://github.com/g-truc/glm.git"
-# GIT_TAG master
-# etc..
-# )
-function(ExternalProject_Download EXT_PROJECT_NAME DOWNLOAD_DIR)
-
- include(MessageMacros)
- h1("BEGIN EXTERNAL PROJECT DOWNLOAD (${EXT_PROJECT_NAME}).")
-
- h2("Creating a download helper project for ${EXT_PROJECT_NAME}.")
-
- set(DOWNLOAD_OPTIONS ${ARGN})
- string (REGEX REPLACE "(^|[^\\\\]);" "\\1 " DOWNLOAD_OPTIONS "${DOWNLOAD_OPTIONS}")
-
-
- file(MAKE_DIRECTORY ${DOWNLOAD_DIR}/${EXT_PROJECT_NAME})
- configure_file(
- ${DIR_OF_THIS_FILE}/DownloadHelper.txt.in
- ${DOWNLOAD_DIR}/${EXT_PROJECT_NAME}/download-helper/CMakeLists.txt
- )
-
- h2("Generating build files for the ${EXT_PROJECT_NAME} download helper project.")
- execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY "${DOWNLOAD_DIR}/${EXT_PROJECT_NAME}/download-helper")
-
- h2("Building the ${EXT_PROJECT_NAME} download helper project. (This actually performs the download and may take some time...)")
- execute_process(COMMAND "${CMAKE_COMMAND}" --build . WORKING_DIRECTORY "${DOWNLOAD_DIR}/${EXT_PROJECT_NAME}/download-helper")
-
- h2("Completed download of external project ${EXT_PROJECT_NAME}.")
-
-endfunction()
-
-
-# Usage:
-# ExternalProject_BuildAndInstallNow(
-# # This first argument is the name of the external project to download. It is required:
-# VRPN
-# # This second argument is the relative path from ${EXTERNAL_DIR_NAME}/projectname/ to the project's
-# # main CMakeLists.txt file:
-# src
-#
-# # Additional arguments are passed on as options to the cmake build file generator
-# -DVRPN_BUILD_DIRECTSHOW_VIDEO_SERVER=OFF
-# -DVRPN_BUILD_HID_GUI=OFF
-# etc..
-# )
-function(ExternalProject_BuildAndInstallNow EXT_PROJECT_NAME DOWNLOAD_DIR RELPATH_TO_CMAKELISTS)
-
- include(MessageMacros)
- h1("BEGIN EXTERNAL PROJECT BUILD AND INSTALL (${EXT_PROJECT_NAME}).")
-
- # any extra args to the function are interpreted as arguments for the cmake config process
- set(CMAKE_CONFIG_OPTIONS ${ARGN})
-
- # always set the install prefix to be the same as for the main project
- list(APPEND CMAKE_CONFIG_OPTIONS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX})
-
- #string (REGEX REPLACE "(^|[^\\\\]);" "\\1 " CMAKE_CONFIG_OPTIONS "${CMAKE_CONFIG_OPTIONS}")
-
-
- set(SRC_DIR "${DOWNLOAD_DIR}/${EXT_PROJECT_NAME}/${RELPATH_TO_CMAKELISTS}")
- set(BUILD_DIR "${CMAKE_BINARY_DIR}/external/${EXT_PROJECT_NAME}")
-
- file(MAKE_DIRECTORY ${BUILD_DIR})
-
- h2("Generating build files for external project ${EXT_PROJECT_NAME}.")
- message(STATUS "Using source dir: ${SRC_DIR}")
- message(STATUS "Using build dir: ${BUILD_DIR}")
- message(STATUS "Config options: ${CMAKE_CONFIG_OPTIONS}")
-
- execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" ${SRC_DIR} ${CMAKE_CONFIG_OPTIONS} WORKING_DIRECTORY ${BUILD_DIR})
-
- h2("Building external project ${EXT_PROJECT_NAME}. (This may take some time...)")
- execute_process(COMMAND "${CMAKE_COMMAND}" --build ${BUILD_DIR} --target install)
-
- h2("Completed external build of ${EXT_PROJECT_NAME}.")
-
-endfunction()
-
diff --git a/dev/a4-dance/cmake/MessageMacros.cmake b/dev/a4-dance/cmake/MessageMacros.cmake
deleted file mode 100644
index 4628e5c..0000000
--- a/dev/a4-dance/cmake/MessageMacros.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is part of the MinVR cmake build system.
-# See the main MinVR/CMakeLists.txt file for authors, copyright, and license info.
-
-
-macro(h1 TITLE)
- string(TOUPPER ${TITLE} TITLE)
- message(STATUS "\n\n==== ${TITLE} ====")
-endmacro()
-
-macro(h2 TITLE)
- message(STATUS "\n* ${TITLE}")
-endmacro()
-
-macro(h3 TITLE)
- message(STATUS "- ${TITLE}")
-endmacro()
-
diff --git a/dev/a4-dance/cmake/UseOpenGL.cmake b/dev/a4-dance/cmake/UseOpenGL.cmake
deleted file mode 100644
index 2ec5ffb..0000000
--- a/dev/a4-dance/cmake/UseOpenGL.cmake
+++ /dev/null
@@ -1,52 +0,0 @@
-# This file is part of the MinGfx cmake build system.
-# See the main MinGfx/CMakeLists.txt file for authors, copyright, and license info.
-
-# Either finds a pre-installed version or complains.
-
-# Usage: In your CMakeLists.txt, somewhere after you define the target that depends
-# on the OpenGL library (typical with something like add_executable(${PROJECT_NAME} ...)
-# or add_library(${PROJECT_NAME} ...)), add the following two lines:
-
-# include(UseOpenGL)
-# UseOpenGL(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/external)
-
-# The second argument can be either PUBLIC, PRIVATE, or INTERFACE, following the keyword
-# usage described here:
-# https://cmake.org/cmake/help/latest/command/target_include_directories.html
-
-# The third argument is the directory to use for downloading the external project if
-# autobuild is used.
-
-
-
-macro(UseOpenGL YOUR_TARGET INTERFACE_PUBLIC_OR_PRIVATE DOWNLOAD_DIR)
-
- message(STATUS "Searching for OpenGL...")
-
- # Check to see if the library is already installed on the system
- # CMake ships with FindOpenGL.cmake and in CMake 3.9+ it defines
- # the imported targets OpenGL::GL and OpenGL::GLU. Using these is
- # now the preferred way to link with OpenGL and all of its dependencies.
- # See https://cmake.org/cmake/help/v3.9/module/FindOpenGL.html
- find_package(OpenGL)
-
- if (NOT ${OPENGL_FOUND})
- message(FATAL_ERROR "OpenGL was not found on the system. MinGfx can auto-download and build many dependencies for you, but not OpenGL. It should come pre-installed on your system.")
- endif()
-
- message(STATUS "Ok: OpenGL Found.")
- message(STATUS "OpenGL headers: ${OPENGL_INCLUDE_DIR}")
- message(STATUS "OpenGL libs: ${OPENGL_LIBRARIES}")
-
-
- message(STATUS "Linking target ${YOUR_TARGET} with ${INTERFACE_PUBLIC_OR_PRIVATE} dependency OpenGL::GL.")
- target_link_libraries(${YOUR_TARGET} ${INTERFACE_PUBLIC_OR_PRIVATE} OpenGL::GL)
-
- if (${OPENGL_GLU_FOUND})
- message(STATUS "Linking target ${YOUR_TARGET} with ${INTERFACE_PUBLIC_OR_PRIVATE} dependency OpenGL::GLU.")
- target_link_libraries(${YOUR_TARGET} ${INTERFACE_PUBLIC_OR_PRIVATE} OpenGL::GLU)
- endif()
-
- target_compile_definitions(${YOUR_TARGET} ${INTERFACE_PUBLIC_OR_PRIVATE} -DUSE_OPENGL)
-
-endmacro()