Fix dictionary compilation
This removes the hack to compile the root dictionaries It also sets ninja -k0 to compile as much as possible, and maybe see more than one error, or exclude the cause of errors.
This MR addresses #179 (closed)
It is not the dictionary creation, it is the compilation of the dictionary, which is done by hand.
# WARNING This hack is necessary to prevent standard warnings and those in clang-tidy for use in the CI
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/AllpixObjectsDictionary.cxx.o COMMAND ${CMAKE_CXX_COMPILER} -fPIC -std=c++${CMAKE_CXX_STANDARD} -I${CMAKE_SOURCE_DIR}/src ${INCLUDE_DIR_ARGS} -o ${CMAKE_CURRENT_BINARY_DIR}/AllpixObjectsDictionary.cxx.o -c ${CMAKE_CURRENT_BINARY_DIR}/AllpixObjectsDictionary.cxx DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/AllpixObjectsDictionary.cxx)
Might be better to assign cxx flags to that source file to prevent the warnings. https://cmake.org/cmake/help/v3.3/prop_sf/COMPILE_FLAGS.html
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/AllpixObjectsDictionary.cxx
PROPERTIES
GENERATED TRUE
COMPILE_FLAGS "-w" # or whatever ?
)
And just use the .cxx file in the library. I am going to assume that somehow finds the include paths for <stdio.h> (run ninja -k0 ...)
Though, I haven't yet looked at which role clang-tidy plays for this file, why would one run anything on a generated file in the first place?