diff --git a/cmake/Qt.cmake b/cmake/Qt.cmake deleted file mode 100644 index f4ff4d5..0000000 --- a/cmake/Qt.cmake +++ /dev/null @@ -1,68 +0,0 @@ -find_package(Qt5 REQUIRED COMPONENTS Core Widgets) -include_directories(${Qt5_INCLUDES} ${Qt5_DIR}) - -file(READ "${CMAKE_SOURCE_DIR}/res/moc.txt" moclist) -string(REGEX REPLACE "\n" ";" moclist ${moclist}) # split into array by line - -# note: i am aware of the existence of qt5_wrap_cpp and friends, but those functions -# aren't aware of my code generator so i have to do it myself -# also, qt5_wrap_ui just dumps headers in the root of the build dir. ew. - -if(NOT QT_UIC_EXECUTABLE) - string(REPLACE moc uic QT_UIC_EXECUTABLE "${QT_MOC_EXECUTABLE}") -endif() - -set(mocsources) -set(qtcogged FALSE) -if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/src/qtgenerated") - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/src/qtgenerated") -endif() -foreach(mocfile ${moclist}) - if(EXISTS ${CMAKE_SOURCE_DIR}/${mocfile}) - string(REGEX REPLACE ".h\$" ".cpp" implfile_rel "${mocfile}") - string(REGEX REPLACE "include/" "src/qtgenerated/moc_" implfile_rel "${implfile_rel}") - set(implfile_abs "${CMAKE_CURRENT_BINARY_DIR}/${implfile_rel}") - add_custom_command(OUTPUT "${implfile_abs}" PRE_BUILD - COMMAND ${QT_MOC_EXECUTABLE} -o "${implfile_abs}" "${CMAKE_SOURCE_DIR}/${mocfile}" - DEPENDS "${CMAKE_SOURCE_DIR}/${mocfile}" - COMMENT "Qt MOC: ${BoldCyan}${mocfile}${ColourReset}") - elseif(EXISTS ${CMAKE_SOURCE_DIR}/${mocfile}.cog) - set(qtcogged TRUE) - string(REGEX REPLACE ".h\$" ".cpp" implfile_rel "${mocfile}") - string(REGEX REPLACE "include/" "src/qtgenerated/moc_" implfile_rel "${implfile_rel}") - set(implfile_abs "${CMAKE_CURRENT_BINARY_DIR}/${implfile_rel}") - add_custom_command(OUTPUT "${implfile_abs}" PRE_BUILD - COMMAND ${QT_MOC_EXECUTABLE} -o "${implfile_abs}" "${CMAKE_CURRENT_BINARY_DIR}/${mocfile}" - DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${mocfile}" - COMMENT "Qt MOC: ${BoldCyan}${mocfile}${ColourReset}") - endif() - - set(mocsources ${mocsources} "${implfile_abs}") -endforeach() - -file(GLOB_RECURSE uilist RELATIVE "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/res/ui/*.ui") -set(uicsources) -foreach(uifile ${uilist}) - string(REGEX REPLACE "res/ui/" "" uiname ${uifile}) - string(REGEX REPLACE ".ui\$" "" uiname ${uiname}) - string(REGEX REPLACE "/" "_" uiname ${uiname}) - # res/ui/dlg/license.ui should result in ${uiname} being "dlg_license" at this point - - set(headerfile "${CMAKE_CURRENT_BINARY_DIR}/include/ui_${uiname}.h") - - add_custom_command(OUTPUT "${headerfile}" PRE_BUILD - # TODO: not hardcode this path - COMMAND ${QT_UIC_EXECUTABLE} -o "${headerfile}" "${CMAKE_SOURCE_DIR}/${uifile}" - DEPENDS "${CMAKE_SOURCE_DIR}/${uifile}" - COMMENT "Qt UIC: ${BoldCyan}${uifile}${ColourReset}") - - set(uicsources ${uicsources} "${headerfile}") -endforeach() - -add_library(qtgenerated STATIC ${mocsources} ${uicsources}) -target_link_libraries(qtgenerated Qt5::Core Qt5::Widgets) -if (qtcogged) - add_dependencies(qtgenerated cog) -endif() - -message(STATUS "Found Qt: ${Qt5_VERSION}") diff --git a/cmake/Sphinx.cmake b/cmake/Sphinx.cmake deleted file mode 100644 index 02dc966..0000000 --- a/cmake/Sphinx.cmake +++ /dev/null @@ -1,37 +0,0 @@ -find_program(DVIPNG dvipng) -find_program(DVISVGM dvisvgm) -find_program(SPHINX_BUILD sphinx-build) - -if(NOT DOCS_TOO) - set(DOCS_TOO 0) -endif() - -if(NOT DVIPNG OR NOT DVISVGM OR NOT SPHINX_BUILD) - message(WARNING "${BoldYellow}Cannot build library documentation.${ColourReset}") - - # report what's missing - if(NOT DVIPNG) - message(WARNING " dvipng not installed.") - endif() - if(NOT DVISVGM) - message(WARNING " dvisvgm not installed.") - endif() - if(NOT SPHINX_BUILD) - message(WARNING " Sphinx not installed.") - endif() - - if (DOCS_TOO EQUAL 1) - message(FATAL_ERROR "${BoldRed}This is a problem, since you specified DOCS_TOO.${ColourReset}") - endif() -else() - if(DOCS_TOO EQUAL 1) - set(MAYBE_ALL ALL) - else() - message(STATUS "${Green}Not building docs automatically. Build them with: ${BoldGreen}${CMAKE_MAKE_PROGRAM} sphinx${ColourReset} - An alternative strategy would be to run CMake again with ${BoldYellow}-DDOCS_TOO=1${ColourReset}") - set(MAYBE_ALL "") - endif() - - add_custom_target(sphinx ${MAYBE_ALL} - COMMAND ${SPHINX_BUILD} -b html "${CMAKE_SOURCE_DIR}/doc/sphinx" "${CMAKE_CURRENT_BINARY_DIR}/doc") -endif()