diff --git a/phlex/app/CMakeLists.txt b/phlex/app/CMakeLists.txt index de5e65804..b812aef95 100644 --- a/phlex/app/CMakeLists.txt +++ b/phlex/app/CMakeLists.txt @@ -1,7 +1,11 @@ configure_file(version.cpp.in version.cpp @ONLY) + +add_library(version_obj OBJECT version.cpp) + # version.cpp is generated into the build directory; clang-tidy cannot find # .clang-tidy by walking the build-dir path, so disable linting for this file. -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/version.cpp PROPERTIES CXX_CLANG_TIDY "") +set_target_properties(version_obj PROPERTIES CXX_CLANG_TIDY "" POSITION_INDEPENDENT_CODE TRUE) +target_include_directories(version_obj PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/include) cet_make_library( LIBRARY_NAME @@ -10,7 +14,6 @@ cet_make_library( SOURCE load_module.cpp run.cpp - version.cpp LIBRARIES PUBLIC # FIXME: We probably also need to add (and/or replace with) the future library @@ -18,6 +21,8 @@ cet_make_library( phlex::core Boost::json Boost::boost + PRIVATE + version_obj ) install(FILES load_module.hpp run.hpp version.hpp DESTINATION include/phlex/app) diff --git a/test/form/data_products/CMakeLists.txt b/test/form/data_products/CMakeLists.txt index d026c745a..ad638b8d2 100644 --- a/test/form/data_products/CMakeLists.txt +++ b/test/form/data_products/CMakeLists.txt @@ -1,5 +1,8 @@ set(FORM_DATA_PROD_LIB_NAME "form_test_data_products") -add_library(${FORM_DATA_PROD_LIB_NAME} SHARED track_start.cpp) +add_library(track_start_obj OBJECT track_start.cpp) +set_target_properties(track_start_obj PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_include_directories(track_start_obj PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/include) +add_library(${FORM_DATA_PROD_LIB_NAME} SHARED $) set_target_properties( ${FORM_DATA_PROD_LIB_NAME} @@ -13,6 +16,7 @@ if(FORM_USE_ROOT_STORAGE) ${FORM_DATA_PROD_LIB_NAME} dict.h SELECTION classes_def.xml ) target_link_libraries(${FORM_DATA_PROD_LIB_NAME} PRIVATE ROOT::RIO) + set_target_properties(${FORM_DATA_PROD_LIB_NAME} PROPERTIES CXX_CLANG_TIDY "") add_subdirectory(extra_member) endif() diff --git a/test/form/data_products/extra_member/CMakeLists.txt b/test/form/data_products/extra_member/CMakeLists.txt index b422a196f..e686494c5 100644 --- a/test/form/data_products/extra_member/CMakeLists.txt +++ b/test/form/data_products/extra_member/CMakeLists.txt @@ -1,5 +1,11 @@ set(FORM_EXTRA_DATA_PROD_LIB_NAME "form_test_data_products_schema_evolution") -add_library(${FORM_EXTRA_DATA_PROD_LIB_NAME} SHARED track_start.cpp) +add_library(em_track_start_obj OBJECT track_start.cpp) +set_target_properties(em_track_start_obj PROPERTIES POSITION_INDEPENDENT_CODE ON) +target_include_directories( + em_track_start_obj + PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/include +) +add_library(${FORM_EXTRA_DATA_PROD_LIB_NAME} SHARED $) if(FORM_USE_ROOT_STORAGE) find_package(ROOT REQUIRED COMPONENTS RIO) @@ -8,4 +14,5 @@ if(FORM_USE_ROOT_STORAGE) ${FORM_EXTRA_DATA_PROD_LIB_NAME} dict.h SELECTION classes_def.xml ) target_link_libraries(${FORM_EXTRA_DATA_PROD_LIB_NAME} PRIVATE ROOT::RIO) + set_target_properties(${FORM_EXTRA_DATA_PROD_LIB_NAME} PROPERTIES CXX_CLANG_TIDY "") endif()