From f43a04d3b27fc48d1d2c8d6b0849180e86b157ad Mon Sep 17 00:00:00 2001 From: "Zdunowski, Piotr" Date: Fri, 16 Feb 2018 18:44:37 +0100 Subject: [PATCH] Allow custom props settings. Change-Id: Idd442f429e8f413cde67781995e0c1b1c010bcee --- CMakeLists.txt | 10 ++++++++++ elf/CMakeLists.txt | 2 +- offline_compiler/CMakeLists.txt | 1 + runtime/CMakeLists.txt | 3 +++ runtime/built_ins/builtins_binary.cmake | 1 + runtime/built_ins/registry/CMakeLists.txt | 1 + runtime/builtin_kernels_simulation/CMakeLists.txt | 2 ++ runtime/scheduler/scheduler_binary.cmake | 1 + runtime/sharings/CMakeLists.txt | 2 ++ unit_tests/CMakeLists.txt | 1 + unit_tests/aub_tests/CMakeLists.txt | 1 + unit_tests/elflib/CMakeLists.txt | 3 ++- unit_tests/libult/CMakeLists.txt | 2 ++ unit_tests/mock_gdi/CMakeLists.txt | 1 + unit_tests/mt_tests/CMakeLists.txt | 1 + unit_tests/offline_compiler/CMakeLists.txt | 1 + unit_tests/tbx/CMakeLists.txt | 1 + unit_tests/test_dynamic_lib/CMakeLists.txt | 2 ++ 18 files changed, 34 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f1e5a83592..af84c16459 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,12 @@ endif() set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) +macro(set_vs_props TARGET_NAME) + if(MSVC AND VS_PROPS) + set_target_properties(${TARGET_NAME} PROPERTIES VS_PRE_DEFAULT_PROPS ${VS_PROPS}) + endif() +endmacro(set_vs_props) + # We want to build with the static, multithreaded runtime libraries (as opposed # to the multithreaded runtime DLLs) if(MSVC) @@ -91,6 +97,10 @@ set(GMOCK_INCLUDE_DIR "${GMOCK_SRC_DIR}/include") message(STATUS "Google Test source dir: ${GTEST_SRC_DIR}") message(STATUS "Google Mock source dir: ${GMOCK_SRC_DIR}") add_subdirectory(${GMOCK_SRC_DIR} ${IGDRCL_BINARY_DIR}/gmock) +set_vs_props(gtest) +set_vs_props(gmock) +set_vs_props(gtest_main) +set_vs_props(gmock_main) set_target_properties(gtest PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) set_target_properties(gmock PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) diff --git a/elf/CMakeLists.txt b/elf/CMakeLists.txt index 15f0686823..00dfa3d5e8 100644 --- a/elf/CMakeLists.txt +++ b/elf/CMakeLists.txt @@ -33,6 +33,6 @@ add_library(elflib STATIC target_include_directories(elflib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(elflib PRIVATE ${IGDRCL_SOURCE_DIR}) +set_vs_props(elflib) set_target_properties(elflib PROPERTIES FOLDER "elflib") - set_target_properties(elflib PROPERTIES POSITION_INDEPENDENT_CODE ON) diff --git a/offline_compiler/CMakeLists.txt b/offline_compiler/CMakeLists.txt index d30d63faaf..8c9f76ee74 100644 --- a/offline_compiler/CMakeLists.txt +++ b/offline_compiler/CMakeLists.txt @@ -113,6 +113,7 @@ endif(UNIX) target_link_libraries(cloc elflib) source_group("source files" FILES ${CLOC_SRCS}) +set_vs_props(cloc) set_target_properties(cloc PROPERTIES FOLDER "offline_compiler") set_property(TARGET cloc APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS}) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 0b62950631..67f5f6dc89 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -331,6 +331,7 @@ set_target_properties(${NEO_STATIC_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_COD set_property(TARGET ${NEO_STATIC_LIB_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS} ${TSAN_FLAGS}) +set_vs_props(${NEO_STATIC_LIB_NAME}) set_target_properties(${NEO_STATIC_LIB_NAME} PROPERTIES FOLDER "opencl runtime") target_include_directories(${NEO_STATIC_LIB_NAME} BEFORE PRIVATE ${HW_SRC_INCLUDE_PATH}) @@ -385,6 +386,8 @@ if(${GENERATE_EXECUTABLE}) ${HW_SRC_INCLUDE_PATH} ) + set_vs_props(${NEO_DYNAMIC_LIB_NAME}) + target_link_libraries(${NEO_DYNAMIC_LIB_NAME} ${NEO_STATIC_LIB_NAME}) if(HAVE_INSTRUMENTATION) diff --git a/runtime/built_ins/builtins_binary.cmake b/runtime/built_ins/builtins_binary.cmake index b2a36b111f..3401d3ea6c 100644 --- a/runtime/built_ins/builtins_binary.cmake +++ b/runtime/built_ins/builtins_binary.cmake @@ -63,6 +63,7 @@ if(COMPILE_BUILT_INS) set_source_files_properties(${GENERATED_BUILTINS_CPPS} PROPERTIES GENERATED TRUE) endif(COMPILE_BUILT_INS) +set_vs_props(${BUILTINS_BINARIES_LIB_NAME}) set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(${BUILTINS_BINARIES_LIB_NAME} PROPERTIES FOLDER "built_ins") diff --git a/runtime/built_ins/registry/CMakeLists.txt b/runtime/built_ins/registry/CMakeLists.txt index 807f1834aa..566532ab54 100644 --- a/runtime/built_ins/registry/CMakeLists.txt +++ b/runtime/built_ins/registry/CMakeLists.txt @@ -24,6 +24,7 @@ add_library(${BUILTINS_SOURCES_LIB_NAME} OBJECT register_ext_vme_source.cpp ) +set_vs_props(${BUILTINS_SOURCES_LIB_NAME}) set_target_properties(${BUILTINS_SOURCES_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(${BUILTINS_SOURCES_LIB_NAME} PROPERTIES FOLDER "built_ins") diff --git a/runtime/builtin_kernels_simulation/CMakeLists.txt b/runtime/builtin_kernels_simulation/CMakeLists.txt index cdcea5d003..b412aaa4a2 100644 --- a/runtime/builtin_kernels_simulation/CMakeLists.txt +++ b/runtime/builtin_kernels_simulation/CMakeLists.txt @@ -68,5 +68,7 @@ target_include_directories(${BIKSIM_LIB_NAME} PRIVATE ${IGDRCL__IGC_INCLUDE_DIR} ${THIRD_PARTY_DIR} ) + +set_vs_props(${BIKSIM_LIB_NAME}) set_target_properties(${BIKSIM_LIB_NAME} PROPERTIES FOLDER "built_ins") target_compile_definitions(${BIKSIM_LIB_NAME} PUBLIC ${SUPPORTED_GEN_FLAGS_DEFINITONS} ${DEFAULT_GEN_PLATFORMS_DEFITIONS}) diff --git a/runtime/scheduler/scheduler_binary.cmake b/runtime/scheduler/scheduler_binary.cmake index 0af8efeafd..7b3b0380fc 100644 --- a/runtime/scheduler/scheduler_binary.cmake +++ b/runtime/scheduler/scheduler_binary.cmake @@ -93,6 +93,7 @@ if(COMPILE_BUILT_INS) set_source_files_properties(${GENERATED_SCHEDULER_CPPS} PROPERTIES GENERATED TRUE) endif(COMPILE_BUILT_INS) +set_vs_props(${SCHEDULER_BINARY_LIB_NAME}) set_target_properties(${SCHEDULER_BINARY_LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(${SCHEDULER_BINARY_LIB_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(${SCHEDULER_BINARY_LIB_NAME} PROPERTIES FOLDER "scheduler") diff --git a/runtime/sharings/CMakeLists.txt b/runtime/sharings/CMakeLists.txt index 1c97d54b9e..e904b78496 100644 --- a/runtime/sharings/CMakeLists.txt +++ b/runtime/sharings/CMakeLists.txt @@ -45,6 +45,8 @@ else() target_include_directories(${SHARINGS_ENABLE_LIB_NAME} PUBLIC ${IGDRCL_SOURCE_DIR}/runtime/os_interface/linux) endif() +set_vs_props(${SHARINGS_ENABLE_LIB_NAME}) + add_subdirectory(d3d) add_subdirectory(va) diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index d849908b4c..94466fed36 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -370,6 +370,7 @@ source_group("source files\\utilities" FILES ${IGDRCL_SRCS_tests_utilities}) if(MSVC) source_group("source files\\d3d_sharing" FILES ${IGDRCL_SRCS_tests_d3d_sharing}) endif() +set_vs_props(igdrcl_tests) set_target_properties(igdrcl_tests PROPERTIES FOLDER "opencl runtime") set_property(TARGET igdrcl_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) if(NOT MSVC) diff --git a/unit_tests/aub_tests/CMakeLists.txt b/unit_tests/aub_tests/CMakeLists.txt index 55f8c799f5..b6d2783327 100644 --- a/unit_tests/aub_tests/CMakeLists.txt +++ b/unit_tests/aub_tests/CMakeLists.txt @@ -33,6 +33,7 @@ add_executable(igdrcl_aub_tests $ ) +set_vs_props(igdrcl_aub_tests) set_target_properties(igdrcl_aub_tests PROPERTIES FOLDER "opencl runtime") add_custom_target(run_aub_tests) diff --git a/unit_tests/elflib/CMakeLists.txt b/unit_tests/elflib/CMakeLists.txt index 8677f4bdc2..eb58665f44 100644 --- a/unit_tests/elflib/CMakeLists.txt +++ b/unit_tests/elflib/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2017, Intel Corporation +# Copyright (c) 2017 - 2018, Intel Corporation # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), @@ -53,6 +53,7 @@ add_custom_command( add_dependencies(run_unit_tests run_elflib_tests) # The following filters are added to the VS IDE representation +set_vs_props(elflib_tests) set_target_properties(elflib_tests PROPERTIES FOLDER "elflib") set_target_properties(run_elflib_tests PROPERTIES FOLDER "elflib") source_group("source files" FILES ${CLELFLIB_UNIT_TESTS_SRCS}) diff --git a/unit_tests/libult/CMakeLists.txt b/unit_tests/libult/CMakeLists.txt index a2240d8cbc..4a65d4b11c 100644 --- a/unit_tests/libult/CMakeLists.txt +++ b/unit_tests/libult/CMakeLists.txt @@ -98,6 +98,8 @@ target_include_directories(igdrcl_libult_cs BEFORE PRIVATE ${HW_SRC_INCLUDE_PATH # target_include_directories(igdrcl_libult PRIVATE $) # endif() +set_vs_props(igdrcl_libult) +set_vs_props(igdrcl_libult_cs) set_target_properties (igdrcl_libult PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties (igdrcl_libult_cs PROPERTIES POSITION_INDEPENDENT_CODE ON) target_compile_definitions(igdrcl_libult PUBLIC ${IGDRCL_LIB_FLAGS_DEFINITIONS} ${TESTED_GEN_FLAGS_DEFINITONS}) diff --git a/unit_tests/mock_gdi/CMakeLists.txt b/unit_tests/mock_gdi/CMakeLists.txt index 4acd784ba7..02b8ce7ee1 100644 --- a/unit_tests/mock_gdi/CMakeLists.txt +++ b/unit_tests/mock_gdi/CMakeLists.txt @@ -49,6 +49,7 @@ target_include_directories(mock_gdi PRIVATE ${KHRONOS_HEADERS_DIR} ) +set_vs_props(mock_gdi) set_target_properties( mock_gdi PROPERTIES DEBUG_OUTPUT_NAME "gdi32_mock" diff --git a/unit_tests/mt_tests/CMakeLists.txt b/unit_tests/mt_tests/CMakeLists.txt index 99603d1b5f..cf77e5b3b5 100644 --- a/unit_tests/mt_tests/CMakeLists.txt +++ b/unit_tests/mt_tests/CMakeLists.txt @@ -149,6 +149,7 @@ source_group("source files\\os_interface" FILES ${IGDRCL_SRCS_mt_tests_os_interf source_group("source files\\platform" FILES ${IGDRCL_SRCS_mt_tests_platform}) source_group("source files\\utilities" FILES ${IGDRCL_SRCS_mt_tests_utilities}) +set_vs_props(igdrcl_mt_tests) set_target_properties(igdrcl_mt_tests PROPERTIES FOLDER "opencl runtime") set_property(TARGET igdrcl_mt_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${TSAN_FLAGS}) if(NOT MSVC) diff --git a/unit_tests/offline_compiler/CMakeLists.txt b/unit_tests/offline_compiler/CMakeLists.txt index 8f75211cf0..c9a1127212 100644 --- a/unit_tests/offline_compiler/CMakeLists.txt +++ b/unit_tests/offline_compiler/CMakeLists.txt @@ -99,6 +99,7 @@ source_group("source files" FILES ${IGDRCL_SRCS_offline_compiler_tests}) source_group("source files\\windows" FILES ${IGDRCL_SRCS_offline_compiler_tests_windows}) source_group("source files\\mock" FILES ${IGDRCL_SRCS_offline_compiler_mock}) +set_vs_props(cloc_tests) set_target_properties(cloc_tests PROPERTIES FOLDER "offline_compiler") set_property(TARGET cloc_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) diff --git a/unit_tests/tbx/CMakeLists.txt b/unit_tests/tbx/CMakeLists.txt index 11e1272b32..12435e4ed5 100644 --- a/unit_tests/tbx/CMakeLists.txt +++ b/unit_tests/tbx/CMakeLists.txt @@ -69,5 +69,6 @@ add_custom_command( ) add_dependencies(run_unit_tests run_tbx_tests) +set_vs_props(igdrcl_tbx_tests) set_target_properties(igdrcl_tbx_tests PROPERTIES FOLDER "opencl runtime") set_target_properties(run_tbx_tests PROPERTIES FOLDER "opencl runtime") diff --git a/unit_tests/test_dynamic_lib/CMakeLists.txt b/unit_tests/test_dynamic_lib/CMakeLists.txt index 4159873566..45f51ca318 100644 --- a/unit_tests/test_dynamic_lib/CMakeLists.txt +++ b/unit_tests/test_dynamic_lib/CMakeLists.txt @@ -30,6 +30,8 @@ endif(WIN32) add_library(test_dynamic_lib SHARED test_dynamic_lib_${OS_SUFFIX}.cpp) + +set_vs_props(test_dynamic_lib) set_target_properties(test_dynamic_lib PROPERTIES FOLDER "test mocks") set_property(TARGET test_dynamic_lib APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS})