CMakeLists.txt

Sun, 14 Feb 2021 15:13:53 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 14 Feb 2021 15:13:53 +0100
changeset 412
af766caea48d
parent 390
d345541018fa
child 420
8eb6faa2edba
permissions
-rw-r--r--

removes stupid high level wrapper for linked lists + adds test for cxLinkedListCreate

     1 cmake_minimum_required(VERSION 3.14)
     2 project(ucx VERSION 3.0 DESCRIPTION "UAP Common Extensions")
     4 # Configuration
     5 set(CMAKE_C_STANDARD 11)
     6 set(CMAKE_C_STANDARD_REQUIRED  99)
     8 # Library
     9 add_subdirectory(src)
    11 # Tests
    12 enable_testing()
    13 add_subdirectory(test)
    15 # Web Documentation
    16 add_subdirectory(docs/src)
    18 # API Documentation
    19 find_package(Doxygen)
    20 option(BUILD_DOCUMENTATION "Create API documentation." ${DOXYGEN_FOUND})
    22 if(BUILD_DOCUMENTATION)
    23     if(NOT DOXYGEN_FOUND)
    24         message(FATAL_ERROR "Doxygen is needed to build the documentation.")
    25     endif()
    27     set(DOXY_INPUT ${CMAKE_SOURCE_DIR}/src)
    28     set(DOXY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/docs)
    29     set(DOXY_PROJECT_LOGO ${CMAKE_SOURCE_DIR}/uaplogo.png)
    31     configure_file(${CMAKE_SOURCE_DIR}/cmake_infile.doxygen ${CMAKE_BINARY_DIR}/Doxyfile)
    33     add_custom_target(docs-api-21
    34             COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/docs/api-2.1 ${CMAKE_BINARY_DIR}/docs/web/api-2.1
    35             WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
    36             COMMENT "Copying UCX 2.1 API documentation.")
    38     add_custom_target(docs-api
    39             COMMAND ${DOXYGEN_EXECUTABLE}
    40             WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
    41             COMMENT "Generating API documentation with Doxygen.")
    43     add_custom_target(docs-all DEPENDS docs-html docs-api docs-api-21)
    44 else()
    45     add_custom_target(docs-all DEPENDS docs-html)
    46 endif()

mercurial