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()