From 62d2c49d6e2002158e24c307ca8f295ce0d7ec6b Mon Sep 17 00:00:00 2001 From: Joachim Holst Date: Fri, 22 Dec 2023 09:44:41 +0100 Subject: [PATCH 1/2] Added initial CMake build system. Since I got into trouble with automake/configure and such when trying to build the code, I added a CMake file for building instead. This makes my life a lot easier and I think that it's a bit more portable as well. Signed-off-by: Joachim Holst --- .gitignore | 2 + CMakeLists.txt | 115 +++++++++++++++++++++++++++++++++++++++++++++ cunit-config.cmake | 4 ++ 3 files changed, 121 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 cunit-config.cmake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dee53c5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build +*~ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7a1b7c0 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,115 @@ +cmake_minimum_required(VERSION 3.15) + +option(AUTOMATED "compile CUnit automated interface [default=yes]" ON) +option(BASIC "compile CUnit basic interface [default=yes]" ON) +option(CONSOLE "compile CUnit console interface [default=yes]" ON) + +SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) + +project(${LIB_NAME} "") + +include(GNUInstallDirs) +message("include dir = ${CMAKE_INSTALL_INCLUDEDIR}") +message("bin dir = ${CMAKE_INSTALL_BINDIR}") +message("lib dir = ${CMAKE_INSTALL_LIBDIR}") +message("info dir = ${CMAKE_INSTALL_INFODIR}") +message("man dir = ${CMAKE_INSTALL_MANDIR}") +message("doc dir = ${CMAKE_INSTALL_DOCDIR}") +message("data root dir = ${CMAKE_INSTALL_DATAROOTDIR}") + +set(LIB_NAME cunit) + + +add_library(${LIB_NAME} SHARED "") + +target_sources(${LIB_NAME} + PRIVATE + CUnit/Sources/Framework/CUError.c + CUnit/Sources/Framework/MyMem.c + CUnit/Sources/Framework/TestDB.c + CUnit/Sources/Framework/TestRun.c + CUnit/Sources/Framework/Util.c +) + +if (AUTOMATED) + target_sources(${LIB_NAME} + PRIVATE + CUnit/Sources/Automated/Automated.c + ) +endif() + +if (BASIC) + target_sources(${LIB_NAME} + PRIVATE + CUnit/Sources/Basic/Basic.c + ) +endif() + +if (CONSOLE) + target_sources(${LIB_NAME} + PRIVATE + CUnit/Sources/Console/Console.c + ) +endif() + +target_include_directories(${LIB_NAME} + PUBLIC + $ + $ + ) + + set(HEADERS + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/Automated.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/Basic.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/CUCurses.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/CUError.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/CUnit.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/CUnit_intl.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/Console.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/MyMem.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/TestDB.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/TestRun.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/Util.h + ${CMAKE_CURRENT_LIST_DIR}/CUnit/Headers/wxWidget.h + ) + + set(XSL_DTD + ${CMAKE_CURRENT_LIST_DIR}/Share/CUnit-List.dtd + ${CMAKE_CURRENT_LIST_DIR}/Share/CUnit-List.xsl + ${CMAKE_CURRENT_LIST_DIR}/Share/CUnit-Run.dtd + ${CMAKE_CURRENT_LIST_DIR}/Share/CUnit-Run.xsl + ${CMAKE_CURRENT_LIST_DIR}/Share/Memory-Dump.dtd + ${CMAKE_CURRENT_LIST_DIR}/Share/Memory-Dump.xsl + ) + +install(TARGETS ${LIB_NAME} EXPORT ${LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(EXPORT ${LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CUnit) +install(FILES ${XSL_DTD} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/CUnit) +install(FILES ${CMAKE_CURRENT_LIST_DIR}/cunit-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}) +#install(EXPORT ${CMAKE_CURRENT_LIST_DIR}/cunit-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE cunit-config.cmake) +install(EXPORT ${LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE cunit-config.cmake) + +# ./include/CUnit +# ./include/CUnit/CUnit_intl.h +# ./include/CUnit/CUnit.h +# find: ‘./local/bin/AppProtection/.config’: Permission denied +# ./share/doc-base/libcunit1-doc.libcunit1 +# ./share/CUnit +# ./share/CUnit/CUnit-List.xsl +# ./share/CUnit/CUnit-List.dtd +# ./share/CUnit/CUnit-Run.dtd +# ./share/CUnit/CUnit-Run.xsl +# ./share/doc/libcunit1-doc +# ./share/doc/libcunit1-doc/html/CUnit_doc.css +# ./share/doc/libcunit1-doc/html/headers/CUnit_intl.h +# ./share/doc/libcunit1-doc/html/headers/CUnit.h.gz +# ./share/doc/libcunit1-doc/examples/Demo_fprintf/CUnitExample.c +# ./share/doc/libcunit1 +# ./share/doc/libcunit1-dev +# ./share/man/man3/CUnit.3.gz +# ./lib/x86_64-linux-gnu/libcunit.so.1.0.1 +# ./lib/x86_64-linux-gnu/libcunit.so +# ./lib/x86_64-linux-gnu/libcunit.a +# ./lib/x86_64-linux-gnu/libcunit.so.1 +# ./lib/x86_64-linux-gnu/pkgconfig/cunit.pc diff --git a/cunit-config.cmake b/cunit-config.cmake new file mode 100644 index 0000000..a109fb4 --- /dev/null +++ b/cunit-config.cmake @@ -0,0 +1,4 @@ +# cunit-config.cmake - package configuration file + +get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +include(${SELF_DIR}/${CMAKE_BUILD_TYPE}/cunit.cmake) From a3529e389323ff4d4c50e0a79822c5739a380a78 Mon Sep 17 00:00:00 2001 From: Joachim Holst Date: Fri, 22 Dec 2023 09:48:05 +0100 Subject: [PATCH 2/2] Removed commented out code --- CMakeLists.txt | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a1b7c0..f6e1356 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,29 +87,4 @@ install(EXPORT ${LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CUnit) install(FILES ${XSL_DTD} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/CUnit) install(FILES ${CMAKE_CURRENT_LIST_DIR}/cunit-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}) -#install(EXPORT ${CMAKE_CURRENT_LIST_DIR}/cunit-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE cunit-config.cmake) install(EXPORT ${LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE cunit-config.cmake) - -# ./include/CUnit -# ./include/CUnit/CUnit_intl.h -# ./include/CUnit/CUnit.h -# find: ‘./local/bin/AppProtection/.config’: Permission denied -# ./share/doc-base/libcunit1-doc.libcunit1 -# ./share/CUnit -# ./share/CUnit/CUnit-List.xsl -# ./share/CUnit/CUnit-List.dtd -# ./share/CUnit/CUnit-Run.dtd -# ./share/CUnit/CUnit-Run.xsl -# ./share/doc/libcunit1-doc -# ./share/doc/libcunit1-doc/html/CUnit_doc.css -# ./share/doc/libcunit1-doc/html/headers/CUnit_intl.h -# ./share/doc/libcunit1-doc/html/headers/CUnit.h.gz -# ./share/doc/libcunit1-doc/examples/Demo_fprintf/CUnitExample.c -# ./share/doc/libcunit1 -# ./share/doc/libcunit1-dev -# ./share/man/man3/CUnit.3.gz -# ./lib/x86_64-linux-gnu/libcunit.so.1.0.1 -# ./lib/x86_64-linux-gnu/libcunit.so -# ./lib/x86_64-linux-gnu/libcunit.a -# ./lib/x86_64-linux-gnu/libcunit.so.1 -# ./lib/x86_64-linux-gnu/pkgconfig/cunit.pc