Warning, /office/kbibtex/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-License-Identifier: GPL-2.0-or-later
0002 # SPDX-FileCopyrightText: 2008-2022 Thomas Fischer <fischer@unix-ag.uni-kl.de>
0003 # SPDX-FileContributor: 2017 Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
0004 
0005 # "Unity build" found at
0006 # https://cheind.wordpress.com/2009/12/10/reducing-compilation-time-unity-builds/
0007 function(enable_unity_build UB_SUFFIX SOURCE_VARIABLE_NAME)
0008     set(files ${${SOURCE_VARIABLE_NAME}})
0009     # Generate a unique filename for the unity build translation unit
0010     set(unit_build_file ${CMAKE_CURRENT_BINARY_DIR}/ub_${UB_SUFFIX}.cpp)
0011     # Exclude all translation units from compilation
0012     set_source_files_properties(${files} PROPERTIES HEADER_FILE_ONLY true)
0013     # Open the ub file
0014     file(WRITE ${unit_build_file} "// Unity Build generated by CMake\n")
0015     # Add include statement for each translation unit
0016     foreach(source_file ${files})
0017         file(APPEND ${unit_build_file} "#include <${source_file}>\n")
0018     endforeach(source_file)
0019     # Complement list of translation units with the name of ub
0020     set(${SOURCE_VARIABLE_NAME} ${${SOURCE_VARIABLE_NAME}} ${unit_build_file} PARENT_SCOPE)
0021 endfunction(enable_unity_build)
0022 
0023 
0024 # Creates kbibtex-git-info.h containing information about the source code's Git revision
0025 # (if source directory is a Git clone)
0026 add_custom_command(
0027     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kbibtex-git-info.h
0028     COMMAND
0029     ${CMAKE_COMMAND}
0030     -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
0031     -DBINARY_DIR=${CMAKE_BINARY_DIR}
0032     -P
0033     ${CMAKE_CURRENT_SOURCE_DIR}/getgit.cmake
0034     COMMENT "Determine Git revision in case this source code is a Git checkout"
0035 )
0036 set_source_files_properties(
0037     ${CMAKE_CURRENT_BINARY_DIR}/kbibtex-git-info.h
0038     PROPERTIES
0039     GENERATED 1
0040     HEADER_FILE_ONLY 1
0041     SKIP_AUTOMOC ON
0042     SKIP_AUTOUIC ON
0043     SKIP_AUTOGEN ON
0044 )
0045 add_custom_target(generate-kbibtex-git-info
0046     DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/kbibtex-git-info.h
0047 )
0048 
0049 
0050 add_subdirectory(global)
0051 add_subdirectory(config)
0052 add_subdirectory(data)
0053 add_subdirectory(io)
0054 if(BUILD_KPART OR BUILD_APP_COMMAND_LINE OR BUILD_TESTING)
0055     add_subdirectory(processing)
0056 endif()
0057 if(BUILD_KPART OR BUILD_TESTING)
0058     add_subdirectory(networking)
0059     add_subdirectory(gui)
0060 endif()
0061 if(BUILD_APP_DESKTOP OR BUILD_APP_COMMAND_LINE)
0062     add_subdirectory(program)
0063 endif()
0064 if(BUILD_KPART)
0065     add_subdirectory(parts)
0066 endif()
0067 if(BUILD_TESTING)
0068     add_subdirectory(test)
0069 endif()