diff --git a/GaudiKernel/CMakeLists.txt b/GaudiKernel/CMakeLists.txt index 5b23098a60c73c11a369807665d17e9d6ce3ea43..150e6627a587c38b8ffbe8376616963b9c9386ec 100644 --- a/GaudiKernel/CMakeLists.txt +++ b/GaudiKernel/CMakeLists.txt @@ -179,7 +179,12 @@ elseif(UNIX) src/Lib/Platform/SystemLinux.cpp) target_link_libraries(GaudiKernel PUBLIC ${rt_LIBRARY}) endif() - +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + target_include_directories(GaudiKernel + PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include-x86_64> # for RtdscClock.h + ) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include-x86_64/Gaudi TYPE INCLUDE) +endif() # Genconf gaudi_add_executable(genconf SOURCES src/Util/genconf.cpp diff --git a/GaudiKernel/include/Gaudi/Timers/RdtscClock.h b/GaudiKernel/include-x86_64/Gaudi/Timers/RdtscClock.h similarity index 96% rename from GaudiKernel/include/Gaudi/Timers/RdtscClock.h rename to GaudiKernel/include-x86_64/Gaudi/Timers/RdtscClock.h index 2b65bae2cf4c6988dce71eb0711e0fa6a61950bd..0aff207ce06451f2b604ecf742d197bb5d8d963b 100644 --- a/GaudiKernel/include/Gaudi/Timers/RdtscClock.h +++ b/GaudiKernel/include-x86_64/Gaudi/Timers/RdtscClock.h @@ -12,13 +12,13 @@ #ifndef __x86_64__ # error "<Gaudi/Timers/RdtscClock.h> is only supported on x86" -#endif // not __x86_64__ +#else // not __x86_64__ -#include <chrono> -#include <functional> -#include <ratio> -#include <thread> -#include <x86intrin.h> +# include <chrono> +# include <functional> +# include <ratio> +# include <thread> +# include <x86intrin.h> namespace Gaudi { namespace Timers { @@ -81,3 +81,4 @@ namespace Gaudi { }; } // namespace Timers } // namespace Gaudi +#endif diff --git a/cmake/GaudiToolbox.cmake b/cmake/GaudiToolbox.cmake index 72380e425c29ccfa323e319b919fe67443b66cea..bda0dfaf2f3715bb186cfd5fa87afb1aabb9d95c 100644 --- a/cmake/GaudiToolbox.cmake +++ b/cmake/GaudiToolbox.cmake @@ -1362,7 +1362,7 @@ endfunction() gaudi_generate_version_header_file([name]) - This function generates a file ``${name}Version.h`` in ``${CMAKE_CURRENT_BINARY_DIR}/include`` + This function generates a file ``${name}Version.h`` in ``${CMAKE_BINARY_DIR}/include`` with the following content (``${NAME}`` is ``${name}`` uppercased): .. code-block:: cpp @@ -1394,12 +1394,12 @@ function(gaudi_generate_version_header_file) if(NOT ARGV0) string(TOUPPER ${PROJECT_NAME} NAME) set(output_file_name ${NAME}_VERSION.h) - install(FILES ${CMAKE_BINARY_DIR}/include/${output_file_name} TYPE INCLUDE) else() set(name ${ARGV0}) string(TOUPPER ${name} NAME) set(output_file_name ${name}Version.h) endif() + install(FILES ${CMAKE_BINARY_DIR}/include/${output_file_name} TYPE INCLUDE) # No patch number => set to 0 if(NOT PROJECT_VERSION_PATCH) set(PROJECT_VERSION_PATCH 0) diff --git a/cmake/tests/dummyGaudiDownstreamProject/CMakeLists.txt b/cmake/tests/dummyGaudiDownstreamProject/CMakeLists.txt index 4c848137e087811e86328d19012278b2bc9fb82d..0030d59bc2211ad2756b7bb9dfd13212453a872f 100644 --- a/cmake/tests/dummyGaudiDownstreamProject/CMakeLists.txt +++ b/cmake/tests/dummyGaudiDownstreamProject/CMakeLists.txt @@ -27,7 +27,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) gaudi_add_executable(mainexe SOURCES src/main.cpp LINK Gaudi::GaudiPluginService) gaudi_generate_version_header_file() # generate DUMMYGAUDIDOWNSTREAMPROJECT_VERSION.h gaudi_generate_version_header_file(Main) # generate MainVersion.h -target_include_directories(mainexe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include) +target_include_directories(mainexe PRIVATE ${CMAKE_BINARY_DIR}/include) ###################### Simple unit tests beyond this line ######################